Martijn Faassen wrote:
Hey Jim,

I'm not pointing out inconsistencies in our message and expectations set for no reason; I think it's important to fix this aspect of our marketing. Please read the comments here in this light; I want to demonstrate how confused our message seems to be.

Jim Fulton wrote:

Martijn Faassen wrote:

Jim Fulton wrote:

2. The X in Zope 3X means that there is not yet support for
   Zope 2 transition.  It's about setting expectations.

But we're setting the expectation that one day there will be a version of Zope 3 that supports Zope 2.

No. We are setting the expectation that we will provide a supported transition process. That *could* be backwward compatibility, but it might be much less.

That's not the expectation that has been raised until quite recently,

Huh? This is what I've always said.

and since you're changing the expectation,

I have limited control over expectations. I certainly haven't changed my message. I've always said that we will provide support for transitioning to Zope 3, being careful to say "transition support" rather than backward compatibility. We may only provide conversion tools. We may provide backward compatibility. I don't know. We won't know till we learn more. Of course, I've also said a likely strategy is to narrow the gap between Zope 2 and Zope 3. Of course, your Five work is a critical part of that.


 From an older roadmap document (found on Jeffrey Shell's weblog):

* Zope X3 first. The X stands for experimental. It has no support for migration from Zope 2. Zope 2 will continue development for some time. Zope 2.7.0 alpha 1 was recently released. And there has been talk of a Zope 2 variation inside Zope Corp that incorporates some Zope 3 features that is expected to be released later this year.

* Zope 3 (no X) later. This one will include support for Zope 2 products and content, probably through a conversion utility.

While this is not an official statement, it is certainly consistent with the message I've given and stated above.

When we released Zope X3.0, Stephan wrote:

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.


The Zope wiki says this:

"Zope X3 is the first release of Zope3. The X signifies that it is not backwards compatible with Zope 2. A Zope 3 release with migration support will come later. See Zope3 for links, etc."

Yes, still consistent.

What are we implying here?

We are implying what I said above and what all of these statements say. What do you find inconsistent?

> We've been telling the whole world that the X
is there because there is no backwards compatibility for Zope 2, in the release notes for Zope X3.0 even. In this light, it's not unreasonable for people to expect that we will add this compatibility.

We are careful to say that we will someday at least provide transition support. We may provide backward compatibility someday. We will if it is feasible to do so. We certainly aren't providing it now and we aren't even providing transition tools.

The "X" in Zope 3 means that it's for new applications. You can't
move your existing applications to it without substatially rewriting

If you want to suggest different wording for this plan, I'm open
to suggestions.

People observing the project from a distance might rightfully start thinking things like this:

This doesn't seem to make too much sense. Zope 3X is still far from
being Zope 3. Schooltool has been "developing a framework" for more than
a year now - and now you are going to rip out all that plumbing and
rewrite it anyway for another platform that will probably also require a
lot of rewrite as Zope 3x "is a milestone" to Zope 3. What was "the
hedge" against? Why don't you rather use the time to make schooltool a
world class app and migrate to Z3 later?

I agree that it is a missconception to assume that there will be a major change for Zope 3 developers when we drop the X. The Zope 3 platform will be fully backward compatibly with Zope X3. I can see that people might think that Zope X3 is a different platform, given the thoughts that we would restart numbering.

 > Is this a realistic expectation? Stephan

doesn't seem to think so, for one.

I think it is reasonable.

You are saying it's reasonable to set the expectation that there is a supported transition process right?


I mean, you just said Zope 3 won't support Zope 2 necessarily, just that we are setting the expectation for a transition process.


> In fact I've been involved in building such a
transition process for about a year now, but it has nothing to do in my mind with the X in Zope X3.

That's fine. In *my* mind, it is connected. Narrowing the gap between Z2 and Z3 *may* ultimately make the transition easier.

We better have some clearer communication on this topic between Zope 3 core developers,

Sorry, my mind control skills are lacking. ;)

I can't tell Stephan what to think.  I guess I'd prefer that
he support the "party line", but heck, who said there was
a party.

> as Stephan himself seems to distinguish between a still
official "public plan" and his doubts it will be like that. At least, this is what I conclude from this statement earlier in this discussion:

Yup. I wish he wouldn't say things like this, especially as the release manager.

There are people in the Zope 3 community who don't consider Zope 2
top be important.  I'm not one of them.  I consider Zope 2 to
be a valuable and important platform that deserves care and feeding
for some time to come.

I greatly appreciate the assistence you and others have provided in
helping to bring some of the benefits of Zope 3 to Zope 2.

 > - I do not believe that there will be ever a Zope 2 compatibility
 > layer in Zope X3. The other way around seems more pragmatic and is
 > currently done in Five.

while at the same time, Stephan's been making the implication that this *is* the official plan in the release notes:

> The "X" in the name stands for "experimental", since this release does > not try to provide any backward-compatibility to Zope 2."

Sorry, I can't figure out which "this" you mean in your sentance above.

   I'm OK with dropping the X is someone else wants to manage
   this communication another way, but I'd rather not drop it.

You could just say "Zope 3 is not compatible with Zope 2".

This is not acceptable in the long term.

Well, but you're saying yourself Zope 3 will likely never be compatible with Zope 2, just that there will be a supported transition process. It therefore sounds not unreasonable to me to actually say "Zope 3 is not compatible with Zope 2". If you want to add a note about a transition process, that's your call; I cannot commit to building such a transition process myself right now besides the Five work already done.

The problem is that I can't predict the future. Maybe you think you can. I know Stephan does. ;) Zope 3 is still maturing and thanks to efforts like yours with Five and thanks to experience Ive gained, I'm more optimistic than ever about a smooth transition. My *hope* is that someday, Zope 2 will be a configuration of Zope 3 and that the two platforms will merge in some sense.

Anyway, my message here is to get a bit clearer on the message. I've clearly gained a very different idea about what the X means than you do, and that's not for lack of observing the Zope 3 process. Let's get our marketing straightened out.

I certainly want to be clear about what I say.

The bottom line though is that we don't know.  We will continue to
support Zope 2 at least until we do know how the transition will work.

I'll note that, related to all of this is the new philosophy of controlled
evolution using deprecation.  To stay healthy, Zope 2 and Zope 3
both need to evolve in a controlled way.  Ultimately, this may simply
evolve the 2 platforms in a direction where they meet at some point.
I suspect that there will be a point sometime where we have releases
2.N and 3.M, such that:

- 2.N and 3.M are "compatible", meaning that applications that run in one
  can run in the other

- 2.N is backward compatible with 2.N-1 and 2.N-1, but not 2.N-3,  and

- 3.M is backward compatible with 3.M-1 and 3.M-1, but not 3.M-3.

I certainly appreciate any help in communicating this more clearly.


Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714  
Zope Corporation
Zope3-dev mailing list

Reply via email to