In a recent discussion on the Zope 3 Developers mailing list, Jim Fulton shares some thoughts about the nature of Zope 3.
What is interesting to me as a Zope 2 longtimer but Zope 3 newbie, is that I finally realize Zope 3 is not really or ever will be a replacement for Zope 2. In short, Zope 3 should really be thought of as a library or framework (or, perhaps more accurately, a collection of libraries and frameworks).
In fact, what many Zope 2 developers would consider the Zope in Zope 3, which would be the application that implements what we know as the ZMI and Jim calls OFS, is not even considered valuable, let alone important, for the majority of current Zope 3 developments.
One could panic and think, well, we've got it made: on the one hand we have Zope 2, the application that wanted to be a framework, and on the other there is Zope 3, a framework that seems to be an application. Where does that get us?
The situation is not that bad, though. As Jim points out, there are many applications that have been built using Zope 3, they are just not intended for web developers to create their own applications. There are also many instances of Zope 2 projects that claim to incorporate "Zope 3 concepts", like Plone does.
In a way, it would seem that Zope 2 itself is experiencing a transformation from the inside out, becoming more and more an application which uses the Zope 3 framework rather than the half framework, half application beast that we have come to love and hate (FrankenZope lives!). That would make it the stellar Zope 3 app, but it is debatable whether it can get there.
It would seem that Zope 3 could be trapped in the old chicken and egg conundrum, where developers are waiting for a stellar app before using it and the stellar app is not written because there are not enough developers to do it.
It is apparent now to me that one of the reasons that the Python community
has not taken warmly to Zope 3 as a web framework, is that this OFS application is not really the framework or even an exemplary embodiment of it, but I think one could be justified to think of it in that way when beggining to know Zope 3. That makes the whole framework unattractive to the average Python web
developer (if there is such a thing), who compares it with Django or CherryPy.
It turns out that Zope 3 may not be the web framework for Python developers everywhere, but it may very well allow someone to develop one that could be. In any case, the Zope 3 project would get a big boost if somebody,
somewhere creates an application (or applications) that really shows
how Zope 3 can shine and allows other kinds of audiences than hard-core
developers to take advantage of it (see Paul Everitt's comment on the thread).
In this last regard, I have high hopes for Grok. Let's see how it turns out.
Read: Zope 3: the framework is not the application