A Case for Modifying the Ubuntu Release Schedule
There has recently been some discussion on the Ubuntu Tech Board mailing list around releasing Ubuntu 10.10 on 10/10/10 and the impact on Ubuntu’s promise to release on a regular six month cadence. In my thinking around this, I decided to take a deeper look at the schedule of past releases…to see how close to a cadence we actually are. Interestingly enough, I found that while the releases were in the same month (and towards the end), the amount of development and bug fix time varied greatly.
The simplistic approach to doing the releases is to break them into equal 26 week cycles:
Looking at last year’s releases, we came close to this: 25 wks for 9.04 and 27wks for 9.10. However, if you take into account the traditional US/European holidays towards the end of the calendar year, I think you get a more realistic view of the schedule….and realize how different the 2 cycles were:
You will notice the weeks I call out as “part-time” development. Anyone who attends UDS knows of the “UDS Hangover”, where we are both recovering from the event and scrambling to finalize our specs. The other dips in development occur during the US Thanksgiving holiday and what is typically called the holiday season in the US and Europe. I realize that Ubuntu has developers worldwide (and this is one of our greatest strengths!), but there is a large portion of key developers who live in these regions, who have families and lives to live and thus go on holiday at this time. I shaded the weeks of UDS and the Christmas holiday darker, as these are the deepest dips in developer productivity. If you’ve developed for Ubuntu, there is now doubt that you’ve felt rushed in the xx.04 release…and this is why. Looking at 10.04 and the projected 10.10 schedule, the same will hold true despite having an equal number of calendar weeks:
If we look further into the releases at 11.04, the trend continues:
I would like it if each cycle had the same amount of development and bug fixing time, to make it easier to plan our workloads and preserve quality from release to release….establishing a true cadence to our process. If we focus the scheduling around development and bug fixing, the 10.10 and 11.04 schedules look like this:
While the overall week counts differ, the development and bug fix periods are the same. If we project this out to the next potential LTS (12.04), we even have some slack for extended bug fixing (i.e. 2 Betas) due to the part-time development weeks:
So let’s return to looking at Maverick under the new focus on development and bug fixing cadences:
Does a move to doing a 10/10/10 release now look so impossible?
“11 weeks of development! and only 7 weeks of bug fixing?!…we can’t do it!!!”, you might say. My response is that we already have:
9.04 had a total of 10 weeks of development (full and part-time) and 7 weeks of testing…and it was a pretty solid release, if I remember correctly. So to steal a familiar phrase, Don’t Panic…a 10.10.10 release will be just fine.