Debian and Ubuntu are distributions that lend themselves naturally to comparison. Not only is Ubuntu a continuing fork of Debian, but many of its developers also work on Debian.
Even more important, you sometimes hear the suggestion that Ubuntu is a beginner’s distribution, and that users might consider migrating to Debian when they gain experience.
However, like many popular conceptions, the common characterizations of Debian and Ubuntu are only partially true. Debian’s reputation as an expert’s distribution is partly based on its state a decade ago, although it does provide more scope for hands-on management if that is what you want. Similarly, while Ubuntu has always emphasized usability, like any distro, much of its usability comes from the software that it includes — software that is just as much a part of Debian as of Ubuntu.
So what are the differences between these Siamese twins? Looking at installation, the desktop, package management, and community in the two distributions what emerges is not so much major differences as differences of emphasis, and ultimately, of philosophy.
Ubuntu’s standard installer places few demands on even novices. It consists of seven steps: the selection of language, time zone, and keyboard, partitioning, creating a user account, and confirmation of your choices. Of these steps, only partitioning is likely to be alarming or confusing, and, even there, the choices are laid out clearly enough that any difficulty should be minimized.
The limitation of the Ubuntu installer is that it offers little user control over the process. If you are having trouble installing, or want more control, Ubuntu directs you to its alternate CD. This alternate CD is simply a rebranded version of the Debian Installer.
Contrary to what you may have heard, the Debian Installer is not particularly hard to use. True, its graphical version lacks polish, and, if you insist on controlling every aspect of your installation, you might to blunder into areas where you can only guess at the best choice.
However, the Debian Installer caters to less experienced users as much as experts. If you choose, you can install Debian from it by accepting its suggestions with only slightly more difficulty than installing Ubuntu would take.
Desktops and Features
Both Debian and Ubuntu are GNOME-centered distros. Although each supports a wide variety of other desktops, including KDE, Xfce, and LXDE, they tend to be of secondary importance. For instance, it took six weeks for Debian to produce packages for KDE 4.4, while Kubuntu, Ubuntu’s KDE release, has received relatively little attention in Ubuntu’s efforts at improving usability.
Debian offers a version of GNOME that, aside from branded wallpaper, is little changed from what the GNOME project itself releases. By contrast, Ubuntu’s version of GNOME is highly customized, with two panels, whose corners are reserved for particular icons: the main menu in the upper left, exit options in the upper right, show desktop in the bottom left, and trash in the bottom right. Ubuntu’s GNOME also features a notification system and a theme that places title bar buttons on the left — controversial innovations that are unique to Ubuntu (unless some of its derivatives have adopted them recently).
In its drive towards usability and profitability, Ubuntu also boasts several utilities that are absent from Debian. These include Hardware Drivers, which helps to manage proprietary drivers, Computer Janitor, which helps users remove unnecessary files from the system, and the Startup Disk Creator wizard. In addition, Ubuntu offers direct links to Ubuntu One, Canonical’s online storage, and the Ubuntu One music store.
Theoretically, these extra features should make Ubuntu easier to use. And, perhaps for absolute newcomers, they do. However, for many users, the difference between the standard Debian and Ubuntu desktops will be minimal. These days, what determines the desktop experience is less the distribution than the desktop project itself. Ubuntu does usually make new GNOME releases available faster than Debian does. But if you are using the same version, your desktop experience will not differ significantly no matter which of the two you use.
Packages, Repositories, and Release Cycles
Debian and Ubuntu both use .DEB-formatted packages. In fact, Ubuntu’s packages come from the Debian Unstable repository for most releases, and from the Debian Testing repository for long term releases (see next page).
However, that does not mean that you can always use packages from one of these two distributions in the other. If nothing else, Debian and Ubuntu do not always use the same package names, so you may have dependency problems if you try. For example, in Debian, you want kde-full or kde-minimal to install KDE, while in Debian, the package you want is kubuntu-desktop. The differences in names can be especially difficult to trace in programming libraries.
Another difference is the organization of online software repositories. Famously, Debian divides its repositories into Unstable, Testing, and Stable. There is also Experimental, but, since that is only for the roughest of packages — the first drafts, you might say — most users either avoid it, or else take only the smallest, most self-contained packages from it.
Packages that meet the minimal standards for quality for Debian are uploaded to Unstable, and then find their way into Testing. There, they stay until a new Stable release is planned, eventually undergoing a final series of bug-testing and being included in the new release.
In effect, the Debian system allows you to choose your own level of risk and innovation. If you want the very latest software, you can use Unstable — at the risk of running into problems. Alternatively, you can choose Stable for well-tested software supported by constant security updates — at the risk of missing out on the latest software releases. Since Debian releases can be irregular, sometimes, the Stable release is extremely old indeed.
Similarly, the internal organization of each Debian repository allows you to choose the degree of software freedom that you prefer. Unstable, Testing and Stable are each further subdivided into main (free software), contrib (free software dependent on other none free software) and non-free (software free for the download, but having a non-free license). By default, Debian installs with only main enabled, so you have to edit /etc/apt/sources.list if you want the other repositories.
All this is very different from the organization of Ubuntu’s repositories. Instead of being organized by testing status, Ubuntu’s repositories consist of Main (software supported by Canonical, Ubuntu’s commercial arm), Universe (software supported by the Ubuntu community), Restricted (proprietary drivers), and Multiverse (software restricted by copyright or legal issues).
In recent years, these have been joined by Backports (software for earlier releases), and Partners (software made by third parties). For those who want the very latest, Ubuntu also has Launchpad, a combination of a project website and Debian’s Experimental repository.
The result is a mixture of criteria. Ubuntu’s Main repository is free and tested, while Universe is free but possibly untested (nor do you have any quick way of knowing which packages are untested). Restricted and Multiverse are proprietary, but their testing status is uncertain, while the freedom and quality of Backports and Partners packages has to be individually researched.
As with Debian’s repositories, Ubuntu’s show a concern with quality and software freedom, but, unlike with Debian, judging a package by either criteria is vastly more difficult.
Given that Ubuntu releases on a six-month cycle, using packages from Debian Unstable or Testing, on the whole Ubuntu’s software tends to be less well-tested than a Debian official release based on Stable. In fact, from time to time, you can see complaints on the Ubuntu community forums about problems with particular packages.
Such complaints are far less common in Debian. However, to be fair, impatience with the slowness of official releases tempts countless Debian users into dabbling with Testing, Unstable, or even Experimental, and rendering their systems unusable.
Community and governance
For many users, technical issues are probably the main concern when choosing a distribution. However, for more experienced users, the communities and how they operate can be equally important — and Debian and Ubuntu could hardly be more different.
The Ubuntu community is only six years old, but it long ago established itself as a very different place from Debian. Interactions in the Ubuntu community are governed by a Code of Conduct, which is largely successful in ensuring that discussions are polite and constructive. At the very least, the code provides a measure of expected behavior that can be referred to when discussions threaten to run out of control.
By contrast, the Debian community has a reputation of being a more aggressive place — one that has sometimes been accused of being unfriendly to women in particular and newcomers in general. This atmosphere has improved in the last few years, but can still flare up.
One reason for this atmosphere is that Debian is an institutionalized meritocracy. Although non-developers can write documentation, test bugs or be part of a team, becoming a full Debian Developer is a demanding process, in which candidates must be sponsored by an existing developer, and repeatedly prove their competence and commitment.
That said, among full developers, Debian is a radical democracy, with its own constitution outlining how it is run and how decisions are made. The Debian Leader is elected by the Condorcet method of ballot counting, and has more power to control than to coordinate. Instead, mailing lists are used to discuss problems to the point of exhaustion, and general resolutions about distribution policy may follow.
One reason that Debian discussions have a reputation for unruliness may simply be that much of the governance is done in public by dedicated people.
Ubuntu shares the tendency to meritocracy and transparency that is part of most free software projects. However, although that spirit prevails most of the time in daily interactions, ultimately, major policy decisions are determined by Mark Shuttleworth, Ubuntu’s founder and self-described benevolent dictator for life. Those who work closely with Shuttleworth — most frequently, Canonical employees — also tend to have a larger say than others in the Ubuntu community. However, this authority tends not to be exercised except for deciding major strategic directions, and, even then, only after monitoring of community discussion.
In the end, the difference between the Debian and Ubuntu communities lies in their core values. Although less important than a few years ago, Debian remains a community-based distribution, dedicated to its own concepts of software freedom and meritocratic democracy, even at the expense of rapid decision making. Ubuntu, however, for all its strong community, is also the key to Canonical’s success as a business. If Ubuntu is more hierarchical than Debian, it is still more open than the majority of high-tech companies.
Making a choice
Despite their common origin, Debian and Ubuntu today are significantly different. When you are choosing between them, the decision is not a case of right or wrong, or of superiority or inferiority, but of what matters to you.
On the one hand, since Ubuntu forked, Debian has continued much as it always has. As a distro, it is aimed at all levels of users. It favors free software ideals, de-emphasizing proprietary software and seeing upstream projects such as GNOME as the place where changes should occur, rather than the distribution. Yet, at the same time, its community values prompt Debian to give the maximum freedom of choice in their software.
In order to maintain these imperatives, Debian is perfectly willing to have long periods between releases and outdated official releases, because it is a community effort, in which business values such as timeliness and being current are secondary concerns.
On the other hand, Ubuntu has singled out the new user as its audience. While it has by no means abandoned free software ideals, it is more likely than Debian to countenance proprietary software, either for the convenience of users or to make the distribution more competitive as a product. Meeting its release schedule is at least as important as software quality in Ubuntu, and commercial success is important enough that Ubuntu developers are willing to make changes in the distribution rather than upstream in order to have them as soon as possible. Generally, Ubuntu is a friendlier place than Debian, but also a less democratic one.
For many people, the ideal distribution would probably have aspects of both Debian and Ubuntu. But, since that ideal does not exist, in the end making a choice is a tradeoff. Users must decide which values or tendencies matter most to them, and choose from there, knowing that either choice may not be entirely satisfactory.