There's a large selection of free and open source (FOSS) operating systems available these days, and choosing the right one for any given circumstance can be quite a challenge. This article is intended to help you pick the best operating system for your needs and experience level. Although this article is geared primarily toward those who have little to no experience with FOSS operating systems, we've included some pointers for more savvy open source users – say, those who use a FOSS operating system at home and would like to deploy one on the job.
We've come up with five points to consider when selecting a FOSS operating system:
How you plan to use a FOSS operating system is a key point to take into account when making your selection. Many of the systems are quite flexible and can be used for different purposes, but it still pays to consider their relative strengths and weaknesses.
We've come up with three broad categories with which to categorize most FOSS operating systems: desktop, server, and special purpose.
Desktop Operating Systems
If you expect desktop functionality from your FOSS operating system, you'll want to find one that's been designed for that purpose. Desktop operating systems tend toward friendlier installation and greater use of graphical user interfaces. In addition, they usually sport newer versions of popular desktop software like browsers and mail clients.
Sample desktop FOSS operating systems include:
Server Operating Systems
Server operating systems may favor stability over the latest versions of software applications. With some server operating systems, the installation of the operating system and programs is done with less graphical (and often less friendly) tools than you'll find in desktop operating systems. The software in server operating systems tends to be somewhat behind "right out of the box", but can be fairly easy to update using the software management tools provided. However, care should be taken to make sure that your updates will work, especially if the software you're installing includes dependencies on other packages – in which case you'll need to update those, too.
Sample server FOSS operating systems include:
Special Purpose Operating Systems
There are a number of special purpose FOSS operating systems that offer bundles of preconfigured applications with graphical installer and management tools. Some of the most common special purpose operating systems are for file serving, firewalls, and rescue CDs. They're usually based on an existing general purpose desktop or server operating system, but with the installation modified in such a way that a certain set of software is installed.
Management in special purpose operating systems is usually very specific and tends to emphasise the system's particular function. Many areas of management are not readily accessible through the default management interface. On the bright side, special purpose FOSS operating systems may provide a quick and easy way to fulfill a specific need – if you can find one that accomplishes what you require.
Sample special purpose FOSS operating systems include:
The number of FOSS operating systems with commercial support is relatively small. Luckily, there are lots of free resources out there: mailing lists, forums, wikis, and IRC (internet relay chat) channels, to name a few. The support available through these free resources is comparable to, and sometimes even better than, traditional commercial support.
If you're selecting a FOSS operating system for an organisation, there may be requirements stating that you can only use software backed by commercial support. If that's the case, you might consider the often-overlooked option of contracting with a company that provides third-party open source support. One advantage of some third party support organisations is their ability to offer commercial support for both your operating system as well as for some (or all) of the programs you'll be running with it. Having one go-to source for all your support needs may be better than contracting with one company to support the operating system and other companies to provide service for the other components. Also keep in mind that many FOSS operating systems are similar enough that a third party organisation may be able to help you even if they have not worked with the exact system that you choose.
If you're planning to use a FOSS operating system on a machine deployed for a critical role, it's especially important to research the available support options before deploying the operating system. This step is even more crucial if you or your organisation have no previous experience with the operating system in question.
Hardware compatibility is another crucial factor when choosing a FOSS operating system. The system has to be capable of supporting your computer's parts and the types of devices in use. If you have a critically important computer part or device, it's often simplest just to check with the hardware maker for advice about which FOSS operating systems are supported. Of course, you could simply download a copy of a particular operating system to try with your hardware – if it's FOSS, it won't cost you anything but time. Even some of the commercial versions of FOSS operating systems have free counterparts, which are similar enough that you can test on the free version and have a good idea of how the commercial version will behave. Take CentOS and Red Hat Enterprise Linux, for example. CentOS is free, and for the most part very close to Red Hat Enterprise Linux. If you were to choose Red Hat Enterprise Linux, you could test your hardware with CentOS before purchasing licences from Red Hat.
Another hardware-related point to consider is whether your computer vendor supports only specific operating systems, and whether that's important to you. If you buy your computers from a local vendor or a smaller seller, chances are that you're on your own when it comes to operating system support. If, on the other hand, you buy from larger companies (such as Dell, HP, or IBM) you could check which FOSS operating systems they support. Even if they don't officially support the FOSS operating system you choose, you probably want to find out if you'll run into any problems when trying to get support from the vendor after the installation is complete. The larger vendors in particular may have hardware management tools that are required as part of their warranty service. Not having access to those tools may impact the support you receive from them.
Software compatibility will likely be an important issue if you plan to use commercial software. As a general rule, most FOSS software will work with most FOSS operating systems. If there are particular programs you know in advance you'll need, then you should verify that they'll work with the operating system of your choice. One issue that may be overlooked is which version of any particular software application is installed on the operating system "out of the box". Server FOSS operating systems tend to come with older versions of applications, so if you prefer a more recent version of a particular application you might first have to uninstall the older version.
A good resource to find out what software comes with a particular FOSS operating system is DistroWatch.com. This site allows you to select a FOSS operating system, and then see what packages are supported by the system's various versions. The example below shows the software supported in recent versions of OpenSuse, compared to the latest available version.
FOSS operating systems usually have software management tools that facilitate the installation of software. It's worth verifying if the versions you need of selected programs can be easily obtained through the software management tools. Alternatively, you could check if the software you need already has binaries that would easily install in the operating system. Many FOSS packages build binaries to facilitate installation on FOSS operating systems.
One very important point to keep in mind concerns libraries – particularly if you're evaluating Linux distributions. Be sure to pay attention to Glibc and related libraries. If you plan to use FOSS software that requires a specific Glibc or some other library, then you'll want to make sure that the FOSS operating system under consideration already has the version you need.
The community behind your chosen FOSS operating system is where you'll most often go for support, news, advice, and tips. Exploring the various online resources as you evaluate a FOSS operating system is really important. Whatever operating system you choose, you'll want to make sure that you know where to go for help – as well as what sites to go to for related tutorials, tips, and tricks. You'll use these to shorten your learning curve and make using the operating system easier. The value of these online communities may not always be obvious to a newcomer, but they're really hard to beat when it comes to making the operating system you choose work better for your needs.
Mailing lists and forums are two of the most commonly available online help resources. Ubuntu's online forums are a great example.
One often overlooked source of help may be sitting right next to you. Employees, friends, and co-workers may already have experience with one or more FOSS operating systems. If you or your organisation are new to the implementation of a FOSS operating system, it definitely pays to find out if anyone you know already has experience. If you can find someone who has already dealt with FOSS operating systems, you may also find that they have valuable information to help you choose the best operating system for you.
FOSS operating systems are free to download, but the time it takes to learn about them can be costly. Because the management of FOSS operating systems varies widely, it's best to do as much research as possible prior to settling on any particular one of them. Run tests, and start small. Using a FOSS operating system as a backup (or in a minor role) is a great way to gain experience and learn about an operating system with little risk to your infrastructure.
If you're hoping to convince your employer to deploy a FOSS operating system that you've used personally, pay close attention to the support, hardware, and software requirements of the business. The larger the business, the more likely it is that there will be constraints on what sort of system can be used – and the more likely it is that there will be issues that, as a single user, you've never considered.
Usage, support, compatibility, and community: consider all these factors carefully and you'll be in position to choose the FOSS operating system best suited to your needs.