When deciding whether to implement an open source or closed source solution, small to medium enterprises must weigh the pros and cons of Linux (an open source operating system) and Microsoft Windows (a closed source operating system), and determine which of the two will serve their business needs at a cost that will suit their budgets.
Foundation and Methodology—Hierarchy
Since the fact that one proprietary solution is an open source and the other a closed source does not have a significant influence on a company's final decision, one way to determine the most suitable software is through an analysis of the total cost of ownership (TCO). TCO is generally difficult to calculate. Many studies have been conducted on TCO, but their conclusions are often hollow (see A. MacCormack's 2003 Harvard Business School publication Evaluating Total Cost of Ownership for Software Platforms). In most of these studies, the research has been sponsored by companies already supporting either one system or the other, and therefore the conclusions are biased. Other studies do not have an adequate amount of data and conclusions are based on speculation. The research presented here has taken into account all factors from as many sources as possible, and strives to maintain an objective and empirical approach. Using analytical hierarchy process (AHP), I have built the hierarchy (see figure 1) with the overall model showing a top-down approach. As a tool, Expert Choice software was used. The hierarchy is derived from various reviews of TCO studies, and it is further expanded to include elements that have not been considered in prior research. These elements are subcategories of deployment, patch management, compatibility, patch availability, and warranty nodes.
Part Two of the series Evaluating Strategic Information Technology Investment: An Appraisal of Software Alternatives for Small to Medium Enterprises.
Figure 1: AHP decision hierarchy
(Click here for larger version)
Foundation and Methodology—Alternatives and Goals
Small to medium enterprises (SMEs) can base their networks on several alternatives. They can use free software, commercial open source, commercial closed source, or a combination of these choices. A universal solution for all SMEs is impossible because the entire evaluation process depends on a company's specific needs. Furthermore, the same weighting process cannot be applied to both server and workstation software. For example, if a company uses word processing and spreadsheet tools only, then free software is likely the most logical choice for it. On the other hand, if there is a need for specialized software tools, then in most cases the only valid solution is Microsoft Windows because of this system's high compatibility.
From the beginning, it is important to mention that the same hierarchy is used in evaluations for servers and for workstations. The only difference is in the weighting values for some factors that are specific for the different types of usage, and the workstation hierarchy excludes the salaries variable.
TCO consists of three main components: cost of ownership (CO), management costs (MC), and resource costs (RC).
As mentioned before, CO is but a small part of TCO. CO can be further broken down into retail price and contract price. The difference between the two is that retail price is paid only once, whereas contract price is based on payment over a certain period of time. Microsoft offers an advanced and flexible contract policy, and often the terms are negotiable. Upon signing the contract, users gain a license, technical support, and new editions of software in a specified period of time. Microsoft defines this purchase option as a leased model.
Retail price models do not have expiration periods. However, in most cases users have only one year of technical support, after which it must be purchased separately.
Currently, open source solutions are mostly based on retail policy, so in the beginning it is costs less than Microsoft's contract policy. But when it comes to technical support, Microsoft has a more flexible policy, and a contract model can be less expensive than a separate purchase of technical support.
Management costs are crucial elements of the model, and they can be broken down into the following components: deployment costs, patch management, security management, system availability, storage management, user friendliness, and compatibility.
Deployment encompasses installation, migration, and integration. While Windows is relatively easy to install, Linux usually demands more experience. Migration is faster with Linux, but it requires a certain level of expertise. Migration to newer Windows versions is sometimes impossible, so the whole system needs to be installed from the beginning. When it comes to integration, it is considerably easier to integrate software tools onto Windows. This is because Windows is largely supported by software vendors (which is not always the case with Linux). The majority of hardware manufacturers, such as Dell, Hewlett-Packard, Toshiba, and Acer, have "Designed for Windows" or similar stickers on their products.
Aside from integration, professional Linux administrators are able to deploy a system and its applications very quickly—most in about one hour, and some of them in less than twenty minutes (see Enterprise Management Associates Inc.'s 2006 article Get the Truth on Linux Management at http://www.enterprisemanagement.com for more information).
Patch management depends on patch distribution and installation.
Distribution here refers to distribution from vendors to customers. As noted earlier, free solutions are not known for quality regarding patch distribution and support. On the other hand, commercial solutions are effective when it comes to patch distribution. Windows is slightly better in this area because it has only one developer. Therefore, it is easier to track necessary patches when they are centralized. This, however, is not the case with Linux because the system has many different distributions, so that the patch for one version is not necessarily compatible with other. Moreover, Windows has an automatic update service that monitors downloads and installs all available patches automatically, without user intervention.
As for installation, Linux and Windows are somewhat different. Windows integrates the majority of its patches into the kernel. Therefore, rebooting is often required in order for a patch to be activated. This causes downtime of the system, influencing the system availability. Unlike Windows, Linux seldom requires a restart because it is able to implement patches outside the kernel.
The above suggests that if patch availability is crucial, Windows might be a more practical solution. However, in terms of installation and system availability, Linux is perhaps more desirable. Security management includes policy management and protection against viruses, malware, and spyware. However, protection from these malicious software is not part of the operating system, and they require specialized software tools to be dealt with effectively.
Linux proponents claim that Linux is easier to manage and less vulnerable than Windows (see Enterprise Management Associates Inc.'s 2006 article Get the Truth on Linux Management at http://www.enterprisemanagement.com for more information), but this may not necessarily be true. First, as noted, neither Windows nor Linux systems include malicious software protection. Second, the idea that Linux is less vulnerable stems from the fact that Windows is the system of choice for most PC system users, and hence statistically there are more reported attacks.
System availability directly influences productivity. Many studies claim that Linux has an availability of over 99 percent (see Enterprise Management Associates Inc.'s 2006 article Get the Truth on Linux Management at http://www.enterprisemanagement.com and Robert Frances Group's 2002 article Total Cost of Ownership for Linux in the Enterprise at http://www.rfgonline.com). Also, some complain that Windows is not capable of operating on a long-term basis without a restart, unlike Linux. However, Linux has much longer boot time than Windows.
While many of these claims are open to debate, the fact remains that Linux has greater availability. Therefore, it could be wise to use Linux for servers, where availability is more important than boot time.
User friendliness is often a neglected category when it comes to software evaluation. This concept can be defined as how easy it is for users to learn and use a new software product regardless of previous skills. Free software is often written under the motto "by programmers and hackers for programmers and hackers" (see Gunton, 2006). This sometimes leads to difficulty in usage and manuals that are not easy to understand. Commercial software is written in order to fulfill market needs. In that respect it should be easy to learn and use. Although some open source software is not free, it still has roots in the free community. Good examples are such Linux distributions as SuSe, Mandrake, and RedHat, which tend to be more intuitively understood. However, they are based on the original Linux concept, which is typically not user friendly.
For servers, this aspect may not be so important, but it is quite the opposite when it comes to desktop use. SMEs do not have extensive assets and are not keen to spend on unnecessary employee education. Although some Linux versions are fairly easy to use, they are still far from the industry standards set by Windows in user-friendliness.
Compatibility is an issue that addresses both software and hardware. Many servers are designed for a specific software platform. The problem occurs when customers want to migrate from one operating system to another if neither system is supported by its hardware manufacturer. Desktop systems are often assembled with a large amount of hardware, and Linux's weakest point is hardware recognition. Since Windows is a widely used operating system, hardware manufacturers write drivers for this system, but seldom for Linux. Furthermore, drivers for one Linux distribution are not necessarily compatible with other distributions.
A similar situation exists with various software tools. Although many tools are ported to Linux (and it is possible to emulate Windows under a Linux environment), this is not an adequate solution when considering performance and stability.
Software and driver availability are one of the strongest points of Windows, especially when it comes to workstations. At this point in time, Windows offers more productivity and comfort than Linux as far as compatibility is concerned.
Resource Cost Node
Resource cost consists of salaries, resource availability, consulting and technical support, training, and patch and driver availability. It is a common presumption that some costs for Linux are higher than for Windows. These include administrator salaries and consulting, technical support, and employee training costs. However, recent studies show that these variables are only marginally higher (see Enterprise Management Associates Inc.'s 2006 article Get the Truth on Linux Management at http://www.enterprisemanagement.com and Robert Frances Group's 2002 article Total Cost of Ownership for Linux in the Enterprise at http://www.rfgonline.com).
According to the EMA, the salaries of Linux administrators are slightly higher and the widespread availability of qualified personnel reduces the need for consulting services. Unlike Windows, Linux does not offer free technical support after the initial one year period. Moreover, decentralization of available patches and lack of drivers for specific hardware makes Linux a poor solution for desktop use and for less qualified personnel.
In terms of resource costs, various assumptions exist. Linux's cost is either the same or less in the area of salaries, consulting and training, but requires more proficient users. On the other side, Windows offers better benefits in the area of technical support and driver availability, as well as a user friendly environment.
It is interesting to note that training for Linux may cost less only when it comes to users that do not have any computer experience. This may be because Windows is present in almost every high school and university program. Hence, the majority of computer users already have had some computer training. In most cases, this eliminates the need for additional training, which is almost never the case with Linux. In addition, a larger quantity of literature is available on Windows, making information on this system more accessible than Linux for users that are not technologically savvy.
The last dimension of the hierarchy is warranty. A software warranty assures that a product will operate exactly as it is stated by the manufacturer. While commercial products offer warranties to some extent, free products are based on the "use at your own risk" premise. For some products this might not be very important, but SMEs cannot afford to run mission critical applications without any type of guarantee.