Operating System Costs

The single most important decision affecting the cost of a business computing infrastructure is the choice of operating system. What follows is an outline of the issues that should be considered when comparing the total cost of ownership of various operating systems. The operating systems considered are primarily Linux, Windows, NetBSD, FreeBSD, and OpenBSD, Mac OS X, and closed Unix variants.

I am a computer consultant specializing in Open Source solutions including Linux, so keep in mind that I naturally tend to be biased in that direction. If I can answer any questions for you, please contact me by email or the contact page.

The Operating Systems

The operating systems compared here include:

FreeBSD, OpenBSD, and NetBSD
Collectively referred to as *BSD, these are Open Source operating systems based on BSD Unix, similar to Linux, with a focus on networking and security.
Linux
The most popular open source operating system, used for servers, and increasingly appearing on corporate desktops and laptops.
Windows
All versions of Microsoft Windows, the most popular operating system.
Mac OS X
The latest operating system from Apple, OS X uses an Open Source core called Darwin which is a BSD Unix derivative. The GUI is proprietary and written by Apple. Note that previous versions of Mac OS are very different and are not covered here.

Hardware and Performance

The choice of operating system will affect the hardware you need to purchase, although the hardware you already have may have some flexibility. It is often possible to change the operating system on existing hardware; nonetheless, the vast majority of all hardware has only one OS installed over its useful life. Windows and Linux often run on x86 hardware, such as popular Intel and AMD processors. Some Unix variants run on specialized hardware, such as Sun Solaris or AIX. Mac hardware and software is also uniquely designed to work together, although Linux can also run on most Apple hardware. There are certain situations in which installing Linux or *BSD on existing hardware may be the best option; a very common case is migrating Windows servers to Linux or FreeBSD. Migration of existing desktop machines is also possible and can be very cost-effective, especially as an alternative to a Windows version upgrade.

There is a lot of marketing related to OS performance comparisons. While there are certainly performance differences between operating systems, these differences are often not very relevant to the bottom line. Given the progress made in computer hardware every year, a ten percent difference in OS performance is not as significant as it may seem.

If you have extremely specialized needs, such as massive scientific computing, weather forcasting, etc, then you need very specialized hardware. The vast majority of enterprises, however, have very similar hardware needs, and these needs can be met by readily available hardware running any of these operating systems.

Software licensing

Operating system licenses, and licences for other software, can easily surpass the cost of the hardware itself. Linux, *BSD, and other Open Source programs are available at no cost, for as long as you want to use them. Eliminating Windows and Microsoft Office licenses can be a huge savings for many companies, although migration costs may offset this in the short term.

Development

Internal applications development in proceeds similarly on most operating systems, but there are several areas in which Open Source software provides additional benefits. When in-house applications need to interact with existing software, open-source programs provide complete flexibility. Developers can use the source code to understand exactly how the program functions, and if necessary, can modify it to fit into your existing infrastructure. This flexibility is unmatched by closed software, and this is why for development, open-source systems are simply miles ahead. If your complicated software uncovers an obscure bug in an open-source program, you can fix the bug, submit a patch, and the community will thank you. You can then get on with development. If the same situation occurs in a Windows environment, you must work around the bug, and wait for your software vendor to fix it, if and when they decide to do so. The ability to fix bugs in inter-connected software immediately is a huge win for software development projects.

Migrating existing applications from one OS to another can be expensive. If you have complex applications running on legacy Unix systems or on Windows, it usually is not worth migrating those applications to new platforms. When business needs demand that those applications be rewritten or updated, you may then move them to your platform of choice.

Training

Training people to use new software is costly. Windows (and in some fields, Mac OS) and popular applications such as Microsoft Office are already familiar to many users. When Linux is considered as a replacement for such operating systems, the cost of training should be considered. However, it is increasingly possible to replace Windows machines with a carefully customized Linux installation, and employees can continue their work without any training or with only a brief orientation session. OpenOffice can replace Microsoft Office, and most users will make the switch without missing a beat as the interfaces are very similar.

Downtime

The unavailability of a critical computer system can be devastating to a modern business. Linux and Unix have developed a reputation for rock-solid stability and extremely high uptime. Windows is generally regarded as being a rather poor performer in this regard. However, all systems go down from time to time for various reasons. The only true solution to minimize downtime is to make every critical system fully redundant.

For the back-end systems that run your business, Linux or *BSD are excellent choices, as they are very reliable and solid operating systems that can run for years without a crash.

Attack Vulnerability

The Free Software development model allows source code to be viewed and bugs fixed by thousands of developers all over the world. This results in security holes being found and fixed with a speed that is unmatched. GNU/Linux and Open Source server software are generally more resistant to malicious attacks than Windows and closed software. Furthermore, the hacker community that produces this software has a long standing commitment to security. Microsoft has a track record of releasing software with fundamental security flaws, such as Outlook and Internet Explorer.

Systems Administration

The cost of keeping your systems running smoothly can vary considerably with various operating systems. Unix has always been designed with the needs (and abilities) of a skilled admin in mind. Windows was originally designed as an easy-to-use desktop OS, and systems administration interfaces were added as Windows gradually became a server platform as well. This history help to explain the marked differences in administration of these systems. While Windows systems can typically be set up and used quite easily, it's safe to say that Linux and *BSD administration is more difficult for a beginner. Linux and *BSD systems are also more flexible, and can often be set up in more customized ways to meet specific needs. For the skilled administrator, the Unix style of configuration provides great capabilities for automating many tasks that would be done by hand on Windows systems.

Windows machines are more prone to viruses, worms, trojans, and various security breaches, and trying to keep up with the endless stream of patches from Microsoft creates more work for your administrators. Open Source software also requires updates to keep up with security advisories, of course. There are no easy answers to secure system administration and each situation is different.