Jim Fulton wrote:
2) In an alternate vision, Zope 2 evolves to Zope 5.
+1 as already discussed at PyCON.
- Zope 5 will be the application server generally known as Zope. It will be backward compatible (to the same degree that Zope 2 releases are currently backward compatible with previous Zope 2 releases) with Zope 2. Zope 5 will similarly be backward compatible with Zope 3 applications built on top of the current Zope 3 application server.
Note that Zope 5 will leverage Zope 3 technologies to allow a variety of configurations, including a Zope 2-like configuration with implicit acquisition and through-the-web development, and a Zope 3-like configuration that looks a lot like the current Zope 3 application server. Maybe, there will be a configuration that allows Zope 2 and Zope 3 applications to be combined to a significant degree.
- Zope 3 will explode. :)
For many people, Zope 3 is first a collection of technologies that can be assembled into a variety of different applications. It is second a Zope 2-like application server. I think that these folks aren't really interested in the (Zope 2-like) application server.
Zope 3 will continue as a project (or projects) for creating and refining these technologies.
(It would probably make sense for this activity to to have some name other than "Zope". On some level, the logical name would be "Z" (pronounced "Zed" :). An argument against "Z" is that it would be hard to google for, but Google handles such queries quite well and I'd expect that we'd move to the top of Google Z search results fairly quickly. However, I'll leave naming decisions to experts. ;)
I would vote for spelling out Zed (which would also be a little easier to google but might create trademark problems). The namespace package could either be 'z' or 'zed'. Then again, I really should take Jim's side and stay out of naming decisions.
Advantages of this vision:
- Zope 2 users don't need to leave Zope 2.
- Zope 3 doesn't have to reproduce all Zope 2 features.
- There wouldn't be confusion about 2 Zopes.
It is important that Zope 5 be backward compatible with both Zope 2 and Zope 3, although not necessarily in the same configuration. Many people are building Zope 3 applications today and they should not be penalized.
I'll note that while Zope will remain to be the application server (in its Zope 5 incarnation), you should and would still be able to create WSGI-capable object-publishing applications with the Zed pieces fairly easily, for example when you don't need the full-blown Zope experience. I will also note that just because Zope 2 won't die, it doesn't mean we shouldn't clean it up. Eventually, Zope should mostly be reusing things from Zed. A Zope distribution would include a fair number of Zed eggs and the Zope-specific things should live under the 'Zope2' namespace package. Fortunately we're already starting with cleaning up some of the top-level packages (zLOG, TAL, StructuredText) in Zope 2.10. Philipp