For quite some time, my OS of choice was Debian GNU/Linux. I had found my way to it by a winding path through several other Linux distributions, thanks in part to some guidance from friends (thanks, Ratha and Joseph — did I forget anyone?). I loved quite a lot about Debian, including (but not limited to):
- Stability: Debian was by far the most stable Linux distribution I’d yet encountered. Even though I used the so-called “testing” release almost exclusively, it was more stable in operation than the stable releases of every other distribution I’d encountered. This was due in large part to the extensive compatibility and stability testing Debian packages undergo in the process of moving them down the chain from Experimental releases, through Unstable and Testing releases, and ultimately into the Debian Stable release branch.
- Ease of Installation: The process of installing Debian proved simple, easy, fast, and well suited to getting exactly what I wanted on the system — or, perhaps more importantly, not getting a bunch of software I didn’t want.
- Software Management: The incredible ease of software management with APT just blew me away. That was the real coup, for me — the big one. The fact that APT worked quickly, smoothly, and without hiccups, allowed me to make of Debian exactly the operating environment I wanted. I could start from a bare minimum CLI-only install and install every piece of software I needed for my day to day work and a productivity-enhancing GUI environment in about ten or fifteen minutes. Security patching was a few seconds of time. Installing and uninstalling software was easier than opening software that’s already installed can be on MS Windows sometimes.
- Software Archives: The stability of the packages in Debian’s software archives was not their only virtue. The sheer number of packages in them was mind-boggling — at around 20k discrete packages, we’re talking about several times as many packages as the next runner-up Linux distribution.
- Upgrade Path: Unlike most OSes, when I wanted to upgrade the OS itself, I just updated the software versions for each component as it became available in a stable form. This included the kernel itself. There was no stair-stepping upgrade process as Version Foo Dot Zero of WhateverOS hit the market. It was a beautiful thing.
I had some minor concerns, of course. One thing that bothered me was my increasing unease with the GPL, the license under which the core toolset and even the Linux kernel are distributed. I don’t think this is the paragraph in which I should get into the subject of what’s wrong with the GPL, but suffice to say I was (and am) much more comfortable with the BSD License. For a long time, I thought about trying out FreeBSD and/or OpenBSD, but I simply never got around to it. Part of it was complacency — Debian did so much for me, provided me with so much convenience and productivity enhancement and other wonderful stuff, that I’d never imagined I could get from an OS, that I just couldn’t be arsed to try something else without a compelling reason. In truth, the licensing issue was a compelling reason, and became more so after some threatened litigation related to the GPL, but I still needed a bit of a push in terms of technical benefits to a different OS.
Finally, that motivation came in the form of the degradation of the Debian distribution’s benefits. It has become gradually less warm and fuzzy for me over the course of the last year. All of these problems, it seems, center around the collapse of the smoothness, stability, and ease of use of APT. It has degraded to the point now where I wonder whether Fedora’s YUM might not be better. Mandriva’s urpmi, judging by my experience, still doesn’t compare if only because it’s structured a bit like someone threw darts at a dart board, then didn’t bother to tell anyone what decisions were made. In any case, problems that I’ve encountered with APT and Debian software archives used by APT include:
- GPG errors: The frequency of GPG key errors in Debian’s APT has been steadily on the rise, in my experience. Sometimes the problem clears itself up in a few days. Sometimes, you need to give APT a swift kick. Sometimes you need to rebuild your GPG key database for APT. Sometimes you need to wave chicken bones over it and chant, as if you were troubleshooting MS Windows.
- software configuration problems: I have found that software configuration would sometimes break after an update. This ranged from the mildly annoying, like having to reset a specific option in some application, through the incredibly annoying, like a recent episode where Postfix and/or Mutt started creating mail headers that would get my emails rejected as spam or otherwise illegitimate by recipient mail servers, to the downright painfully awful, like when a Firefox upgrade not only wiped out all my bookmarks but somehow managed to destroy my backup of bookmarks as well.
- package management errors: The incidence of errors in how the system tracks package versions and available packages is on the rise. My current frustration relates to the fact that APT seems incapable of properly managing a Wine install unless I regularly wave chicken bones over it, chant some evil chants, and refrain from trying to use version pinning to use the version of Wine that I actually need. This is not keen.
- software stability/compatibility: At one point, ndiswrapper just stopped working on a laptop of mine. A new kernel version with native Broadcom chipset support was released, so I tried upgrading it — and it broke everything related to networking, apparently unfixably. I had to roll back to the previous kernel version and hack configuration basically like cutting my way through the thick of a South American jungle with a pocket knife just to get it working again without wireless. Eventually I got wireless working again — but I never figured out why kernel 2.6.18 hated my laptop so much. It wasn’t even a hardware failure — the package dependencies just screwed everything up, somehow, with incompatible software being necessary for different parts of the same solution.
I got my motivation, my push, to try out something non-Linuxy — to try out something new. This was especially the case when my laptop’s screen crapped out, and I got a desktop system set up to replace it for my day-to-day work (I’m using it now). I decided I’d use this opportunity to install FreeBSD on something and see how I like it. Thus far, I’m in heaven. It’s not only better than the Debian of recently degraded quality: it’s better, at least for my purposes and tastes, than the Debian I remember from back when everything in Debian “Just Worked” without hassle.
Debian still offers a lot. It’s still my favorite Linux distribution — don’t take my above complaints to be as dismayingly negative as they probably seem. Debian is still relatively stable and easy to use — relative to most other Linux distributions, and so much more so than MS Windows that it beggars the imagination for someone who hasn’t given it a shot and doesn’t know what (s)he’s missing. It just doesn’t measure up to FreeBSD, or even to itself from a couple years ago. I suspect some of these problems are related to the accelerated release cycle pressure for the distribution in the last year or so.
If Debian were to clean up its act and get things back to the level of stability and slickness to which I had become accustomed — well, I’d still use FreeBSD, but at least it wouldn’t make me sad to think about it any longer.