What is behind python package namespaces: z3c, zc, collective?
So they all are somehow related to开发者_JAVA技巧 zope. Question is how?
I am not familiar with Zope. I guess that zc, z3c stand for Zope Component
and Zope3 Component
but I want to be sure. Also there is a collective
namespace. What kind of packages goes under it?
What are other well known python package namespaces?
Are there any conventions when package should be namespaced with zc, z3c and others?
Sometimes I see packages starting with zc and I can't rationate why are they namespaced. For example z3c.sqlalchemy
has namespace because it is a wrapper of sqlalchemy
for zope projects. But another example zc.buildout
looks like a completely independent project. Did it got the namespace only because it is developed by people who work on Zope? If I would work on Zope would that mean that I should prefix my projects with zc
even if they are not relevant to any other Zope package?
zc
is "Zope Corporation".z3c
is "Zope 3 community", a namespace that long since has been "deprecated", ie no new packages are made with this namespace.collective
refers to the Plone Collective, a svn repository for Plone packages with a friendly attitude towards contributors. It's been the "default" namespace for new generic Plone packages that are not a part of Plone core for quite some time now.
Also of interest is:
zope
originally used for packages that was a part of Zope 3. Now rarely used for new packages.Products
, used for older Zope2 / Plone packages. A hystorical remnant of the fact that all Zope2 products had to be in a Products directory, since before there was namespace packages.
Stephan Richter and I where prototyping some packages on a zope sprint which didn't really fit into the zope package namespace. This was the time we started using z3c as a package name. This should mean zope 3 community as Lennart says. But the namespace is not deprecated.
Probably the question is more which license commiter agreement does someone like to use if he likes to commit to a zope package repository. I think z3c and collective use different license stuff.
The z3c repos is a part of the zope repository and uses the same license (ZPL) etc. as zope itself uses. But this also means you need to be a zope contributer for using it.
btw, using the z3c or collective outside the relevant repositories is probably a very bad ide.
Regards Roger Ineichen
精彩评论