Forward compatibility is a myth, it doesn't exist.
I would tend to agree. However, the degree of compatability and the time
spans in questions are under the development team's control. It may, at
some point, become more important to ensure continuity than to perfect
things. Extreme example: In Plone the core Plone product is called
CMFPlone. It pisses Alexander off. Should we rename it 'Plone' and thus
break every product that ever imported from CMFPlone? Should we make a
jungle of aliases and deprecation warnings? Or should we live with our
mistakes? In this case, the benefit is marginal and the potential
confusion and breakage is high. That trade-off point moves with time,
though, as the more major parts of the framework become "right" and as the
user base increases. However, that same user base will not increase beyond
those who are so well-informed that they know what they're getting
themselves into, if the software gets a reputation for breaking your code.
I guess the question is, how far along that curve is Zope 3? How far along
does it want to be?
Zope3-dev mailing list