What is Zope 3, and how does it relate to Plone?
Up to Table of ContentsThis FAQ applies to: Any version.
Zope 3 is a ground-up rewrite, and although it borrows a lot of experience from Zope 2, it is an entirely separate product. This does not mean Zope 2 is irrelevant or outdated.
Right now, there's a lot of innovation going on in Zope 2 all the time. It's just that lots of that innovation is now shared with Zope 3 - Zope 2 and Zope 3 technologies are converging. This convergence will take many years to be "complete". Zope 3 is a testing ground for a lot of new technologies that may or may not end up being used, and the later versions of Zope 2 have bridging interfaces (called "Five" — two plus three, get it?) that allow you to use both technologies at the same time.
So, besides using Zope 3 directly, you could write your application in a modern version of Zope 2, such as Zope 2.10, and use the Zope 3 technology in it (a large part of Zope 3 is included, and a bridge module called Five is there to make integration possible). It allows you to evolve your application more gradually. It also allows your application more easy portability to Zope 3 if you should need to later, as you're already using the technology.
Plone 2.5 ships with both Zope 2 and Zope 3, and has started to make use of Zope 3 technology. Plone 3.0 and 3.5 continue this trend, adopting more and more Zope 3-style development and components, but continuing to be firmly rooted in the latest releases of Zope 2. (For example, Plone 3 targets Zope 2.10 at the time of writing.)
For more detailed information, see the piece called To Archetype or not to Archetype.