Mon, 12 Sep 2011
Release Scheduling and Feature (Un)-Readiness

Scott James Remnant now works at Google but previously was an employee of Canonical, the makers of the Ubuntu Linux distribution.

He's just written a blog blog post arguing that Ubuntu should switch from its well known 6 month release cycle to something like a 2 month cycle but with associated release "channels" for development. Feature work can take place in "personal package archives" (ppa's).

The post is worth reading, especially if you're interesting in release management. Managing software releases is a problem for both commercial and free software development. The problem Remnant wants to solve is how to improve the quality of new features included in an Ubuntu release, such that they have fewer bugs and are more complete. Currently, because the distribution release is time-based (every 6 months), new features are as well and the incentives are there to stick them in ready or not. This is to the detriment of the distribution as a whole and its end-users in particular.

The post has generated some lively discussion and many comments on Remnant's post are worth reading. A fair number take the view that the schedule should be lengthened. Some refer to the perceived reduction in the distribution's quality over the years (stability, useability etc.). In my experience, an Ubuntu release was often a double-edged sword: updated software and new features, alongside the breakage of things that previously worked. It could be frustrating.

As Remnant says, the main reason to adopt the 6 month cycle was alignment with the Gnome release cycle. But now that Canonical has chosen the Unity desktop shell, the Gnome schedule is less important.

As is often the case, the comments have been as interesting and important as the post itself. Not only on Remnant's own site but also at Linux Weekly News. Also worth reading Chromatic's take on the problem Taming the The Great Stampede.

Personally, I think that Ubuntu should try continue doing what they used to do very well, that is, take Debian Testing and Unstable, stabilise and polish a bit. Then release. They need to keep emphasising the polish and the useability enhancements. Larger features such as Unity or the Software Center should be allowed to develop without the immediate requirement of being included in such-and-such release. Let them develop, stabilise and get tested more. The PPA style channel might be a good way to do this.