In general this sounds great. However:

On Tuesday, 3 December 2013 at 14:26:07 UTC, Andrew Edwards wrote:
Betas will be released four weeks after an official release.

Does this mean that a new release branch will be created at that point? I think it makes sense.

Once a release candidate is published, no new features will be added.

Does this imply that new features are still added in beta phase? That does not fit well with creating the branch in the beginning of the beta phase.

My opinion:

I don't think new features should be added in beta phase. Instead it should be for bug fixing. When no known blocker bugs are left, a release candidate phase should be started. Relase candidate should be, as the name implies, a candidate for release. Thus, if no new critical bugs are found, then the release can be made in principle just by bumping the version number.

More important than defining when the actual releases are made, is to define when branching is done. It is easy to slip release date because of new bugs and that can then delay the next release (depending on how you implement the procedure). Instead, a new release branch should be branched from the master branch exactly every 8 weeks. That should be easy, since there are no such stability requirements as for actual releases. Whether the following stabilisation phase (betas + release candidates) lasts exactly 3 or 4 or 5 weeks is not that important as long as the quality of the release will be acceptable. The phase should last long enough that all blocker bugs are fixed. In this model the time between actual releases can vary a bit, but on average it will be exactly 8 weeks.

Reply via email to