In the enterprise, it seems that Red Hat Enterprise Linux is the defacto standard, well supported and very stable. So why not just stick to RedHat? Well, the trouble was that I just didn't have a license key to use, and without a license, you can't download updates from the Red Hat Network. I needed a free version of Linux to play with, and there are plenty of those.
Where to install it? No problem there, I had two identical laptops at home, each with a single 1.6GHz processor, 1.5GB RAM, 40GB disk and a Linksys wireless PCMCIA card. At work I had a spare desktop with similar power. I could also install onto VMware and VirtualBox.
For each version of Linux, my basic goals were to get it installed and updated with the latest patches, get it looking pretty, and install a set of applications like office apps and some development tools. All with a minimum of diaper rash and show-stopping bugs. I also needed to install each version onto VMware and VirtualBox and get VMware tools (or the VirtualBox additions) installed. At home on the laptops, I had to get the wireless working, and at work, I had to get things to work through a proxy.
So I wanted to know what Linux distributions were popular, so I went to DistroWatch.com. They maintain a page hit ranking (about half way down the right side of their web page) that shows the current popularity of the major Linux distributions. Then I started trying out many of the top ten. Here's what I found...
First, let me say that I had no idea what a Linux distribution was or that there were many distributions that are close relatives. In fact, most Linux distributions are largely the same, sort of. In fact, Linux is Linux. They all run some version of Linus Torvald's Linux kernel, the GNU Linux binaries, the X graphics engine, and a desktop environment such as Gnome or KDE. As such, the code base is largely the same across most versions of Linux. What makes them unique is the distribution.
The distribution consists of various versions of the components mentioned above, along with many applications and supporting libraries, hardware drivers and such, that are tested together and packaged on a DVD image, and maintained in an online repository. Each distro has a default look and feel that is mostly based on the default colors, fonts, window decorations, etc. Each distro also has some package management system, which is a set of tools to install software packages and download updates.
With respect to package management, there are two major package types, RPM and DEB. Which type your distro uses helps identify which of two major families of distros it belongs to. At the base of the RPM family is Red Hat Linux, and at the base of the DEB family is Debian Linux. These are the distributions upon which most of the other popular distros are based.
In the Red Hat family, there is CentOS which is compiled more or less directly from the Red Hat source code, and is therefore almost 100% the same as Red Hat, except it's free. Since Red Hat is well tested and stable, this means that CentOS is as well. Being well tested and stable means that most of the latest jazzy stuff, eye candy, newer hardware drivers, etc, are not in these distros. So they look and feel old. However, assuming that your working with Red Hat at work, CentOS is a great version to be playing with. Red Hat also maintains a more cutting-edge free distro, Fedora. Red Hat, Fedora, and CentOS all use RPM packages, and a command-line package management tool caled YUM. YUM makes it easy to install software and updates from online repositories.
In the Debian family, there is Ubuntu and Mint (and quite a few other less popular variants). Debian is the well tested and stable parent distro, while Ubuntu and Mint are the more cutting edge variants. They all use DEB packages. Ubuntu and Mint use a command-line package manager called apt-get to install software and updates.
There's a few other independent Linux distros that are not members of these two families, including Novell's OpenSUSE, ArchLinux, Mandriva, and a few others. I installed quite a few distros, some of which I quickly removed, either because they were just ugly, or I had some initial trouble getting them installed. Leaving aside CentOS which I will definitely use as a server version, in the end, the primary contenders for installation on my PC and laptops were Fedora, Mint, Ubuntu, and OpenSUSE.
For a while I'd been using Ubuntu 10.10 (Maverick Meerkat) on my PC at work, and one of the laptops at home. Maverick is a beautiful distro. The default fonts and colors look great, package management has been problem free, and I really haven't come across any major bugs. I would have stayed on this version forever, until I realized that the whole Linux world moves forward at a break-neck pace, delivering new versions and retiring old ones every six months or so. Maverick will no longer be supported after April 2012.
Ah, well, like I said, most distros are largely the same, but then I found out that many of the latest versions are moving from Gnome 2.x to Gnome 3.x, or in the case of Ubuntu, a new graphical desktop called Unity. Gnome 3.x requires a decent video card to work correctly, otherwise it starts in fallback mode, which emulates Gnome 2.x, but lacks many of the Gnome 2.x customization tools that let you set the fonts and colors just the way you like.
The current version of Mint (11.4) still uses Gnome 2.x. It's a close relative of Ubuntu, it's code base is based on Ubuntu 11.4 (Natty Narwhal), and it's look and feel are like Ubuntu 10.10. Beautiful. I can't really say anything bad about Mint. The only trouble I had getting it installed at home was in getting my wireless card working (which was true of all the distros I tested, except for Fedora), and there was a little trouble with the battery applet complaining about the battery being broken. I got passed those problems, and Mint is working great (I'm on it right now typing this article). At work, I had no trouble configuring Mint to get through the proxy. I'm keeping Mint 11.4 on one of my two laptops at home. Love it!
Unfortunately, Mint 12 is due out very soon, and it sounds like it will run Gnome 3.x. However, they plan to provide a Gnome 2.x fork called MATE, as well as add-ons for Gnome 3.x known as MSGE, which are intended to help the user comfort level with Gnome 3.x. Here's hoping they do as good a job with 12 as they did with 11.4.
The latest version is 11.10 (Oneiric Ocelot), which runs a brand new desktop called Unity. Unity is similar to Gnome 3.x. in that it replaces the familiar Gnome 2.x. panel (the menu strip across the top or bottom of the screen) with a wide icon strip across the left side of the screen. There's still a panel across the top, but this is used for the menu of the foreground application, which seems weird when the app isn't maximized, and its menu is detached from the window. The Unity panel icons are 48x48 pixels, so they take up a good amount of real estate on a small laptop screen, and the panel auto-hides and un-hides (sometimes when you don't want it to).
You can also choose a "Gnome Classic" session at the login screen, bringing you to a Gnome 2.x interface, but as is true for all of the newer distributions that aren't Gnome 2.x based, the customization applets are missing. So if you want to adjust your look and feel, you need to install some extra tools like the gnome-tweak-tool and gconf-editor. I'm running Ubuntu 11.10 on the other of my two laptops, and it looks like I'm keeping it. Similar to Mint, the fonts look great, and Ubuntu really does a good job with the default look and feel, and package management is trouble free.
I had no trouble configuring Ubuntu to use a proxy, and I didn't have much trouble getting wireless working either.
Fedora 16 is a Gnome 3.x distro, but it starts in fallback mode unless you have a 3D-capable video card. In fallback mode, you'll need the extra tools to configure the look and feel. Package management was trouble free, and proxy configuration was no problem. Everything was going great and I had planned on keeping Fedora on one of the laptops, but then it turned out that my wireless connection kept failing randomly after about 20 minutes or so with a python error. It was ironic, since Fedora was the only distro where my wireless connection worked without downloading any extra drivers. I was forced to remove it from my laptop.
At work, where I have one desktop with a decent video card, I've got Fedora running in Gnome 3.x mode. The Gnome 3.x panel icons are golf-ball-sized, and the menu fly-out causes other windows to fly around the screen. I guess you might think it's cool, I think it's annoying. But that's more of a complaint about Gnome 3.x, not about Fedora.
I'm not sure if my wireless trouble is specific to my wireless card or if every wireless card will fail in the same manner, so it's hard to make a recommendation about Fedora. If you don't have this problem then Fedora might work out fine for you. I will say that it seems quite a bit harder to get the fonts looking good on Fedora.
OK I have to bash OpenSUSE. I had first tested 11.4, which was Gnome 2.x based, and I liked it a lot. It has a distinctive look and feel that is kind of ugly-cool. With 11.4 I had no trouble setting the proxy and getting updates, and I was able to get my wireless working. The trouble was when I started installing development tools, I ran into some trouble. For example, I installed Anjuta IDE, but whenever I tried to compile anything, I got errors (because of bugs in the dependent libraries). These libraries were part of the distro. So in otherwords, the distro is flawed.
Next I tested 12.1, which is Gnome 3.x based. At home on the laptop, instead of fallback mode, it came up in full Gnome 3.x in all its glory, except that all the windows were pitch black. I could barely see my way to reboot the darn thing and get the heck out of there.
At work, on the PC with a decent video card, OpenSUSE 12.1 with Gnome 3.x looked good (I could actually see the windows), but I could not for the life of me get it to use the proxy. Therefore I couldn't get any updates nor install any software. So my conclusion is that OpenSUSE is off my list. Sorry Novell.
For me, Ubuntu and Mint are the clear winners. They've done a great job with their distros. They look great and are relatively problem free. The big question is whether you want to run Unity, Gnome 3.x, or some other desktop, but that's a question that exists across all distros going forward.
Oh lookie, a couple days after I published this article, Mint 12 was released. Here's my follow-up, LinuxMint 12 vs Ubuntu 11.10.