Ask a newcomer about Linux and they’ll probably mention something about Ubuntu. Someone a little more knowledgeable about Linux will know that there are many flavours, called “distributions” (or “distros”, for short), of Linux. There are over six hundred distributions out there, and they’re all labelled as “Linux”. What makes one distro different from the next, and how do you choose one?
Why are there so many distros?
Strictly speaking, Linux is not an operating system, but rather the kernel of one. However, in most common uses, “Linux” refers to an operating system based on the Linux kernel. Consequently, an operating system that uses the Linux kernel as its kernel can technically be called “Linux”, and these are what distributions are: operating systems that use the Linux kernel.
The main reason for the mass of distributions available is because Linux is freely licensed under the GNU General Public License, version 2 (GPLv2). Since Linux is free software, the following freedoms apply:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
The ability for people to use Linux for whatever purpose they wish and to change it as desired is perhaps the biggest reason for all the distributions. People take a distribution they like and modify it to suit their purposes; the result is a mind-boggling genesis tree.
What are some examples of Linux distributions?
Some of the most popular distributions are:
Yes, Android is a Linux distribution, and this is because Android uses the Linux kernel.
I think it’s safe to say that many, if not most, of the more well-known distributions are ultimately based on or had origins in Debian, Fedora/Red Hat, Mandrake/Mandriva, Slackware, Gentoo, or Arch.
What’s the difference between distributions?
There are two basic elements that define a distribution: the packages it provides and provides initially, and the community it attracts. Encompassing all that is the distro’s core philosophy.
Software in Linux is provided through packages, which are supplied through the distribution’s software repositories. The distro’s goal and philosophy will dictate what packages will be put in the repositories and how frequently they will update. For example, Debian only includes free software in its supported repositories and updates very infrequently. In contrast, Arch Linux includes almost everything because its philosophy is to leave it up to the user to decide, and the packages are updated as often as the software updates.
More specifically, another key difference between distros is the list of packages that are included in the base installation. Different distros ship specific packages to provide different default desktop environments like GNOME, KDE, XFCE, or LXDE, as well as its own package manager and other bundled software. The number of packages can range from the bare minimum (e.g. LFS, Gentoo, Arch) to very many (e.g. Ubuntu, Mint, openSUSE).
Because of its philosophy, the distro will naturally cater to a certain community, whether it be beginners, experts, free software advocates, or even Satanists. This community sets the overall mood and friendliness of the distro’s forums, which can sometimes deter those who don’t “fit” in the community. Furthermore, I would consider the quality and quantity of documentation as part of the community; some distros have hard to find or even almost no documentation, and some have really well-written documentation.
Which distribution should I use?
This is a tough one to answer; the answer is always something along the lines of “it depends”. The distribution you should use depends on your skill level, your use cases, and any restrictions you might impose. Beginners are often directed to Ubuntu or Linux Mint, and advanced users to Arch Linux or Gentoo. Many servers run Debian or Fedora for their reputation for being very stable. Those with older hardware may go with something like Puppy Linux.
To pick out a distro that’s right for you, answer these questions:
- Who will be using it?
- What will it be installed on? / How powerful is the computer?
- What will it be used for? / Why do you want to install it?
- How often will you be using it?
- How much time and effort are you willing to put into maintaining it?
- How skilled are you with computers? How quickly do you learn new technical things?
When you’ve answered those questions, do a search for a distribution using your answers as keywords. You can even try an online distro chooser (do a search for one) that will match you with a distribution based on your answers to its questionnaire. Look at the distro chooser as an aid, not as a final decision; for example, I always get matched with Gentoo, but I prefer Arch. Don’t forget that you can ask friends with Linux experience, too. Once you find a distribution that appeals to you, do some more research on it to make sure that it and its community will suit you and how to install it.
The best way to determine if a distribution is right for you is to try it out. Many, if not most, distros come as in “LiveCD/LiveDVD/LiveUSB” form, which lets you run the distro off the disc/USB drive without needing to install it first. After playing around with it and decide that you like it enough to install it, there’s often an option to install it right from the Live environment. If you’re not comfortable with installing on your drive right away, you can install it in a virtual machine first to get familiar with the process (virtual machines are outside the scope of this post, but I recommend VirtualBox).
Before installing to your disk, remember to back up your data and have your recovery media handy: in the case that anything goes wrong, you’ll have something you can go back to.
There are many distributions out there to choose from and they all exist to solve a problem or to cater to a certain community. The difference between them boils down to the software they include and the communities they attract. Choosing one is a matter of identifying your needs and finding one whose philosophy, workflow and community appeal to you.
If you’ve chosen a distro for yourself, which one did you choose, why did you choose it, and how did you find it? Leave a comment below!
Linux distro stickers image from LME Linux.