[Zope-dev] Proposal: Make Zope2 smaller

2008-10-26 Thread Hanno Schlichting
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.

Questions / Comments / Feedback

Are more than welcome.

Hanno

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


Re: [Zope-dev] Proposal: Make Zope2 smaller

2008-10-26 Thread Andreas Jung

On 26.10.2008 16:37 Uhr, Hanno Schlichting wrote:



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.




General +1 on getting rid of the dependencies which are actually no 
dependencies. However I have the feeling that there possibly only a 
small number of packages that are really have no dependency to Zope 2.


Andreas
begin:vcard
fn:Andreas Jung
n:Jung;Andreas
org:ZOPYX Ltd.  Co. KG
adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany
email;internet:[EMAIL PROTECTED]
title:CEO
tel;work:+49-7071-793376
tel;fax:+49-7071-7936840
tel;home:+49-7071-793257
x-mozilla-html:FALSE
url:www.zopyx.com
version:2.1
end:vcard

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


Re: [Zope-dev] Proposal: Make Zope2 smaller

2008-10-26 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
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:

 http://www.tarind.com/py2depgraph.py



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

iD8DBQFJBK9s+gerLs4ltQ4RApXCAJ0XxxlGM6kqPiepsDySVXBA4C4NnQCeI53v
qJcn001PPGZjJ1YlhUUMT0U=
=UprJ
-END PGP SIGNATURE-

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


Re: [Zope-dev] Proposal: Make Zope2 smaller

2008-10-26 Thread Jens Vagelpohl
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Oct 26, 2008, at 16:37 , Hanno Schlichting wrote:

 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.

+1

jens



-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAkkE0w0ACgkQRAx5nvEhZLLYtACgh7Z7kcNqwlpV8nrAZDYOjeAr
aswAniNTbZeVm2me0RTRxTZVct27YsQQ
=5j9f
-END PGP SIGNATURE-
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )