Z3 ECM Enterprise Content Management for Zope3

Zope is reaching out

Martijn Faassen wants the Zope community to reach out to other frameworks and technologies. He's right, Zope has been on its little island for way too long and received constant bashings because of that, mostly from the Python community itself.

Actually, Zope 3 isn't doing such a bad job at reusing existing technology if you look at it:

  • Zope's templating system, Page Templates (ZPT), is based on simple XML features and was one of the first templating systems that would retain templates as well-formed XML. May templating systems today can't even guarantee that.

  • Zope didn't invent its own workflow standard (yet again), instead Zope 3 ships with a WfMC engine.

  • For its i18n and l10n capabilities, Zope relies on "industry standards" like gettext (for translation) and the ICU localization data files.

  • Zope supports WSGI since the 3.1 release in August, the upcoming 3.2 release (this month!) will only use WSGI for server/application communication.

  • Zope is getting out of the server business, other people know how to write servers much better than we do. As of Zope 3.2, you can choose between Zope's ZServer and twisted.web2 as the server backend and I still haven't given up my modzope idea (though found little time to work on it); the idea is to give up ZServer in the long run.

  • Zope is on its best way to support Zope software to be packaged as eggs and to support itself being packaged in eggs. We hope that this will be possible with the June 06 releases.

  • ...

But does anyone know that?

Some Zope technologies are also used in other Python software. For example, Python's datetime module is a contribution from the early Zope 3 day, the twisted project uses zope.interface quite successfully and I recall that several Python apps use PageTemplates (ZPTs) to create dynamic XML/HTML markup.

Yes, many Zope 3 technologies can be used outside Zope, and the best ones aren't even in that list. The Zope 3 repository has a whole load of easy-to-reuse libraries that solve many problems that aren't specific to just Zope.

But does anyone know that?


Last week I expressed my concerns regarding Ruby on Rail's success and what that means for Zope. Ivan Krstic even goes further and thinks that Zope is responsible for Python's lost battle against PHP and Ruby. As Martijn points in a comment to that post, this is quite unfair because Zope has also brought a lot of people, resources and code (see above) to the Python community. If it wasn't for Zope, I would probably still be writing PHP code. Blaming Zope is also unfair for another reason. We actually are reaching out now as I've tried to point out here.

But does anyone know that?

No, nobody knows that. At least Ivan doesn't know, otherwise he wouldn't have thought that the name Zope is so ill-fated that he wrote:
"the Zope name is so far tainted that a flat-out name change would be required to get me to suspend disbelief and give the newer version another go."

Zope 3 continued to use Zope's name for a reason. Zope is much more than just an application server. It's the home of some of the hottest Python technologies and probably the biggest Python-based community with one hell of a lot of experience when it comes to web apps. The fact that Zope 2 waited so long to evolve into something better is too bad, but not tragic. The point is that Zope should not be judged by Zope 2 or by Zope 3, but by the technology and experience it combines and offers.

I'm going to close with a reiteration of my urge to come up with a good tagline for Zope. Anything we use to promote Zope should entail an emphasis on Zope-the-technology, not Zope-the-product. Steve Alexander once gave a very good answer to the question What is Zope:

A collection of free software, jointly developed by ... a large community of software developers, that you can use in whole or in part to manage complexity [by] gluing software components together [and] securely publish objects on the web and other systems.

I'll award a free Zope license to anyone who can turn that into a tagline :).
Posted by Philipp von Weitershausen @ 12/22/2005 08:26 AM. - Categories: Zope 3, Zope Community -  0 comments