Note that Jim often brings up his opinion that the /only/ way to guarantee Zope Z.Y.Z works on Python X.Y.Z is to distribute Python with Zope.
But I don't think that's what we do any more. We just tell them to use 2.1.2.
(This harkens back to JWZ's much earlier opinion that Netscape could never ship using dynamic libraries, because you really can't trust anything about the end user's system). We're really touching on much deeper flaws in software development, with no good answers, IMO.
I've started to call it the Logajan paradox: he wants his cake (zero backwards incompatibilities) and eat it too (releases with new features). It can't be done.
--Guido van Rossum (home page: http://www.python.org/~guido/)