This all started with the question “Which distro do you use?” on a LUG mailing list. Rather than just offer a short answer there, I felt like offering a somewhat longer, explanatory ramble here.

I’ve used quite a few distributions. My first encounter with an open source operating system was installing Red Hat Linux on a secondary computer when my primary system was running MS Windows some time last century. It didn’t go very well, as RHL wasn’t able to handle the motherboard integrated graphics, so I ended up with a 640×480 four-color display. The “desktop” couldn’t even be made to fit on the screen at that resolution, and I certainly wasn’t in a position to figure out how to edit the X configuration file to try to solve any of the problems I was having.

I kicked Linux to the curb for a couple years after that. My next experience was with SuSE (back when it was still a German-owned company, and there was no “Open” in the name). That was much more successful, and I actually ended up deploying it to clients’ networks in a professional capacity as an employee of a consultancy. It wasn’t long after I started using SuSE professionally that I was introduced to Debian.

I installed Debian on a secondary computer, and connected it to the same keyboard, monitor, and trackball via a KVM switch as my primary system running MS Windows. The primary computer, in terms of its hardware specs, outperformed the secondary computer by a significant margin. We’re talking about twice as much RAM, twice as much VRAM, twice the hard drive space, and half again the CPU speed. Despite this, it quickly became apparent that (once I settled on WindowMaker for my window manager) I had more than twice as much unused hard drive space and everything ran twice as fast on the secondary computer running Debian.

Since then, I’ve gone through literally dozens of distributions, including working with several professionally at the Wikimedia Foundation and a government contractor where I was netadmin for a while. Mandrake and Mandriva, RHEL, Fedora, MEPIS, SimplyMEPIS, Ubuntu, Zen, Gentoo, Slackware, SLAX, and craploads of others have all passed through my fingers. I kept coming back to Debian which, once I started using it, never stopped being my primary OS as long as I used a Linux distribution as that primary OS. Nothing else was able to suit my needs as well as Debian.

Eventually, that changed, though. Debian suffered some stability issues related to its software management system. The dependency resolution management for major software packages started losing quality, perhaps coincidentally at the same time that Ubuntu was getting Debian developers jumping ship and Debian was trying to accelerate its release cycle. Note that this wasn’t a case of traditional “dependency hell” — I didn’t have to resolve dependencies myself. The problem was different; dependencies wouldn’t update properly, and sometimes broke things. There was just very obviously a downward slide in the quality of interoperability testing for software packages, aside from the fact that APT itself broke now and then due to some GPG key management growing pains. Debian’s stability still measured up well against other distributions for the most part, and quite favorably when compared with MS Windows, but less well against itself from a year earlier. Things got annoying enough that I finally felt motivated to try something new, and I got off my behind and installed FreeBSD on a laptop.

FreeBSD, frankly, does everything that made Debian my favorite Linux distribution at least as well as Debian — and in some cases does them better. It also does everything that made me like Linux-based OSes more than MS Windows at least as well as any Linux distribution I’ve used — and in some cases does them better. The very, very few things that MS Windows does better than any Linux distribution, it also does better than FreeBSD, and in a few cases FreeBSD even lags slightly more (such as ATI/AMD graphics support). It gets software updates about as quickly as it is sane to get them, though, and is solid as a rock. System administration is even easier than with any Linux distribution I’ve used, it offers all the benefits of Gentoo’s compile-from-source system without the problems I encountered with Gentoo (“KDE is broken this week”), and there is no such thing as a Linux distribution with documentation anywhere near as extensive, both in manpages and in the FreeBSD Handbook. It isn’t hobbled by FSF politics, either.

At this point, it looks like there’s no going back for me. If I change OSes again, it’s likely to be to another BSD Unix system — or to something that isn’t really on my radar at the moment. Who knows? Maybe Darwin or Plan9 or Haiku will eventually reach a state of usability that makes it a stronger contender for my attention.

I know that many who use FreeBSD and other BSD Unix systems only use it for servers, and use something “easy” like Ubuntu for a “desktop” system. Leaving aside for the moment the many reasons I simply cannot imagine wanting to use Ubuntu for my primary “desktop” computer when there’s something like Debian (or Fedora or Slackware or even Mandriva if it comes to that) available, I find that the same reasons to prefer FreeBSD for a server translate well to reasons to use it as my primary working environment on my laptop, too. I simply don’t sympathize with the notion that security, stability, ease of sysadmin tasks, and other benefits that make FreeBSD an excellent server platform aren’t as important for a “desktop”. They are as important, to me — every bit as important. These are among the most important reasons I moved from MS Windows to Linux-based systems in the first place, and from Debian to FreeBSD. Why would I forsake that for the dubious benefits of user-obsequious operation on my laptop?

Unix is user friendly. It’s just picky with its choice of friends. Ubuntu, in my experience, is more of a slave than a friend, with all the superficial benefits and deeper detriments that implies. If you ever want to know why I don’t use something “easy” like Ubuntu for my primary working environment OS, this is a good place to start understanding that.