Quite some time ago I wrote a blog post explaining why I preferred Mandriva over other distributions. But I have now switched to Debian GNU/Linux, so it is time for an update. I will mostly compare with Mandriva because that is where I come from and what I know the best, although most points are rather universal.
So, these are some reasons why I prefer Debian GNU/Linux over other distributions:
- All officially released Debian GNU/Linux stable versions are supported for a long time. Where most other free distributions are supported for about 1,5 year, this is much longer for Debian stable. For example, security updates for Debian Etch were published up to about 3 years after its release.
- Debian is more stable than most other distributions. This is due to the large amount of testers and due to Debian’s unique development model: the “unstable” branch contains only software which is considered stable upstream (with a few generally accepted exceptions). When a package is in “unstable” for 10 days without new release critical bugs it gets moved to the “testing” distribution. The stable releases are a snapshot of the testing distribution after a freeze during which all release critical bugs are fixed. Releases of the stable distribution are not time driven: the stable distribution is only released when it is really ready.
- By using apt pinning it is possible to easily mix and match packages from different repositories so that you can run the latest version of specific applications. Apt pinning can be used to pick packages from the extensive backports repository or to install packages from the testing, unstable and even the experimental repositories without having to update your whole system to the same release (unlike Mandriva for example, and as far as I know the same is true for other distributions like Fedora). Instead, carefully defined dependencies will make sure that all packages which need to be updated together are pulled in, resulting in a working system.
- Due to Debian’s development model it is possible to run a pretty up to date system at any time without sacrificing stability by using the testing distribution. I am now running Debian Lenny testing different systems for more than a month, with software which is often more up to date than in Mandriva 2010.1, yet the system is much more stable in general than my systems which were running Mandriva 2010.1.
- Debian is fast. Debian Squeeze boots up very fast without hacks like Mandriva’s speedboot, readahead or preload. Also application start up is very fast. I am not really sure why this is the case, but my guess is that this is due to Debian’s simplicity: it does not install too much daemons and boot up scripts by default. Also Debian uses dash instead of bash for /bin/sh, which also results in faster boot times. Shutdown also feels faster than what I was used to in Mandriva.
- Debian is secure. Because stable versions are supported for about 3 years and because security updates get released very fast. Debian also plays a rather active role in fixing security problems. For example, Debian’s webkitgtk maintainer searched for all webkit security patches and ported them to the webkitgtk 1.2 branch. The fixes were included in Debian’s webkitgtk and then were also included upstream in webkitgtk 1.2.3.
- Debian is available for lots of platforms. You have an old PowerPC based laptop, a GuruPlug or OpenRD system with ARM processor or a SUN UltraSPARC server? Debian will run on all these systems.
- Debian values freedom. Debian allows me to use my GNOME system without PulseAudio without loosing my volume applet in the panel (like was the case in Mandriva). But of course, if you want PulseAudio it is available and you can install it. Debian is not exclusively tied to the Linux kernel: there exist versions with a FreeBSD or even HURD kernels. The choice is up to you. Debian uses the Exim MTA by default but if you do not like this, other MTA’s are available and are equally well maintained and integrated into the distribution. Debian does not include non-free software by default, so that you can safely use distribute and even modify the software in all possible situations without having to worry about the license. But if you want to use non-free software, it is available in the non-free repository.
- Debian is very “standard“. It does not replace standard components by its own implementations like especially Ubuntu is doing. That means that Debian does not use non-standard things like Upstart, notify-osd or indicator-applet by default or does not move the window decoration buttons to the left side. Of course if you do want to use these csutomizations, they are all available (Debian values freedom!), but by default Debian prefers to use the standard upstream software. This ensures the best compatibility with upstream now and in the future, because all these non-standard Ubuntu things might cause conflicts later on with new upstream design decisions.
- Debian is not owned by a commercial organization. The free distribution is not some kind of crippled version of a commercial product which has all features and software available. It ensures also that decisions are not taken based on commercial interests, but only in the interest of the community. If you do want commercial support, there are many companies supporting Debian all over the world.
Related to that: today is Debian’s 17th anniversary and Debian Appreciation Day. If you use Debian, let the Debian community know you appreciate their work http://thank.debian.net.
I like Debian. It makes no apologies for what it is. However, I’d put PCLinuxOS’s rock solidness up against Debian’s, anytime.
What I don’t like about Debian, or its offspring, is the goofy runlevels. RPM based distros make better use of them. Also, after using Mandriva, Suse, and PCLinuxOS for so long, the lack of something like Mandriva’s (and PCLinuxOS’s by extension) control center, or Suse’s YaST is something I just can’t live with for very long. I don’t have to fiddle with hardware or system settings much, so when I do, I prefer not to have to research what call to make in a terminal or what file to hack to get it done. I’d rather fire up MCC, PCC, or YaST and just get it done in a few mouse clicks. I’m not interested in having the ability to rattle off terminal commands… I just want the system to work.
Debian is one of those distros like Fedora. It is what it is and makes no apologies for not being the easiest to use distro around. It’s just not for me.
To each his own… but to that I answer: Choose a distro, and you’re also choosing a repository. PCLinuxOS’s repository has all the software most people need, but it’s tiny compared to vast, huge, ginormous treasury of stuff in the Debian repos.
A search for RPM software packages offers much fewer results to choose from. One can find .debs for just about any software there is for Linux, perhaps thanks to the popularity of Ubuntu as well.
Choose a distro – and you’ve chosen their repositories. And I don’t ever recall seeing a choice of PCLinuxOS versions to compare with “Stable,” “Testing,” or “Unstable.” Only different “spins” based on different default desktop environments. I’ve been playing with Phoenix lately (great, by the way – fast, gorgeous, wonderful) and I must say: People who complain about Xubuntu being “bloated” have not seen Phoenix! If they did, they’d think Xubuntu was lean by comparison! I know I could change whatever I wish, and I don’t always agree with X/K/Ubuntu’s choices – but I don’t think the ones in PCLinuxOS are preferable either.
There’s quite a bit of Debian in PCLinuxOS, though. It’s a superb independent mix of RPM and Debian-based stuff, great for beginners (and non-geeky kids like me). But a comparison between PCLinuxOS and Debian is like one between a single grafted tree and an entire forest.
I must say that this article is probably the nail in the coffin for me. As soon as I have time I’ll have to try to migrate to Debian. I’d been a little put off for using it years ago were there was more interest in politics and getting rid of the on-free repo than getting a years old release out the door. Using Ubuntu I think has been a mistake for me. Although I still require a few non-free things, I still prefer Free Software and the values associated with it. I’m sick of poor choices being unilaterally forced on users without a backout plan. I’m sick of seeing poorly thought out designs being forced on upstreams.
All I’ll need to learn how to do pinning so I can keep a few package I’m following closely up to date.
Thanks for posting this, it covers the annoyances I have with my current system and lays to rest the concerns I’ve had with returning to Debian.
If you want freedom and flexibility, then take a look at Gentoo. Their emerge and “USE” flags system works very well. You can have a ‘standard’ system or something as customised as you wish.
Depending on the installation, I’m running one of Mandriva, Gentoo, or Ubuntu.
Hopefully Mandriva will pull through good. There’s too many good ideas in there not to!
Ubuntu LTS which is Debian based offers same 3 years support, best part is you can stay current with many of the ppas from the program developers themselves same goes for Debian. Debian has the best package management period. Also programming is a breeze under Debian or Ubuntu.
I liked the article, but I warn you from installing Debian’s testing branch.
If you want updated packeges go with sid. Bugs tend to stay a long time in testing before being resolved while in sid it’s usually a matter of days. I tried it on my skin and read it in an article too, but I cannot find it right know…
This is documented in question 3.1.7 in the Debian FAQ. In practice this does not happen very often and if it does, you can easily install the fixed package from unstable thanks to apt pinning.
I’ve used Debian for quite some time now. I’m no expert, but I like the way you can get under the bonnet to fix stuff, whereas a serious problem in something like ubuntu can often end up being more complex to fix. At the moment, I’m in awe of Crunchbang (which is based on Squeeze). It uses Openbox as the default WM so it combines Debian’s stability and speed without the bulk of GNOME/KDE.