This article originally appeared in issue 85 of Linux User & Developer.
Linux User & Developer, one of the nation’s favourite Linux and Open Source publications, is now part of the award winning Imagine Publishing family. Readers can subscribe and save more than 30% and receive our money back guarantee – click here to find out more.
I’m aware that nearly all people in the Linux ecosphere are familiar with what Ubuntu is. However, it is my impression that many people, including some Ubuntu users, do not know how the distribution is made. Most are familiar with the principle that Ubuntu is largely based upon the Debian distribution,
but not a great deal beyond this.
To give you a quick introduction to Debian, it is an entirely community-based distribution, although some of the contributors are large businesses. No single company has overall control or official end user support. Debian is made up of three separate releases: ‘Stable’, ‘Testing’ and ‘Unstable’. Each release is given a codename from a character in the movie Toy Story. It took me some time to realise this. When a new upstream application version enters Debian, it is uploaded to the unstable repositories and generally, depending on bugs raised, will cascade into testing. When testing is considered reasonably stable and ‘release blocker’ bugs are resolved, it is ordained to be the next stable release. This process produces a very stable platform when it is released. However, the applications available in stable can often become quite old. Consequently, many Debian users actually use the ‘testing’ version on their everyday machines.
Ubuntu is a trademark of Canonical Ltd, the largest sponsor of the distribution. The firm employs many developers to work on Ubuntu and upstream projects. However, much of the work is also taken on by the prolific community. Empirical evidence suggests that the Ubuntu community is one of the largest online communities. Although Canonical currently dictates a majority of the direction of Ubuntu, there is increasingly more pressure that it needs to compromise with
Some of these issues are things like open-sourcing Launchpad [the bug tracker and source manager that Ubuntu uses], which I’m not entirely satisfied would have happened with the same timing had it not been pressure from the community. Other things include the default bundling of applications that connect to Canonical proprietary projects such as UbuntuOne [file sync app] and Landscape [monitoring and remote management] – although we are yet to see some serious compromises on these, if ever.
There is also an Ubuntu Foundation that has dedicated funds of $10 million that could keep Ubuntu going if Canonical stopped backing it. I’ve previously been critical of Canonical keeping the grasp on the trademark, and not giving the dormant Foundation greater control. With the funds Canonical has put into Ubuntu I suppose it is reasonable for it to have a pseudo-guaranteed position. Mark Shuttleworth has been a member of the ‘Community Council’ since inception and was willing to stand for election as if he was any other person of the community. This is quite telling of Canonical not enforcing a control that it legally could. At the last developer summit Mark announced that he would be passing the helm to Jane Silber allowing Mark to take a more ‘hands on’ role.
One of the founding principles of Ubuntu was that it would follow ‘time-based release cycles’. This means that every six months a release is made on a specified date. Every two years there is also a Long Term Support (LTS) version that receives updates for a longer period. The names of the releases are currently based on animal names, chosen in alphabetical order; so Karmic Koala is followed with Lucid Lynx. The version numbers are derived from the release date, with 10.04 meaning April 2010.
One of the benefits of time-based releases is that this method tends to increase the pace of development. This is because there are constant deadlines, ranging from an upload freeze to prepare the alpha and beta versions, to other deadlines like ‘Feature Freeze’ and ‘Debian Import Freeze’. As the months pass, there are a series of CD images created, ranging from a daily build to declared ‘Alphas’. These are essentially images created from the content in the official repositories, using various scripts to plumb them together.