On 6/14/06, Chris McDonough <chrism@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/