[Zope3-dev] Package is the wrong name for the things I called "Zope Packages".

Shane Hathaway shane@zope.com
Mon, 20 Jan 2003 13:00:16 -0500


Jim Fulton wrote:
> - Zope Packages
> 
>   These are objects (currently) contained in a "Packages" container 
> object in
>   service managers. These are used to contain bits and registratiuon 
> information.
>   They do not provide much in the way of namespaces.
> 
>   Zope packages are used for three things:
> 
>   A. Provide a workspace for local configuration.
> 
>   B. Provide a mechanism for creating software distributions.
> 
>   C. Provide a mechanism for installing software distributions.
> 
>   Note that it will not be uncommon to create a zope package as a local
>   configuration workspace and decide you want to give it to somebody.  
> As a result,
>   I think that the same name and object should be used for first two 
> uses, A and B,
>   above.  Maybe the third, C, use deserves a different name and kind of 
> object.
> 
>   I'll also note that the is a strong correspondence between these things
>   and folders in content space.
> 
> So where does that leave us?
> 
> I'm pretty sure that the things currently called Zope packages should be
> called something else.
> 
> I suspect that the things currently called "closed Zope packages" (use C)
> should have an entirely different name from the things currently called
> "open zope packages" (uses A and B). I'm inclined to think that the name
> for uses A and B should involve the word "folder", although I haven't 
> thought
> of great modifiers.

Let me see if I have this straight.  Developers first create an "A", 
then make a "B" to release the software.  When users install the 
software, they get a "C".  Most people stop here, but savvy users should 
then be able to switch their "C" into an "A" to make changes for 
submission back to the original developer.

Like I suggested to ChrisW, Mac OS X already uses the name "bundle" for 
packaging.  A bundle is a directory on the filesystem that looks to the 
user like an executable application.  It actually contains executables, 
libraries, resources, and configuration.  It is very much like a closed 
Zope package, except for the fact that you don't "execute" a Zope 
package.  (Hmm, actually, it might be a neat concept to execute Zope 
packages.  That's a different discussion, though.)

Shane