Alon Swartz's picture


Jeremy Davis's picture

I just found an interesting article on Ubuntu vs Debian for server use.

The bit that really caught my attention (partial quote):

...I realised that I didn’t trust the build quality of the [Ubuntu] LTS releases as much as I trusted the build quality of Debian stable releases. Thinking about it further, I was having a hard time convincing myself to run an Ubuntu server. The reason being the way packages are tested in the Debian repositories. Consider for example a package that’s uploaded to the unstable repository. Before that package can reach the testing repository, it much meet certain criteria:

  • After the package has been in unstable for a given length of time, it can qualify for migration to testing. This depends on each package, and the urgency of the migration.

  • The package can only enter testing if no new release critical bugs exist. This means, that the package must have fewer release critical bugs than the current package in testing.

  • All dependencies needed for the package must be satisfiable in the current testing repository. If not, those packages must be brought in at the time the current package is, and they must meet the same criteria related to time in unstable and the number of release critical bugs.

  • The package migrating to testing must not break any other packages currently in testing.

  • It must be compiled for all release architectures it claims to support, and all architecture specific packages must be brought in as well, meeting the same criteria as mentioned.

The above criteria for packages entering the testing repository ensure that packages are reaching a bug-free state for the next stable release. The goal is to have the number of release critical bugs drop and drop and drop approaching zero. Of course, bugs are only brought about by an active community reporting them, then decided on whether or not the bug is critical enough to be labelled a release critical bug. After the packages in testing have reached sufficient maturity and have few enough bugs to qualify a release, the testing repository is brought to stable. The current stable becomes “old stable”, and the current testing is reprepared for the next stable release. So, in theory, the stable distribution is STABLE. Rock sold stable. Anyone who’s anyone in the Linux world knows that Debian stable is just about as stable as you can get for an operating system...

Definately food for thought!

Liraz Siri's picture

The release cycle and development process for Debian vs Ubuntu reflects different priorities and trade offs.

When Ubuntu was first launched, Debian's release cycle had a reputation for being incredibly slow and ineffective. "Glacial" was the word used. Debian prioritized stability at the expense of having the latest features. This sort of made sense for server applications, but was often very frustrating for desktop users. At the time, other Linux distributions had made great strides forward in terms of desktop usability and the latest stable Debian release was lagging a few years behind.

On the other hand, Debian's quality standards where so much higher than other distributions at the time that the "testing" or even "unstable" development branches often had less bugs than the "releases" of other distributions.

This is the vacuum which Ubuntu stepped in to fill. Ubuntu basically takes a snapshot of Debian every few months, freezes it, works out the major issues (while adding a few bugs of its own), optimizes the configuration for usability and labels it as a release. There isn't time in the 6-month cycle to do much more then that. Also many people don't realize this but Canonical, despite Shuttleworth's wealth does not have anywhere near the manpower that Debian has with it's huge volunteer base.

Today, Debian has learned from Ubuntu and has become better at managing its release process so there is less of a concern regarding lagging behind the rest of the open source world.

Also, Ubuntu supports a much more narrow range of packages compared with Debian which is why TurnKey Linux, even though it is based on Ubuntu imports some packages from Debian and configure the package management system to get security updates from them.

The main advantage Ubuntu has over Debian is better commercial support, more effective leadership and far superior marketing and brand recognition.

Jeremy Davis's picture

I didn't have the historical context and have never actually used Debian (other than my current Proxmox server, which is obviously not quite the same). Also I would've guessed that Ubuntu had a much bigger support base which is interesting. I guess it makes sense, as whilst Ubuntu may currently have a larger customer/user base and is definately marketed much better, many of the users are noob users (like me - but I'm getting there!)

Add new comment