Unlike Windows which always comes in the same drab monoculture, the world of FLOSS (Free/Libre/Open Source Software) engenders a creative array of diversity and choices. There are thousands of FLOSS programs in the world and the number keeps growing exponentially. SourceForge.com, a site which tracks and hosts FLOSS, lists 3946 different projects to create text editors. The sheer diversity can be overwhelming and the technical challenges daunting. Although the source code may be freely available for thousands of programs, the average person can not easily download and compile them, so they can be assembled it as a usable system.
The Linux kernel alone has hundreds of compilation options and thousands of modules. You need to add on top of that all the GNU system tools, the X Windows System, a windows manager and desktop environment and all the individual applications. In order to create a usable system, computer enthusiasts and now many companies do the arduous task of laboriously assembling a set of software programs which work well together and adding a consistent set of colors, styles and art work to the whole environment. This whole assembly is known as a distribution.
DistroWatch.com currently lists 312 different distributions of GNU/Linux and BSD. People who are new to FLOSS often ask me which one to install. Deciding which distribution is part of the delight of using GNU/Linux, so I am reluctant to shoehorn everyone into distribution which might not fit their needs, nor their aspirations.
There is no one “best” distribution, since they are designed for various purposes and different stylistic and technological goals. Some distribution are specially designed for firewalls, routers, cell phones, web servers, thin client servers, super computing clusters, or even data recovery. Others are created just to use a particular type of package manager or way of compiling from the source code. Many are designed around a particular windows manager or desktop environment. Unlike in Windows or Mac OS X where there is only one type of desktop, there are 106 windows managers and 19 desktop environments available for UNIX and GNU/Linux.
If you are using a computer for a single particular like running a firewall, it is often easy to decide which distribution to use since there are only a few distributions specifically designed for that task. The choice becomes more difficult when setting up a general desktop computer, because there are hundreds of available distributions. Nonetheless, the choices aren’t as wide as they initially seem. There are roughly 7 major families of free software distributions and almost all the rest are derived from a root distribution:
- Red Hat – The best known and most profitable commercial distribution, it largely focuses on stability and enterprise computing.
Derivatives: Fedora, Mandriva, PCLinuxOS, Alt Linux, Cent OS, White Box, Turbolinux, Peanut, rPath, Red Flag, Asianux, Yellow Dog
- Debian – a non-commercial distribution developed by a vociferous community of 1500 volunteer developers who run their organization as a democracy.
Derivatives: Libranet, Progeny, Xandros, Linspire/Freespire, MEPIS, Bluewall, Knoppix, Kanotix, Kurumin, Morphix, Damn Small Linux, (K/X/Edu)Ubuntu, Mint, Sidux
- Slackware – the first major distribution, it’s created by a single developer and sports a minimalist design and barebones mentality.
Derivatives: Slax, Vector, Frugalware, DeLi
- SuSE – A commercial distribution developed by Novell. It was originally derived from Slackware back in 1994, but has adopted Red Hat’s package format and developed its own tool set to the degree that it has become a separate family although it has few active derivatives.
Derivatives: OpenSuSE, Caixa Magica
- Gentoo – A non-commercial, community-based distribution which compiles all the programs from source to match a computer’s hardware.
Derivatives: Sabayon, VidaLinux, Ututo
- BSD – A version of UNIX developed by students at Berkeley in the late 70s and 80s. It is no longer developed but its derivatives live on.
Derivatives: NetBSD, FreeBSD, OpenBSD, Mac OS X (Darwin)
- Solaris – A proprietary version of UNIX by Sun, based upon AT&T’s System 5 Version 4 which merged the best features of the System V, BSD and Xenix flavors of UNIX. In 2005, Sun released OpenSolaris, a free software, community-based version of Solaris.
Derivatives: SchilliX, Nexenta
Each family generally has their own package format and own toolset for installing and updating their software. If you learn to use the tools in the base distribution, you can comfortably switch to any of its derivatives with a minimal learning curve. In contrast, if you switch to a different family, expect to spend some time learning a whole new toolset and finding the new location of configuration files, daemons, etc.
There are a few odd independent distributions like dyne:bolic, Linux from Scratch, GoboLinux, Ark, Arch and Puppy which don’t fit in any family because they compile their programs from the original sources and have developed or borrowed their own toolsets from many sources.
The are 8 major considerations when deciding which distribution to use:
- The purpose of the distribution.
- The package manager, toolset, desktop environment and applications which a distribution uses.
- The language and culture of a distribution.
- How close the distribution is to the bare metal and how much work it requires to configure and use.
- The degree a distribution complies with the ethic of “free software”, which has an enormous impact on its usability and features since it doesn’t include any proprietary bits.
- The degree to which a distribution is community-based and the type of community, which has a huge impact on the type of support which you will receive and your involvement with the distro.
- The degree to which a distro is dominated by a corporation and the commercial goals of that corporation for the distro.
- The rate of release and the degree to which a distribution focuses on stability versus bleeding edge and experimental features.