[Zope3-dev] RFC: Release cycles

Jim Fulton jim at zope.com
Thu Sep 30 10:50:17 EDT 2004


Philipp von Weitershausen wrote:
...

> Many things have been planned for X3.1. Stephan has already tackled one of the 
> big tasks, ImplementViewsAsAdapters; other minor improvements that didn't make 
> it into X3.0 are also already sitting in trunk or about to be committed. 
> However, other things that were originally planned for X3.1 have not even been 
> thought through properly (correct me if I'm wrong), like local configuration 
> through ZCML. I see no reason whatsoever holding off X3.1 for them; why 
> couldn't they go into X3.2, X3.3, etc., when they're ready?

No reason at all.

> I suggest to adopt a release management similar to Debian's (except that they 
> take ages for new releases which we don't want). A short period of time after a 
> certain version is released (e.g. X3.0), the next version (e.g. X3.1) should be 
> branched off from the trunk. At that time the branch is under a feature freeze 
> like the X3.0 branch was when it was branched off. The trunk will be open for 
> new features as usual.

Could you describe the benefit you think this provides?

> What this proposal is not
> 
> This is purely a proposal regarding when to branch, when to release and what to 
> put in which branch. I'm NOT proposing to change any of the quality assurance 
> measurements we've been taking, including the actual speed of development on 
> certain features. Taking time to find use-cases, write proposals, implement and 
> test features is still important! My concern is just that features needing this 
> much time would hold off releases of otherwise releasable features.
> 
> I'm also not proposing to set a specific time period that a release cycle 
> should take. Quality code takes time and that's ok.

More importantly, it takes volunteers.

 > It is all about getting
> already implemented features out. However, I imagine that X3 releases could 
> happen every 6 months or so, but that's just an estimate.
> 
> Advantages
> 
>  - shorter release cycles
> 
>  - new features appear in releases quicker
> 
>  - contributors get to use features that they implemented earlier
> 
>  - changesets from one version to another are smaller, making transitions
>    smoother; that would also be a lot easier on 3rd party developers who
>    need to adjust their software when new versions are released.
> 
>  - legacy code for backward compatability can be removed sooner
> 
> Disadvantages
> 
>  - more overhead for the developers (though I think this is marginal if at all
>    existant; I expect not more than two branches [trunk and to-be-released
>    branch] to be active at a time, so it'd be just like now.)

It is hardly marginal.  It is a significant expense.

>  - probably need a release manager

And people willing to work on the releases. This is a lot of effort.

> 
> Those who are involved into Plone I'd like to remind about the 2.0 release. 
> Initially a 1.1 release was planned after 2.0. It provided a relatively small 
> set of improvements. Before someone could put his foot down, lots of stuff was 
> checked in and 1.1 started to blow up. Initially a 1.1 release was planned for 
> September 2003; 6 months later, in March 2004, it was released, but as 2.0 
> because of the many additions. Many people who based their business on Plone 
> and needed something like 1.1 in late 2003 (including me) critized the release 
> management. Everyone learned their lesson and Plone now has an official release 
> manager.
> 
> Another good example from Zope's own history is be the release of 2.7, though I 
> think this one took so long for several different reasons (I frankly don't 
> remember). Fact is that now with Andreas being the release manager, 2.7 bugfix 
> releases are popping out regularly...

The bottom line is that releases take a lot of effort to release and manage.

As long as there are enough volunteers, we can have more releases, but don't
assume that there will be enough.

I know that Fred and I don't have time to work on a 3.1 any time soon.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list