[Zope3-dev] Re: what dependency to use for "zope 3"

Martin Aspeli optilude at gmx.net
Fri May 11 18:59:37 EDT 2007


Brian Sutherland wrote:

> It's just going to get very difficult very quickly to manage such a meta
> egg with over 100 or so dependencies. Though I guess there'll be
> automated tools to manage this.

Better we do the difficult part than each and every user does it. In the 
ideal world, there are no version conflicts. In the real world, there 
will be subtle version conflicts that mean that you can't just always 
get the latest release of each egg. Anyone who's used something like 
Gentoo Linux, with frequent and unsynchronized releases of different 
products know what happens when two packages require different version 
of the same library, or some automatically updated package suddenly 
remove the little bit of the API you were depending on.

Put differently, you may know that you need zope.annotation and 
zope.app.content, but I suspect that most people won't quite know where 
to start, and won't quite know what's available to them. If they start 
with some particular dependency and start exploring the dependency 
graph, they'll probably miss something that's either standalone or on a 
completely separate dependency subtree to the one they're on.

> I think another alternative is to separate the releases into different
> "repositories", kinda like "All zope 3.0.0 eggs are at
> http://download.zope.org/distribution/3.0.0/".

Having eggs doesn't absolve us from doing release management. :) We 
still need to take some of the pain of testing and making sure there are 
adequate tests and making sure things work well together. It's part of 
the QA process (which Zope 3 has done immensely well to date, in my 
opinion). If that overall responsibility eventually falls on no-one, 
then I fear we'll lose the great integration power we have in Zope 3 at 
the moment.

Most people just want a "known good" that they can depend on, where they 
know that changes are going to be limited to important bug fixes. They 
don't care if they get ten extra packages, what's a few megabytes of 
disk space.

It's all well and good (great, even) that people can specify their own 
dependency subtrees (I need the annotation and component parts of Zope, 
I don't want the rest), not at least because it gives entirely different 
platforms a better chance of re-using our code, but someone still needs 
to look after the whole. There are too many packages to have independent 
maintainers who each (a) are available to do timely releases (b) don't 
forget to make release after a while and (c) are able to test that the 
code that is supposed to work with other things, continues to work with 
those things.

Martin



More information about the Zope3-dev mailing list