Skip to content

PyCon 2009: Zope 3 is dead! Long live Zope 3!

April 8, 2009

This is my subjective account of the discussions about Zope that happened under PyCon 2009. I make no claim that this represents any sort of truth except my own.

Update: There was some interest in keeping Zope 3 around and alive, and as a result it was renamed BlueBream.

On thing that really made med excited about PyCon 2009 was the amount of Zope gurus that was going. Primarily the fact that we got several of the main drivers behind the innovation in Zope web frameworks lately into the same room was cause enough for celebration. The Zope community have a history of “violent agreement”, and I always suspected that it would be fruitful to have these discussions in real life, where misunderstandings are more easily and quickly fixed. My hope was that the result would be a renewed sense of consensus on where Zope was heading, and I think that was pretty much exactly what happened.

No decisions was taken, and I think that is good. When a community decides something it’s important that the people who take the decisions also have the ability to make it happen. For Zope, there is no central group that have the ability to create Zopes future by themselves, and therefore it’s important that no central group takes decisions. The future must grow out organically from what is actually done and created.

The discussions started with an open space on Sunday morning, with a “Hate Zope/Plone” BoF. About ten people showed up and sat around a table complaining. Perhaps not very constructive, but fun and possibly cathartic. At 4pm there was a Repoze Open Space, and at 5pm there was the “Zope: Status + Future” Open Space I announced earlier. This Open Space dragged out and spilled over into the bar. The major revelation for me was that nobody seemed interested in the application server known as “Zope 3”. Of course, opinions on what exactly made up this application server differed. Was the “Application Server” if you included the Zope Management Interface, the ZMI? Or was it that was the “Application Server”? It was clear that few, if any, used Zope 3 as a monolithic whole any more. Most Zope 3 users picked and chose the libraries out of Zope 3 that they wanted, and those who didn’t, wanted to. Nobody seemed interested in a big fat Zope 3 Application Server any longer. The wish of the day is to have a lean, mean webserver that doens’t have everything included, but instead uses a dependency tree to include those parts, and only those parts, that your application needs. And this of course was the whole purpose of the eggification of Zope 3, which therefore can be declared to be a resounding sucess.

The discussions continued during the Zope sprint that followed. And one thing that most people seemed to absolutely not want was, the central part of Zope 3. It’s too big, too complex and does too much. Chris McDonogh of course wants to use repoze.bfgs minimalistic publisher. Gary Poster from Canonical wanted something more flexible than repoze.bfg, but less complex than z.a.p. Jim Fulton wanted Bobo back, the much simpler publisher that was the center of the early versions of what became Zope 2. Also, nobody was interested in using the ZMI. As these seems to have been the main contenders for being Zope 3 The Application Server, the conclusion is inevitable: The application server known as Zope 3 is dead.

And this is a Good Thing. Not because Zope 3 was crap. It wasn’t. It’s bloody fantastic. But there is a lot of confusion about what Zope is. There is Zope 2, an application server called Zope 3 and a vast library of web application modules also known as Zope 3, so the fact that nobody any longer want the application server help clear this up. We can forget about it. We are then left with a big framework of libraries, which are set to get a release in the not too distant future as the Zope Framework (probably 1.0), and an application server called Zope 2 which includes the framework (and other bits). It’s still not perfect, but it’s way less confusing.


From → python, zope, zope3

  1. I “love” these headlines. I can hear people say: “Oh Zope 3 is dead. They say that themselves.” Why using a headline which must lead to misunderstanding?

    • I’m not entirely sure what the misunderstanding you expect is. Zope 3 is dead, or at least dying.

      I guess you are worried about people not using the Zope 3 Application Server because I claim it’s dead. But if you read more carefully, I claim it’s dead because nobody is using it. People use Zope 2, Plone, Grok or repoze.bfg.

      People do use the Zope component architecture, the Zope 3 libraries, or Zope Framework as it’s probably soon going to be called. That is however not Zope 3. The naming has been confusing, that’s true, but the agreement seems to be that the libraries that make up Zope 3 should not be called Zope 3, just because it is confusing.

  2. Martijn Faassen permalink

    Your headline is stating as if it’s been done already. This can be easily misread by people into concluding Zope 3 is dead and has been declared dead, especially by headline-only readers.

    The outside world certainly hasn’t caught up to various name changes and concept reorganizations we’re going through now. They might now conclude the technology is dead. It’s not.

    We’re currently having various discussions about naming and so on. It’s a bit premature to declare it dead to the world already. Not everybody who matters in Zope-land was at Pycon, for one…

    Anyway, if you’re interested in the message we should be sending out I suggest you offer some suggestions for the improvement of the story website under development.

  3. Most people don’t distinguish between what you call the Zope 3 app server and Zope 3 libraries or the Zope Component Architecture. This is all Zope 3 for them. I’ve read what you’ve wrote. But the headline is misleading. People reading only the headline and a couple of lines will read the whole Zope 3 project is dead. That’s the message your posting is spreading.

  4. Martijn:
    The technology is not dead, it’s true, but people have also not caught up to the technology. And that has to a large extent been because of naming confusion. People think Zope 3 is a new version of Zope 2. That’s one reason very few have used Zope 3. And that’s why I completely support your Zope Framework effort, to make people understand that Zope is not just a 10 year old web server is two wildly incompatible versions.

    I also clearly point out in the start of the post that this is my opinion, and that I hence to not pronounce anything.

    If you think this post is unclear it’s probably unwise to ask me for suggestions for how to improve communications. 😀 I think that site is pretty good so far. And I note that Zope 3 is not mentioned anywhere. 😉

  5. Juh: “Most people don’t distinguish between what you call the Zope 3 app server and Zope 3 libraries or the Zope Component Architecture. This is all Zope 3 for them”

    Those who understand that there is such a thing as the Zope 3 Libraries do that distinction. And they would also be interested enough to actually read the post. The problem is that people don’t understand that there are a framework of web app technologies that you can use outside of the monolithic app server. And that has been a major reason why very few outside the Zope community has adopted that technology.

    Anyway, I stuck a Long Live Zope 3 on there too. At least that gives it enough ambiguity to maybe make people actually read the post before they draw wildly inaccurate conclusions.

  6. A fine posting indeed. The only people who are going to get confused by the headline are the people who like picking out and spreading propaganda that supports their view point. Don’t worry about it. Those people will find something else if they don’t have your sensationalist headline 😉

Trackbacks & Pingbacks

  1. Carmine Noviello » Dalla preistoria arriva Grok per il futuro di Zope 3

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: