Hey, On 9/25/07, Dieter Maurer <[EMAIL PROTECTED]> wrote: > Martijn Faassen wrote at 2007-9-25 17:22 +0200: > > ... > >Should we then encourage everyone to hardcode version numbers in their > >setup.py's dependencies list? > > I think this goes against building applications from components -- > as it drastically increases the probability of conflicts. > > Components should are week dependancy requirements to be > maximally usable -- not fixed dependancies. > > I think, this holds for frameworks, too, as they are also components.
I understand this point of view, and I appreciate it. But on the other hand, if someone uses a framework, it should continue to work tomorrow. If someone releases a framework, it should remain installable tomorrow. If someone communicates to someone else about framework versions (important in open source software!), they shouldn't have to give a list of 50 version numbers, but just one. We therefore have two different requirements pulling on our system. On the one hand you don't want to lose flexibility, on the other hand if you want to have a community working and reusing chunks of software, you want to be able to rely on stability, and frequently you even want to count on bug for bug compatibility. If you choose to put the dependencies in lightly, you choose for flexibility. If then need to pin versions somewhere else. If you choose to pin strict dependencies right away, you choose for stability. You then need to have a way to override such dependency relationships somewhere else. The advantage of choosing for stability first is that people can install your software without the need to know details about versions. They only need to start thinking about it when they arrive at a reason to explicitly break them. If you choose for flexibility first, people will need to think about versions all the time. Regards, Martijn _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com