March 15, 2010, 9:17 AM —
Cadence, in a non-musical context, is sometimes defined as "a recurrent rhythmical series."
That's the definition Mark Shuttleworth, Founder of Canonical, has in mind for open source software development.
Shuttleworth has maintained for some time now that if free and open source software projects can begin to sync their development cycles with each other, then both upstream and downstream developers (and, ultimately, users) will benefit. This is large motivation behind the strategy behind Canonical's strict six-month release for the Ubuntu distribution and the 18-month Ubuntu Long Term Support (LTS) cycles.
Initially, there was a lot of pushback for the notion of cadence, mostly along the lines of "who does this guy think he is?" This was particularly true of the reaction from some of the more vocal quarters of the Debian community, the development team Canonical to which initially reached out. This made sense, because Ubuntu is a Debian-based distribution. But the reaction was far from harmonious.
During the Summer of 2009, Shuttleworth proposed the creation of two-year development lifecycles for Ubuntu and Debian, and a synchronization between the two cycles. Two years, he reasoned, was long enough to avoid the pain of a shorter one-year cycle, and short enough to effective support hardware advances.
Despite the common ancestry, some in the Debian community reacted sharply to the idea. Anthony Towns, in particular, opined that even if the Debian developers could accomplish such a synchronization, why should they, when Debian stable would then always be eclipsed by a commercially supported Ubuntu LTS version? Things went downhill from there, mostly along the (paraphrased) lines of "Ubuntu developers are a bunch of freeloaders."
Eventually, Shuttleworth sent a long letter the Debian Project, his now-seminal remarks on cadence and collaboration. The idea, he argued back in August, was not to have one project take advantage of the other, but to have all projects, upstream and downstream, set in a loose rhythm so any innovation out of these projects, regardless of where in the chain they were, would be more widely disseminated in a timely manner.
The idea of formal syncing hasn't yet taken hold, but today, Shuttleworth has publicly noted that cadence has indeed started to come about in some major shared components of the Debian and Ubuntu development cycles.
To illustrate, Shuttleworth posted this table in his blog:
|Kernel||2.6.32 + drm-33||2.6.32 + drm-33||2.6.32||2.6.32|
By noting the slow gelling of development cycles, Shuttleworth reiterated the benefits of cadence between not only Ubuntu and Debian, but also with other distributions. Shuttleworth again invited other distributions to participate in collaborative synchronization of cycles. The benefits of more open source projects getting into the rhythm of things is clear to Shuttleworth.
"I think this is a big win for the free software community. Many upstreams have said 'we'd really like to help deliver a great stable release, but which distro should we arrange that around?' Upstreams should not have to play favourites with distributions, and it should be no more work to support 10 distributions as to support one. If we can grow the number of distributions that embrace this cadence, the question becomes moot--upstreams can plan around that cycle knowing that many distributions will deliver their work straight to users," he wrote.
I, for one, will be interested to see if other distributions will have interest in such a collaboration. Or will the spirit of competition get in the way of cooperation again?