Which Linux Distribution Should I Use?
(And Should I Even Care?)
There are, literally, hundreds of Linux distributions out there, so how do you decide which Linux distribution is the most appropriate one for your business? For some, external factors such as corporate policy or the application software vendor may reduce or even eliminate choice, but for many the decision is more open.
Although the versions of the software used will vary, the vast majority of Linux distributions centre around the Linux kernel, which is the heart of the system. Much of the supporting software (operating system utilities, application programs, etc) are also common amongst most Linux distributions; for example, the popular web server, Apache, is available on just about every Linux distribution. Each distribution has features that differentiate it from the others, but most of the differences come down to one or more of the following five aspects:
1. Availability of vendor support
A few distributions are created, maintained and supported by commercial companies; for example, Red Hat and SUSE Linux. If, for whatever reason, vendor support is important to you, your choice of distributions is very limited. Bear in mind that “lack of vendor support” does not mean “no support available”: there are plenty of other support options for those distributions other than the vendor. If you do choose to use vendor support, remember that they will only support their distribution, so if you end up using multiple distributions you may need multiple support arrangements, which isn’t ideal.
The Linux distributions that offer vendor support are, almost by definition, large companies themselves. That has both positive and negative connotations, but unless you too represent a large company, you may find that they lack the in-depth knowledge of your infrastructure. On the positive side, some skilled Linux engineers are naturally attracted towards such organisations, and it would be reasonable to expect that they have deep understanding of how to use that particular distribution in a business setting.
Some software application vendors will only support their products on specific Linux distributions. This does not mean that their products will not work on other distributions (far from it), but if support from the software vendor itself is important to you, this again will restrict your choice of distribution.
There are many companies other than the vendors who will provide support services, and there’s certainly no rule that states the vendor will always provide the most appropriate support package for every business. For some, vendor support for either an application or the Linux distribution itself is a non-negotiable requirement, in which case the choice of Linux distributions will be very small.
2. Range of software available
Software for Linux is typically provided in “packages”, and the number of packages available varies greatly between distributions. At the time of writing, Red Hat Enterprise Linux, for example, has approaching 20,000 packages available whereas Debian has almost three times that number – but if Red Hat Enterprise Linux has all the software you need, it could still be the right choice.
The package count is deceptive in other ways, too. Using the same distributions as an example, Debian favours multiple smaller packages to enable more granular installations whereas Red Hat tends more towards larger “kitchen sink included” packages. Neither is right nor wrong: it’s just a different philosophy.
The major distributions generally include all of the packages typically needed by a business, but if you are aware that you have specific less common requirements, this is an area to check. The starting point should be a list of software requirements, against which various distributions may be assessed.
It is possible to install software not packaged by the distributor, but there are a number of potential pitfalls to be aware of if you choose this route:
- The application may have dependencies on other software which may also not be packaged for your chosen distribution. What starts off as a requirement to install one additional application can quickly snowball into many such applications.
- Worse, the application may have dependencies on other software that is packaged by your chosen distribution, but where the vendor-packaged version is incompatible with the new application. Upgrading the installed supporting software may break other software that depends specifically on the original version.
- Software obtained from somewhere other than the Linux vendor may be of less certain provenance.
- Software that isn’t provided by the Linux distribution will not, of course, be included in the distribution security updates, so you’ll need to ensure that you have a mechanism in place to keep such software updated.
- There may be interoperability issues between the “foreign” software and the Linux distribution software. Other than version requirements, discussed above, this is unlikely. However, if a system is misbehaving in unusual or subtle ways, it may become necessary to remove the non-distribution software to see whether that is having an adverse impact.
All of the above pitfalls can be overcome, but they increase the complexity of the system, which in turn tends to increase the cost of ownership.
Some distributions focus on the desktop (eg, Fedora, Ubuntu), some on the server (Debian, Red Hat), and still others on a specific sector (Scientific Linux, 64 Studio). Distributions that focus on the server market tend to make stability a priority, and thus they will usually prefer slightly older, more proven, versions of software over the newer versions with less of a track record.
By contrast, distributions aimed at the desktop may have newer versions of some software, and will typically include as standard utilities aimed at users, such as those for playing music or editing videos, etc.
Some distributions are happy to include software that does not fall under the Open Source banner whereas others are more conservative. The closed source software includes utilities such as CODECs, used for decoding various proprietary video and audio formates, and certain network and video drivers. In many cases, that software can still be installed, but the user has to specifically acknowledge that they want to use “non-free” software.
4. System management utilities
The way in which the software packages are put together varies, although many distributions use either the Red Hat or the Debian format. The package management tools will necessarily be different, depending on the format used, and some distributions package other system management tools of their own. However, this is usually only of interest to the system administrator: the underlying application and system software will be the same.
This can be an emotive area for system administrators: for every SysAdmin that prefers Red Hat, there will be another who will insist that the Debian system is better. From time to time, some users install software packaged by third parties rather than by distribution itself (see the discussion above). Quite apart from the quality of the software, such third party packages are of greatly varying quality, and some of them can cause other issues on systems. Historically, Red Hat had far fewer packages than Debian, which made it more likely that Red Hat systems would have third party packages installed. These days, with more native packages available, this is less of an issue (although it hasn’t gone away entirely).
5. Security update policy
As with all software, Linux systems have security patches released from time to time. The major distributions are generally very good at getting patches out in good time, but this can be one area where the less mainstream distributions fail.
For now, if you choose to use a distribution other than those listed below, your process of due diligence should include checking the recent timeliness of security updates from your chosen distributions.
Should you even care?
You may not care about the specific Linux distribution used, but you should be consistent. It may be appropriate to be using more than one distribution throughout the organisation, but each additional one imposes an additional cost in terms of support, compatibility and user training. If you use multiple distributions, at least ensure that that is a conscious choice.
If nothing else, it is helpful to understand the differences between the various distributions, which allows a more meaningful discussion to be had with those who are supporting or managing your systems.
What’s best for business?
A distribution that is appropriate for business use needs to have:
- support services available, either from the vendor or credible third parties
- suitable business software packaged as part of the distribution
- a pedigree: you probably don’t want to bet your business on a distribution that was first released last year
- a reasonable size of user base
- an excellent record of getting security updates out in a timely fashion
Despite the hundreds of distributions available, only a handful are serious contenders for the general business case. Given the nature of Open Source software, it is impossible to definitively state which distributions are the most popular in businesses, but experience suggests that the following comprise 90% or more of commercial Linux installations. They’re ordered alphabetically rather than in any order of merit or suitability:
- CentOS (“Community ENTerprise Operating System”)
- Red Hat Enterprise Linux (“RHEL”)
Let’s consider each turn, although in an order which makes the explanation simpler.
Red Hat Enterprise Linux
Red Hat Inc is a US company that provides Red Hat Enterprise Linux, together with support, consultancy and training services based around Red Hat solutions. Red Hat started in 1993, and at the time was one of the then-handful of organisations making Linux distributions available to the public (in their case, “Red Hat Linux”). They changed gear with the first release of Red Hat Enterprise Linux (“RHEL”), version 2.1, in 2002, which was aimed squarely at the enterprise market. The original Red Hat Linux releases stopped in 2003 when it was merged into Fedora Linux.
The majority of commercial Linux software that mentions a specific Linux distribution will be certified for RHEL, although it will often run on other Linux distributions.
Red Hat Enterprise Linux – like all Linuxes – is Open Source software, which means the source must be made freely available. Part of Red Hat’s revenue is derived from selling copies of RHEL, but therein lies a problem. If the software is Open Source, it would be legitimate to copy the CDs and sell them. To protect their revenue, Red Hat incorporate their logos into the RHEL distribution. Red Hat owns the copyright for their logos, which are also registered trademarks, and thus Red Hat Inc is able to define the conditions under which the logos may be used. Which brings us nicely to CentOS.
CentOS, the “Community ENTerprise Operating System”, is essentially RHEL minus the Red Hat branding and logos. The CentOS engineers take the Open Source Red Hat code, strip out the parts that are not allowed to be redistributed (the logos, etc), and package the remainder with their own branding. Although the history goes back a little further, the first release of CentOS, version 3, was made in 2004.
Unlike RHEL, CentOS is freely available to be downloaded, copied, distributed, etc. In 2014, perhaps surprisingly, CentOS announced that it was joining forces with Red Hat, with some of the core members of the CentOS team being employed by Red Hat. Ironically, Red Hat now owns the CentOS logos. The CentOS project is a community project managed by the CentOS Governing Board, and CentOS itself relies on donations from users and sponsors.
Debian is an independent Linux distribution managed by the Debian Project, which is a voluntary group. For some, the notion of trusting their IT infrastructure, let alone their Intellectual Property, to a distribution run by volunteers is anathema. But – and it’s a big but – it works. Debian is one of the oldest Linux distributions, first released in 1993, and has spawned many child distributions, not least of all Ubuntu, one of the best-known distributions.
If one considers professionalism to be a behaviour rather than an indication of payment, Debian is a rock-solid, reliable, professionally-managed Linux distribution with almost 60,000 software packages freely available. There are many large corporations where Debian plays a significant role. There is no “Debian Inc” or “Debian plc”, and thus no vendor support available, but there are plenty of third party companies that support Debian.
Ubuntu is a Debian-based distribution that was first released in late 2004. At that time, it was aimed at the desktop market, and has arguably done more to bring Linux to the attention of the general public than any other distribution. New releases are made every six months, each based on the next upcoming Debian version. As such, it tends to have newer software packages available, although care should be taken not to confuse “newer” with “better”.
Ubuntu is backed by a commercial company, the UK-based Canonical Ltd. The Ubuntu distribution is freely available, with Canonical providing optional paid support and consultancy services. Canonical also has other revenue streams although, at the time of writing, the company is not yet profitable.
Or you could build your own Linux distribution
A few years ago, there was some traction in companies building their own Linux distribution for internal use. If you only take one thing from this page, don’t do it. Maintaining your own distribution is opening the door to a world of pain. Any of the four distributions above will be multiple orders of magnitude better at keeping up to date and secure, and that applies whether you’re a one man band just starting up or an international corporation.
If, despite that, you’re not convinced, please go and find three experienced, serious Linux consultants, buy some of their time, explain what you want to do and why, and ask them what they think.
So how do you choose?
Consistency is a good place to start. If you feel that you should use Red Hat for the production environment, then use Red Hat everywhere. It’s not uncommon to see businesses use Red Hat for production, but CentOS for development or User Acceptance Testing in an attempt to save money. Red Hat and CentOS are very similar, but they are not identical and this strtegy will bite you at some point. You may choose to use the Debian Stable release on Production and the next Debian version, aka “Testing”, in development. There’s some logic in that, so long as the plans also include upgrading Production when the now-Testing becomes the new Stable. Do not say to all of your software engineers, “Use whichever version of Linux you like”: grey, or possibly no, hair will be the result.
A exception to the consistency rule may be the distinction between desktop and server, if you’re planning to use Linux on both. Non-technical users may find a desktop-oriented system more friendly than a server-oriented one – but make sure that at least your developers are using the same system as your servers. In reality, it’s probably easier to use the same distribution everywhere and tweak the setup for desktop users.
There will be a person or people who are, or will be, responsible for supporting the Linux infrastructure, and they should be involved in the distribution selection process. Ask them for recommendations as to which distribution would be most appropriate, and – importantly – ask them why they are making that recommendation.
Still not sure?