This leapfrog process has a lot of theoretical draw, and it is the one that Linux tried but because the experimental line became a dumping ground for unstable code and more code built upon it, the time between "stable" releases became so long that all the major stakeholders ended up doing significant backporting. I don't think it can be considered a success. If someone knows a project which has used this model successfully (for several years) I would be interested in knowing about it. Alternatively, there is the 6 month stable model. In particular there the OpenBSD variant
which has a window for feature lock and a short all-hands release press:

http://www.youtube.com/watch?v=i7pkyDUX5uM

This encourages early checkin of API changes and (so everyone can get on board) and extensive private testing of features changes because nobody wants to be the one called out during the push. The problem with the "unstable" branch is that it is just that "unstable" and when something is unstable for long it both tends to remain that way and the "blame" becomes muddled which dilutes peer pressure. A 6-month cycle means you get small features and API changes in quickly and large features are tested by stakeholders privately on tracking branches and checked in en-mass when they feel confident they are stable (typically at the start of the 6-month cycle so that they can
use the early adopters as beta testers).

Just an alternative to consider.

john




Paul Querna wrote:
This stems out of a discussion we had at ApacheCon about how best to
do releases and create stability for Traffic Server.

httpd's VERSIONING:
<https://svn.apache.org/repos/asf/httpd/httpd/trunk/VERSIONING>
This document explains how httpd is trying to balance maintaining a
stable version used by millions, and at the same time introduce new
features quickly.  I believe TS would benefit from adopting a similar
philosophy on stability of APIs.

httpd's release Q&A:
<http://httpd.apache.org/dev/release.html>
This document covers in Q&A style various bits of info on how HTTPD's
releases are done.

The tools httpd uses to make a release are here:
<https://svn.apache.org/repos/asf/httpd/site/trunk/dist/tools/release.sh>

It would also be good to get TS building in CI, if someone has time
you should mail infrastructure@ and work to get it all setup:
<http://ci.apache.org/>

Any questions I can answer?

-Paul

Reply via email to