Hash: SHA1

Hanno Schlichting wrote:
> Hi.
> I'd like to get feedback on an idea I had recently.
> Problem
> Zope2 currently includes large parts of Zope 3. Not all of the zope.*
> and zope.app.* packages are maintained or are in use.
> Still Zope 2 includes large amounts of them and thus implicitly
> advertises them to be used. In addition they blow up the installed code
> size and add a long term maintenance burden.
> The move to gain Python 2.6 compatibility has shown some of this and I
> expect to see more work in moving to Python 3 at a later stage.
> Assumption
> Zope 2.12 will most probably see two kind of distributions.
> One is a Zope2 egg, consisting of one large Zope2 egg which pulls in
> everything that has been eggified on their own as dependencies. This
> includes the ZODB and all zope.* and zope.app.* packages.
> The second distribution is a tradtional tarball, which exactly matches
> the current distribution format.
> Proposal
> I'd like to change the egg distribution alone and introduce one
> setuptools extra to it. The old tarball distribution would stay the same.
> The standard Zope2 egg install would only include those zope.* and
> zope.app.* packages which it actually requires.
> The extra would be called 'zope_app' and pull in all zope.* and
> zope.app.* packages which we did include so far, but are not actually
> required to run Zope 2.
> For example:
> extras_require = dict(
>     zope_app = [
>         'zope.app.rotterdam',
>         'zope.app.<...>',
>         ],
>     ),
> Rational
> Any package that does require any of the zope.* or zope.app.* packages
> can define those as an explicit dependency itself. The zope_app extra
> makes the transition phase easier, in which packages do not yet declare
> all their dependencies. In the long run, the extra can be dropped entirely.
> This proposal makes it possible to get a smaller, well-defined Zope2
> egg. The first egg release of Zope2 gives us an opportunity to do this
> move without breaking backwards compatibility.
> While Zope 2 has included large parts of Zope 3, it never exactly
> included all of it. As Zope 3 is not likely to see an ongoing monolithic
> release, I don't see a reason for Zope 2 to include Zope 3 in the
> monolithic fashion we do so far.
> Implementation
> This is not yet implemented but should be quite easy. Figuring out the
> exact packages which are required by Zope 2 is to be done.

+1 to releasing a Zope 2.12 egg with "minimal" / "correct" dependencies.
   Perhaps the following script would help to identify them:


- --
Tres Seaver          +1 540-429-0999          [EMAIL PROTECTED]
Palladion Software   "Excellence by Design"    http://palladion.com
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to