Alexander Limi wrote:
On Tue, 07 Feb 2006 00:32:52 -0800, Martin Aspeli <[EMAIL PROTECTED]> wrote:

Like it or not, Zope (2) seems to have a lot of stigma out there; Zope 3 has been around a while. In actual fact, for a while I thought Zope 3.x was still just unfinished vapourware, waiting for the fabled Zope2 integration (the dropping of the X) that people were talking about.

The way it was done was also incredibly unprofessional and created a lot of confusion:

Quoting from

It is our opinion that Zope 3 is more than ready for production use, which is why we decided to drop the X for experimental from the name.


Problem is, the X was never about whether Zope was "ready for production use" - it had been *explicitly assigned* as a marker that meant Zope 2 migration/support was not there yet. A lot of people actually believed this would happen (as the Zope roadmap and PR spiel told them so), even though all of us knew it wouldn't happen.

(I know the reasons, I know the plans for convergence, I know how Five works - I'm just pointing out that this part made a lot of people lose faith in Zope)

I'll defend myself, as I was the one who argued for dropping that X.

Let me first give the full context of that quote; perhaps it wasn't in the Zope 3.2 release notes, but it was there in Zope 3.1:

It is in our opinion that Zope 3.1 is more than ready for production use, which is why we decided to drop the X for experimental from the name. We will also continue to work on making the transition between Zope 2 and Zope 3 as smooth as possible. As a first step, Zope 2.8 includes Zope 3 features in the form of Five.

I think that the full context rather weakens your suggestion that this done in an "incredibly unprofessional" way.

Now as to history of that X.

From an old document about security when it was still X3, not 3X:

1b. "Zope 3X" is the preliminary version of Zope 3. It is built from the ground up, paying attention to the lessons learned from Zope 2 and CMF. It is not a product but intended to let developers get familiar with the new architecture early.

1c. "Zope 3" is the mainline release intended for production use and including backwards compatibility to Zope 2.

I hope that this makes clear that you are wrong about the X never having anything to do with production use; it was connected.

This is what was said back in 2003 in the release note for a milestone release:

"What is Zope X3? It's Zope 3 "experimental". This is the release that will provide the new features of Zope 3 without any Zope 2 support. Zope 3.0 will provide support for Zope 2 content and products, probably using conversion utilities of some sort."

For the X3 beta, the message was presented as such:

"Zope X3 is the next major Zope release and has been written from scratch based on the latest software design patterns and the experiences of Zope 2. The "X" in the name stands for "experimental", since this release does not try to provide any backward-compatibility to Zope 2."

with the subtle difference that we couldn't ever say Zope 3 was non experimental *unless* it has Zope 2 compatibility features.

The main problem with the X was that everybody has their own interpretation for what it means. None of the interpretations was entirely wrong, or right:

* 'X' stands for 'eXperimental'.

* The 'X' will be dropped when Zope 3 is ready for production use.

* We drop the X when we have backwards compatibility with Zope 2 in Zope 3.

* We drop the X when there's migration support for Zope 2 content to Zope 3.

* We drop the X when there's a migration path to Zope 3 from Zope 2.

Zope 3.2 today is not experimental. It is ready for production use. Full backwards compatibility with Zope 2 isn't going to appear; *full* compatibility was never exactly promised, but people got that impression from the vague message, but we knew damn well by Zope 3.1 that it wasn't going to happen that way. It's hard to predict the future anyway.

A migration path for generic Zope 2 content also isn't likely to appear, as that means you have to port your applications forward first if your application has its own content types, which most significant Zope 2 applications do. It will presumably happen for particular Zope 2 applications who are prepared (Silva for instance has had full XML export abilities for years), but not for arbitrary Zope 2 content.

Additionally, the version numbering scheme with an X in it (it even moved; Zope X3, Zope 3X) is non-standard and thus *invites* misinterpretation in all kinds of ways. And then after you drop the X from Zope X3.4, you're going to go back and call it Zope 3.0?

I therefore argued for dropping the X. The X was broken and was doing damage. I'm not going to be able to sell experimental software not ready for production use to my customers. Better correct the message now than delay correcting the message indefinitely. And there is a software migration path after all.

In retrospect, we shouldn't have used the X in the first place and made these inconsistent promises about Zope 2 support. Then again, it would've been hard to avoid saying *something* about Zope 2 support anyway, so hindsight is easy.

So, as to your suggestion that the dropping of the X causing confusion, I disagree as well. The confusion was being caused by that naming convention, and the confusion has decreased by the dropping of it. You may have recognized the problem when it was fixed, but dropping the X was the correct fix.

So in conclusion, I still believe dropping the X was the right thing to do, that you're wrong about this being done in an incredibly unprofessional manner (not claiming perfection here in any away, though), and that you're another innocent victim of the vague, confusing, damaging message surrounding the X.

Now let's forget about that damn X. It's history.


Zope3-dev mailing list

Reply via email to