Now and again, someone asks me “Why do you use Debian?” or “What’s so great about it? Why don’t you use (insert any other Linux distribution here)? I never quite know what to say. I’ve gotten so wrapped up in why Debian is great that it has become hard to imagine how someone else couldn’t see what I admire in it.
So.. what IS so great about it?
It’s great for similar reasons as Wikipedia. Wikipedia builds this huge collection of free articles, pictures and videos and assimilate it by making sure the content is free, that statements are properly backed, that there are proper links between articles and probably a few dozen really big things I haven’t even ever thought about.
Great community. Debian has some parallels to Wikipedia. It’s almost like a Wikipedia but for software instead of articles. It assimilates free software and makes it easy to use on a very wide variety of systems. It does so better than any other system that exists (at least IMHO, I list just some of the reasons for saying that below). Packagers are like editors on Wikipedia. They integrate all kinds of free software into the system, making sure it meets the project’s quality standards and that the licensing is sound.
Operating system support. You can run Debian with a Linux, FreeBSD or GNU/Hurd kernel. FreeBSD and GNU/Hurd is admittedly not as rounded as Linux in all situations, but just the fact that you have a choice of operating system kernel and that the project supports 3 of the most well known ones is amazing. I can’t even think of one other system that actively works on supported different kernels.
Desktop support. Some systems focus on Gnome, KDE or in the case of Ubuntu, Unity. Debian supports a really wide variety of desktop environments. Gnome, KDE, Xfce, LXDE, Fluxbox and more are all fully supported and in the main archive.
Architectures. It runs on a really amazingly wide range of hardware. It runs officially on i386, amd64, armel, sparc, powerpc, ia64, mips, mipsel, and IBM/s390, but you can also run it unsupported on alpha, armhf, avr32, hppa, m68k, powerpcspe, sh4 and sparc64 architectures. Debian scales from some of the tiniest computers that can run an operating system to the world’s most powerful super computers.
The Debian Social contract. Many distributions exist to make profit. There’s nothing wrong with that and I fully support that people use free software to make a living (I’d be a hypocrite if I said otherwise). Unfortunately, many distributions also base their choices on their profit motives. Decisions are often made based on “What’s going to make us profit right now” as apposed to “What will be best for our users now and in the long term?” (I’ll stay away from specific examples for now because this blog post is about Debian and not Oracle, Novell and similar companies). Debian exists for its users. It’s mission is defined in the Debian Social Contract. Decisions are made based on what’s best for the user and not to maximize benefits of the project sponsors.
If I don’t stop here I’ll go on all night. And I haven’t even started talking about how great APT is yet or that Debian has pretty much the largest collection of high quality packages available. Or how reliable upgrades are. But this blog entry isn’t about convincing people to use Debian, it’s about expressing why I like it so much and I’ve probably expressed that sufficiently already.
Oh yeah, I get some uphill from people for liking Debian, I can deal with it.
What about Ubuntu? There are some shortcomings in Debian that can’t really be fixed due to its public commitments, or at least, fixing them would break things in Debian. Apple has created a huge eco-system around the Apple App Store. It’s how people buy applications now on most Apple systems. It’s been so successful that Google has used the same concept on the Android Marketplace. Many other systems are doing it too, Ubuntu is promoting free software and non-free software alike in it’s Software Center. Ubuntu will be making it easier for people to buy and install non-free software. Some critics might say that Ubuntu is promoting non-free software that way, but it’s a good experiment and it’s great that it can happen without having to be part of the Debian project. There are more things that Ubuntu does that would be really difficult to get into Debian, but I don’t want to focus on that because Ubuntu is really a *great* Debian derivative. It has delivered Debian (in some form) to more users than Debian itself has by relentlessly working on making it as easy to install and maintain as possible. On top of that, Ubuntu does a great job of submitting their fixes and improvements back to upstreams and to Debian itself. I use Ubuntu on my home desktop and some servers and support it at clients on a daily basis. I think it’s a worthy project and it’s great that it exists. So why do I sometimes use Debian instead of Ubuntu? On servers, stable releases of Debian and Ubuntu LTS releases are quite close to each other. Debian provides more testing before releasing and only releases when the system is ready, where Ubuntu sticks to a committed release time. Ubuntu’s release cycle also has it’s own benefits, but recently I’ve come to prefer Debian Squeeze on my own machines (I don’t even have to use Plymouth!) and I know many people feel differently about it and that’s fine. On my laptop I’m a bit more risky.. I want new, cutting edge, I don’t mind if there’s some problems now and again and I’m happy to fix it when it does pop up. I run Debian Unstable on my laptop with packages from Experimental. It works great for me. I’ve been running it again (used to do it before Ubuntu started) since late last year and besides a transition to /run that caused dbus to break and gdm not to start for one evening, I haven’t any problems worth mentioning. On development versions of Ubuntu the ride is typically much more bumpy. That’s not a problem for most Ubuntu users since users usually stick with with stable releases, and Ubuntu releases often enough (way more than Debian) so that they could still have newest software on a regular basis. There are many views on Debian and Ubuntu, in my opinion Ubuntu is an important and relevant derivative and even though it’s goals are somewhat different, it compliments and promotes many of the Debian ideals.
It’s old! Debian’s release cycle isn’t a bug, it’s a feature. I’ve mentioned some of the benefits of releasing when ready above. On top of that, Debian has also made its backports repository an official resource, which makes it easier to get newer software on stable releases. There are also micro-sites like mozilla.debian.net where users can get some specific backports for certain types of packages. I guess Debian could really benefit from something similar to PPAs for this. Unfortunately Launchpad.net doesn’t support Debian builders (understandably so since waiting times on Ubuntu packages can already be quite high). The concept of another PPA implementation has been bought up on the Debian lists before and I have a lot to say about it, but that will be another blog entry. Also, Debian has something in between stable releases (which can get quite old on desktops) and unstable/experimental (where all the active development is taking place). When a package has been in unstable for a while and doesn’t do harm to your system, it’s promoted to an repository called ‘testing’. In testing you get a good combination of stability and new software. Admittedly you probably don’t want to deploy testing in large corporate environments since it’s officially unsupported, but for personal machines and for the typical hacker, it’s known to work great.
Choose 10 completely random numbers! 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. (I never claimed that Debian is perfect)
Debian has a large and vibrant community with a big eco-system around it. It has many derivatives, some of them extremely high-profile and special in their own right. The whole effort is spectacular and awesome- and it’s all from a completely distributed world-wide self-governed community project. Sure, it’s not perfect, but I can’t help to look at it and admire it as one of the wonders of the age of information.
And now I have something to point to when people ask me, “Why do you like Debian?” :)