While I don't agree with the +1 voters, I understand and appreciate
their arguments. That said...
On Nov 23, 2005, at 6:49 PM, Jens Vagelpohl wrote:
People keep telling Zope2 developers that the inclusion of Zope3
doesn't mean you have to touch it, if you don't use it it is just
inert code that won't cause any change in your Zope2 development
style. Ok, I accept that, no problem at all. But why should this be
any different for Zope3 developers, obviously including Zope2 code
would mean exactly the same thing for them. Come on now.
...this is not true.
Zope 2 depends on Zope 3, via Five. Zope 3 does not depend on Zope 2.
Therefore, making a change in Zope 2 cannot affect functionality in
the slightest, let alone break a test, in Zope 3. The same cannot be
said of the reverse.
Zope 2 devs don't have to touch Zope 3 unless they want to leverage
some cool new feature--in which case they are Zope Five devs,
probably. Zope 3 devs must touch Zope 2, in this new world order,
whether they want to or not, when changes break the stuff that Zope 2
To grant a point to Philipp's argument, it's possible that changes
that break Zope 2 are non-backwards-compatible changes in Zope 3 that
should have been caught. But consider this story: a Zope 3 dev
changes something and deprecates an API. As part of the dev's
responsibility, the checkin also makes all code in Zope 3 use the
replacement API. Now Zope 2 works, but is generating deprecation
warnings whenever the deprecated API is called. Is it the Zope 3
dev's responsibility to change Zope 2 to eliminate the deprecation
warnings? What about in the following release when the old Zope 3
API is eliminated--whose responsibility is it then to fix Zope 2? If
you view Zope 2 as a downstream client of Zope 3, you probably give
one answer; if you view the two projects as a mingled whole, you
probably give another.
The question here is effectively whether all Zope 3 developers must
become Zope 'Five' developers. As you said, Zope 2 developers can
choose to proceed essentially unaffected. Zope 3 devs could not.
Zope3-dev mailing list