One of the first question most new Linux users ask is which one to get. It there are several systems out there called "Linux". Someone might see such names as Fedora, Ubuntu, Debian, Slackware, Gentoo, and at least a few dozen others. Each of these is called a distribution of Linux.
Background Information
Unlike other systems, Linux is completely modular; every piece is made by a different group. For example, the underlying graphics system is developed by the people at X.org. The core of a Linux system (called the Kernel) is maintained by Linus Torvalds, and thousands of other people contribute to it. Most of the system utilities are developed as part of the GNU project. These pieces of software are often called packages.
These packages are most often distributed, on their own, as source code. Source code is the human-readable form of a computer program that is easiest to modify. Programs these days are written in a programming language, such as C, and then translated to a machine-readable version. This process is called building the package.
At first, a person would have to download, build, and install each package, one by one. Several people found this less than optimal. Additionally, another system would be needed to build the system. So, various projects were developed to gather these packages and distribute pre-built collections of these packages as a single, working system. These releases are called distributions. Distributions vary in how they install, which packages they include, and how they update packages installed on the system.
Managing Software
Since every package is developed by a different group, they also have different means of building and installing themselves. For a long time, most projects used a system developed by the GNU project, known as GNU Autotools, to, more or less, automatically build and install software from source code. This system was included with the source code, so all a person would have to do to build the software was run some command, often './configure', and the GNU Autotools system would configure the software to be build. Once the build was configured, running 'make' and 'make install', would build and install the software. Many advanced Linux users have come to take this simple approach for granted. Another system, called CMake has been gaining popularity, recently. This system is as simple for the user as an Autotools-based build system, except that instead of ./configure, the user runs cmake. Some projects, however, use entirely different or ad hoc build systems. Distributions take care of these differences by putting the built form of a package into a bundled file. These files, often called packages themselves, are installed, updates, and managed by programs called package managers.
There are two package managers which are commonly used these days: Debian's DPKG, and the Red Hat's RPM. Debian packages were originally developed for the Debian GNU/Linux system. Now, several distributions use Debian's package format. RPM was originally developed for Red Hat Linux. Red Hat Linux is no longer around, but there are two common descendants: Red Hat Enterprise Linux, and Fedora. As with Debian's format, other distributions use RPM-format packages as well. When it came time to select a package format as teh standard format, RPM became the standard format. Debian-based systems usually have the ability to install software from an RPM file, but its generally better to install from a Debian package on those systems.
What to Compare
Each distribution is designed in a specific way, for a specific audience. Some are designed for people who want to focus on getting their work done. Some are designed for masochistic or obsessive computer geeks. The things that have the biggest impact on how a distribution works are the installation process and the package manager.
Some installers are text-based. Text-based installers use text menus, and such. Others are graphical, these create a minimal graphical interface for the installation. A newer way of installing is from a live CD. A live CD is a complete, working system ready to run without installing it first. When you wish to install the distribution, there's a program on the live CD that goes through the process. Live CD-based installations are generally graphical. Some distributions switch to a configuration utility that will help you configure a user account on the system and various other details the first time they run after installation.
In addition to using the Debian and RPM package formats, some distributions add an additional program over the existing package manager. These additional programs are often easier to use and also automate certain common tasks in installing a package, the most common is dependency tracking. When one package requires the functionality of another package (a framework for example), the program will install the other package as well as the requested package. Debian, for example, includes the Advanced Packaging Tool (APT). APT was one of the first (perhaps even the first) to include dependency tracking. In the old days, dependency tracking was handled by the user, which was an inconvenience at best, and a nightmare at worst.
Not for the Newbie
Some distributions are not for beginners. I don't recommend Slackware or Gentoo for new users. These systems are designed for experienced users. There was a time when I didn't suggest Debian, either, but except for one minor problem, it actually works well. Other systems worth looking at include Mandriva, and OpenSUSE. A future version of this article may discuss the merits of these systems, but for now it will focus on Fedora and Ubuntu.
Fedora
Fedora is great for new-comers, especially the more computer savvy crowd. If you already know a few things about computers, then Fedora may be more your style. If you just get the default installation disc, you will get a Live CD. There is also a DVD with more packages that loads the installer automatically. This would be well-suited for installing a server or development machine, but for most new users, using the Live CD and installing needed software after the installation would be easier.
Fedora uses RPM for its package management, and uses a program called Yum for easier package installation once the system is installed. Fedora includes the most popular open-source software, and it usually includes the most current version of each package.
Fedora's biggest weakness is the fact that it comes with certain functionality stripped because of the Fedora Project's policy of excluding software which doesn't fit within its guidelines. Generally, the missing software involves patents or software which isn't open source. There are third-party sources for software that includes such functionality, though. Additionally, Fedora maintainers generally try to get the latest version of a piece of software in their installation. Sometimes this means including a testing version of the software. For example, Fedora 9 included a beta version of Firefox 3. Once Firefox 3.0 was released, however, the release version of Firefox 3 became available for download through Fedora updates.
Ubuntu
Ubuntu is the system I, and many others, recommend most to new-comers to Linux, especially people who aren't completely computer savvy. It works well for technical users, though, and many advanced Linux users use Ubuntu so that they don't have to worry about manually configuring everything. Ubuntu's installer is one of the easiest out there. Ubuntu was one of the first to use a live CD for installation. Thus, the installer is completely graphical. The Ubuntu installer is designed to require minimum input from the user, so technical terms aren't a problem very often.
Ubuntu uses Debian's package format. but it also comes with a graphical program for package management in addition to APT. Ubuntu only includes one application or set of application for each task. In the Linux community, there are often several programs that do the same job, but for starters you don't need to make a choice between them.
Ubuntu's weakness is that it doesn't always use the latest version of most software. This can also be good, because the software has been well-tested. The package management tool suffers from the fact that you must pick from thousands of packages. So getting the right package usually requires you to know what the package is called before you install it. There isn't a big button saying "Install Movie Playing Software". If you do know the name of the package you want to install, Ubuntu's tool is the easiest graphical tool I've seen for package installation.
Strengths of Both Ubuntu and Fedora
In the years since I first wrote this, Fedora and Ubuntu have converged more than they've diverged. Many of the differences between them no longer exist. Often, the most obvious difference between them is the default background image. Both Fedora and Ubuntu have extensive libraries of additional packages. Once installed, they both default to a graphical system, and they come with graphical utilities to assist in system setup and maintenance. With either, a user can use the system without ever touching a command-line (text mode), though you always have the choice to do so if you're feeling a little adventurous.
It's Your Choice
Linux has several distributions for different uses, and the choice is yours when you pick one. Many of them are for niche cases and experienced users, but Fedora and Ubuntu are the leaders when it come to installation by new users. Remember to keep in mind that some install easier than others, but others give you more control over the install. Whichever one supports your style, will seem to be the "better" one for you. Most of all, have fun and enjoy the new experience. Eventually—after trying a few— you will find the distribution that's right for you.
