The first and probably most important trait of Debian is its unparalleled stability. Debian stable redefines the term rock solid. In fact, when a piece of stone wants to learn how to be more solid, it installs Debian…
Really, stable means in Debian terms stable. Or more like STABLE!!! That is basically because everything that makes it into stable has been tested and patched and tested and patched again until the testers and patchers cried blood and could not feel their fingers. OK maybe that is a bit of an exaggeration, but it is true that all packages of Debian stable are considered production-grade stable, meaning there are no known, (and possibly very few unknown) problems with the software. You can rest assured, that your system will not break, and everything will work five years from installation just as good as on day one (unless you mess it up somehow yourself).
If you use your computer for work or run a server, this is one thing you will really appreciate. Here‘s how Debian grades system stability, and the recommended way to choose between stable, testing and unstable.
No constant nagging to upgrade your system
Have you ever been annoyed by the “System update available” messages in Window$ (especially when they make the system shutdown into an hour-long process)? Or better yet, has its tenth iteration ever started a forced upgrade when you least expected it? Expect the same nagging from Ubuntu and derivatives (minus the shutdown bit, or the forced upgrades). Every single day. Or almost. You’d keep installing updates. It never ends. This is probably a minor issue, and you can surely automate things, but even though it is great to have the newest and shiniest, constant updates will also introduce some problems, such as:
Will you know what changed? Not always.
If functionality changes, how will you know, you like the new way, or would prefer to stick to the old one? You won’t, you’d upgrade and take what’s given.
Will the updates make the system unstable? Probably. Some changes can introduce unexpected issues or behaviour.
Besides, being constantly nagged to upgrade right now or perish, is plain annoying.
That said, upgrades have their merits: They can introduce security fixes and patches. Debian stable, if configured properly, does get its share of regular security patches and fixes, so you are not missing out on anything.
No PPA mess
Yes, PPAs can be great… But, apart from putting the system into the maintainer’s hands, and (usually) blindly installing anything from them, because it seems convenient, all those PPAs are not administered from where the rest of the software comes. If one breaks, or the maintainer discontinues, your system will be left with some broken install paths. Not a big issue to consider, but looking at the other side: software is untested by the makers of your system, using PPAs can introduce stability and security problems to your system.
If your system is for fun/experimenting/messing about, it is just fine, but for work/production machines, reliable home PCs or servers, this is a no-go.
Loads of software
Debian comes with more than 30 thousand software packages by default. That’s a lot. Debian derivatives, like Ubuntu, do of course inherit all that, but others like Fedora, CentOS and similar might lack many of the software available for Debian systems.
(Simple) choice of desktop
The Debian installer will simply ask you, which Desktop environment you prefer, and even lets you have more than one. Some distros, like Ubuntu, sometimes decide to push their own “home cooked” environment (remember Unity?), and try to make you use it. If you ever tried using Unity, you’ll know… it takes some getting used to. Although some people seem to like it, it is often down to trying to like what we have, instead of trying to have what we like.
Of course, it is not difficult to get another DE (or even multiple DEs) in Ubuntu, but the point is, by being DE agnostic (mostly), Debian can focus on more important tasks (like testing) instead of developing a DE (and specific tools that only work with that). That said, nobody knows, what Debian developers really spend the time they gain by not having to worry about developing a DE. They probably just waste it anyway…
[T]he producers of the Debian system, have created the Debian Social Contract. The Debian Free Software Guidelines (DFSG) part of the contract, initially designed as a set of commitments that we agree to abide by, has been adopted by the free software community as the basis of the Open Source Definition.
That alone should speak for itself. the social contract includes five major points:
Debian will remain 100% free
We will give back to the free software community
We will not hide problems
Our priorities are our users and free software
Works that do not meet our free software standards
(You can read the full social contract here, with more details about each point.)
Compare that to Canonical, the company behind Ubuntu, whose first and foremost target is profit and sales. Ubuntu used to have an “Ubuntu manifesto” up on their site, which had some similarly lofty goals, but it has silently disappeared from Ubuntu’s servers. What remains of it is a page titled “our philosophy“, which talks about Free Software and Open Source in general terms, and that Ubuntu will always be free, which is not quite true. So not only did Ubuntu not stick to its original goals, changed its terms with which people started using it, without letting them know, it even dishonours users by misinforming them about the nature of the system. Not nice, not nice at all.
In short: Ubuntu is all about business, while Debian is about the community it serves.
We have already touched on this one above. Debian is based on free software only, (although it allows the user to install non-free software), while Ubuntu and its derivatives include non-free software by default. And then they call themselves free. Go figure.
The Free Software Foundation is really strict about which distributions it will endorse. Surprisingly, none of the mainstream Linux distributions is officially acknowledged by the FSF as being totally free (not even Debian), although this is only surprising for the first glance. Here’s what the FSF has to say about Debian:
Debian’s Social Contract states the goal of making Debian entirely free software, and Debian conscientiously keeps nonfree software out of the official Debian system. However, Debian also provides a repository of nonfree software. According to the project, this software is “not part of the Debian system,” but the repository is hosted on many of the project’s main servers, and people can readily learn about these nonfree packages by browsing Debian’s online package database.
There is also a “contrib” repository; its packages are free, but some of them exist to load separately distributed proprietary programs. This too is not thoroughly separated from the main Debian distribution.
Previous releases of Debian included nonfree blobs with Linux, the kernel. With the release of Debian 6.0 (“squeeze”) in February 2011, these blobs have been moved out of the main distribution to separate packages in the nonfree repository. However, the problem partly remains: the installer in some cases recommends these nonfree firmware files for the peripherals on the machine.
So even though Debian considers itself free, the FSF does not quite agree. As a user, you should be aware of such issues. With Debian you will always have a choice to go the “free way” and not install any non-free software. So in a sense, you are free to choose. Of course, there are legitimate concerns about this approach as well.
Just for gossip’s sake, let’s see what the Stallmanian strictness has to say about Ubuntu:
Ubuntu provides specific repositories of nonfree software, and Canonical expressly promotes and recommends nonfree software under the Ubuntu name in some of their distribution channels. Ubuntu offers the option to install only free packages, which means it also offers the option to install nonfree packages too. In addition, the version of Linux, the kernel, included in Ubuntu contains firmware blobs.
The “Ubuntu Software Center” lists proprietary programs and free programs jumbled together. It is hard to tell which ones are free since proprietary programs for download at no charge are labelled “free”.
Since October 2012, Ubuntu sends personal data about users’ searches to a server belonging to Canonical, which sends back ads to buy things from Amazon. This does not, strictly speaking, affect whether Ubuntu is free software, but it is a violation of users’ privacy. It also encourages buying from Amazon, a company associated with DRM as well as mistreatment of workers, authors and publishers.
This adware is one of the rare occasions in which a free software developer persists in keeping a malicious feature in its version of a free program.
That page spreads confusion by using the misleading term “intellectual property rights”, which falsely presumes that trademark law and patent law and several other laws belong in one single conceptual framework. Use of that term is harmful, without exception, so after making a reference to someone else’s use of the term, we should always reject it. However, that is not a substantive issue about Ubuntu as a GNU/Linux distribution.
That seems like way more concern than in Debian’s case.
Ubuntu had its share of bad decisions in the past
Yes Ubuntu is prettier, yes Ubuntu is more popular (or is it?), yes Ubuntu is more beginner friendly (it really is), but Ubuntu is far from perfect.
Or at least ad-ware, if we are less strict. There has been a lot of turmoil about Ubuntu sharing its users Desktop search results with Amazon(!) and providing suggestions of products from them. You can consider it just ad-ware (which it most simply is), or even spy-ware, as it does, in fact, steal your personal information and share it with a third-party, without your consent or knowledge. This alone should be enough reason to ditch Ubuntu for good and never even think about it again. Ever. (Never mind that you could actually opt-out of this. It should never have been the default behaviour, and that's that. This had fortunately been fixed since.)
Don’t believe it? Hear it from the authority:
The rise and fall of Unity and Mir
I will not write a history lesson, don't worry, but when any bad choices regarding Ubuntu are mentioned, the fate of the Unity Desktop and the Mir display server are always worth mentioning.
Originally an alternative shell for the GNOME Desktop, Unity has been around since 2010. The (theoretically) touch optimised UI had become the main Desktop Environment for Ubuntu in 2011 due to "philosophical differences" with GNOME developers.
The new desktop had mixed reactions, some loved it, some hated it, while some (the more reality-focused folk), pointed out that it just makes no sense: It had huge icons, but tiny window controls, which basically made it practically useless on a touch-based interface. Besides, there have not been too many touch-enabled devices running Linux then, a situation that which has not improved a lot since. Nevertheless, Unity had become almost one with Ubuntu. In the years to come, it was difficult to even imagine one without the other.
Then, possibly to add insult to injury, in 2013 Canonical (the company behind Ubuntu) announced the Mir Display Server, that they've planned would once replace the already dated X Window System. Problem was that another X replacement "Wayland" had already been in development for nearly five years by the time Canonical decided to pursue their own solution.
Thus Ubuntu chose to abandon everything and have its own way. Remember these are free and open source software tools, that heavily depend on community contributions in their code development and maintenance. There are a lot of contributors, but few of them can give their full attention to the projects, as a lot of them have other (day) jobs that pay their bills, and these projects are more like a (very serious) hobby. Instead of contributing back to larger, more mature projects like Gnome or Wayland, Canonical basically pulled a lot of development effort out of these software projects to pursue its own goals. Not very nice.
It would have been still fine, eventually, Unity became widely accepted, and surprisingly few people flounced about all this. After all FOSS software is a democratic world, everyone can have their own way. Even if this way doesn't always end with "land". But fast forward to 2017, when Unity 8's development had been stalling for a while already, and Mir was but dragging along... and Canonical suddenly announced they are abandoning both projects, and returning to GNOME. Bang!
7 (or 4, in case of Mir) years out of the window(s), just like that. All those years that Canonical's developers could have spent with contributing to things that are, and will remain active, went into waste. Well not altogether, but mostly. Remember Canonical is a company, not just a bunch of volunteers like most other projects have. I'll let you draw your own conclusions, but to say Ubuntu did have its fair share of bad decisions, is probably an understatement after all this, plus the spyware controversy (see above).
Nobody can accuse Debian, or its developers, of being perfect, but one can say any day that they at least do their thing with integrity. Being governed by a democratically elected committee, Debian is not a company, and their main interest is not profit, or anything financial. Decisions are not made by a few company leaders, but by the developer/maintainer community, again democratically. Which basically means, no (or few) such bad surprises.
(OK, let's not talk about the systemd controversy here (even though most people who find it controversial have very little idea about what it all really means)).
Debian “just works” (except when it doesn't)
Easy as that. You install it and configure it once (although it might be a bit longer than with other systems, these posts are here to help). After that, you only need to log in and use it. And it will just do what it’s meant to do. Details above.
Of course "just works" can be interpreted like "works out of the box", as in you install it and use it, which many popular distributions aim to do for their users. This is a noble goal, and does work, to an extent. Ubuntu and Linux Mint are two examples of such distros, requiring minimal after installation configuring and fiddling, but neither of these distributions offers the stability and peace of mind Debian does.
With Debian, you configure once and keep using it for years, without any issues. None of the more user-friendly distributions can achieve that, and this means their user-friendliness is severely limited. They start as user-friendly, as the immediate impression but this might end when issues crop up later with subsequent (and often just a little too frequent) updates. With Debian, it's the opposite. It might come off as "unfriendly at first", but once tamed, it remains "friendly" (as in not having to touch anything), possibly until the next major release comes out (which usually takes years), and even beyond that.