[Zope-dev] Time-based releases a good idea?

Lennart Regebro regebro at gmail.com
Wed Jun 14 07:34:31 EDT 2006


On 6/14/06, Chris McDonough <chrism at plope.com> wrote:
> The time-based release cycle just amplifies this across many branches
> and point releases, so nobody really knows which products work with
> what branch/release and under what configuration some feature is
> supposed to emit a deprecation warning without a good deal of
> testing.  The *reason* I'm stuck back on 2.8 and haven't upgraded the
> products I maintain to behave nicely on 2.9+ is because I just can't
> keep the fuck up with these sorts of changes.  It's a self-
> perpetuating cycle because the only sane defensive maneuver for me is
> to stick with 2.8 for existing customer projects.  I say to myself
> that I'll move them to 2.9 or 2.10, or 2.11, or whatever happens to
> be the current release once I get a chance to breathe, but honestly,
> this is the *last* thing I'll do; I've got plenty of other coding to do.

Well, ignoring the confusion about zLOG, updating things for a new
version of Zope with deprecation warnings is not much work. Honestly.
You update to the new version, look at the depracation warnings, and
do search/replace until they go away.

Unless their are compatibility bugs, and that will happen sometimes, that's it.

I don't remember exactly how long it took to go to 2.9 for CPS, but it
wasn't very much work, and it was all related to changes in Five,
which you don't seem to use or worry about. 2.10 seems to have been
even less, excepting two bugs in the 2.10 beta. And we do this move
for CPS during the beta phase, which one typically  shouldn't do.
Normally you should get rid of the 2.9 deprecation warnings when you
no longer want to support 2.8. Whi typically would be right about
after 2.10 is released and 2.8 no longer is officially maintained. If
you get rid of all deprecation warnings for 2.10 now, your software
may very well stop working on 2.9. ;)

Admittedly, now when I think about it, this assumes you have tests for
the products that have reasonable coverage. If you don't it's much
worse, because you have to test the whole product manually to get rid
of all warnings. When you have tests, you are 99% sure things are fine
once the warnings are gone.

> There *have* to be other people in the same boat as I am.

Yeah, I was in the same boat with EasyPublisher, when Zope moved from
python 1.5.2 to python 2.something. EasyPublisher stopped working. We
felt stressed, and did not switch Zope version for a while, staying
on, I think, 2.3, while everybody else went to 2.5. Remember, there
was no real deprecation period then, each major version would simply
have a set of incompatibilities. The result was that the longer we
waited we had more and more Zope 2.3 bugs to work around, and while
3rd party products increased in version we had to use old versions
because we were on an old zope version. So the longer we waited, the
greater became not only the upgrade work, but the work of
circumventing bugs and misfeatures in the old software.

When I finally DID switch, it still was only a couple of days work,
and it solved several of our problems. The changes was done for a
reason, mostly. We *should* have kept up to date continously. It would
have been less work for us.

> Zope 2 is really just not the place to make sweeping
> innovations.

You are welcome to stay on 2.8 forever if you want. Or 2.7 for that
matter, it doesn't include Five and so has a much smaller tgz. ;)

I think alot has been done wrong when it comes to how the innovation
known as Zope3 has been handled. But I don't think making those
innovations available to Zope2 is a mistake. I also don't think it's a
mistake to get rid of the amazing code-duplication that Zope2 and
Zope3 together holds. Almost the only component that is not duplicated
is the ZODB. Why should we have two publishers to maintain? And two
webservers with two WebDav implementations and two of everything else?

The majority has agreed that the path forward for Zope is to make it
possible for people to use Zope3 technologies without having to
rewrite everything from scratch. The changes you see in Zope2 are a
direct effect of that. You should only get upgrade problems if you
skip several versions. Other than that, it should pretty much just
work.

-- 
Lennart Regebro, Nuxeo     http://www.nuxeo.com/
CPS Content Management     http://www.cps-project.org/


More information about the Zope-Dev mailing list