[Zope-dev] the Zope Framework project
Martin Aspeli
optilude+lists at gmail.com
Mon Mar 2 21:52:17 EST 2009
Tres Seaver wrote:
> It is a nightmare, but not one which a KGS can really fix: sometimes
> your project needs its *own* KGS. Honestly, the only safe thing for
> anybody trying to support a large application in production is to run
> their own index, and do the gatekeeping of packages into it themselves.
This is true, but not everyone is supporting large packages in
production. People need a place to start, if nothing else, and when it
comes time to doing a migration project (!), then you need some other
known good set to work "backwards" from.
> For instance:
>
> - - How many projects are there (community efforts, as well as individual
> sites / applications) need updates to some of the packages
> traditionally part of a Zope3 release? I would bet that there are
> lots of such projects.
Sure. Having individual eggs is a blessing here.
> - - How many projects are there which are going to need a "Zope 3.5"
> release (as opposed to updates to some of the packages traditionally
> part of Zope3)? I would bet that this set is smaller than the first.
> For instance, I know that Zope 2.12 *says* it will rely on 3.5, but I
> don't know what that means, actually. Grok already maintains the
> moral equivalent of its own KGS, right?
Certainly, people who start out and want to know which packages work
together. Without something like this, managing dependencies becomes
very hard. If setuptools is left to pull in whatever it wants, you will
probably end up with breakage, unfortunately.
> - - How many need *all* of Zope3, including the ZMI? I'm betting that
> set is much smaller than either of the others?
Probably none. So having better dependencies would obviously be good. I
think you still need a KGS of sorts, but you don't need to depend on
*all* of it. :)
> - - Of the first set, what is the likelihood that different projects
> will have conflicting goals about the direction of one or more
> packages?
>
> Given the likelihood that a monolithic Zope 3.5 release is not
> interesting to lots of the folks who both develop and consume its
> packages, how much coordination is going to be possible (or even useful)
> around the idea of another release?
Maybe we could identify some "vectors" down the dependency graph that we
*do* care about. If we analysed our projects (Plone, and a bunch of
add-on products, for instance), we could probably manage to maintain
KGS' that say "if you want the container interfaces, these packages are
known to work together".
> Maybe we need to create something more like self-organizing
> mini-communities around the various packages (or maybe sets).
Heh... right. ;-)
> E.g., I
> would bet that almost everyone active on this list has a stake in
> zope.interface, zope.component, and their dependencies. Note that *two*
> of the remaining dependencies (zope.deferredimport, zope.deprecation)
> are only there to deal with BBB isssues: maybe they should go?
Why? They're tiny, and BBB is good. No piece of framework code can be
taken seriously if it pretends that people are not going to need
backwards compatibility.
> Another, zope.proxy, is a blocker for using the packages on non-CPython
> platforms: should it go? If we consider those packages *in isolation*,
> as things potentially useful outside any larger framework, the answers
> to those questions might be different.
True.
> I'm not so sure that any other package is going to be as widely
> interesting.
I can think of a few: the container stuff, browser views and pages, page
template files, for example.
> I also think that having the *whole* Zope community do
> oversight oversee on the rest is less useful than having the folks with
> "skin in the game" for a particular package steer it. I am unlikely to
> care much about anything in the Z3 ZMI, for instance, or about a number
> of other packages in our various namespaces: I could do my job better,
> *and* keep from interfering in others' interests (e.g., the "stop
> energy" Chris mentioned), if we separated out the various areas of concerns.
True. However, someone still needs to think about whether these things
are pulling in the same direction, or becoming incompatible with one
another.
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
More information about the Zope-Dev
mailing list