What is open-source software ?

There is still some debate within the software community about the exact definitions of and differences between the terms "free software" and "open-source software". Most of it is fairly academic however, since for most people the important thing to understand is that both refer to software covered by a license which permits free distribution and guarantees availability of source code. One such license is the GNU General Public License (GPL).

What this means in practice is that software distributed under such an open-source license cannot be owned or controlled by any single person or company, and while it may quite legally be sold for profit (often with value added services such as pre-configuration or support), it must remain freely available in source-code form for anyone who wants it.

What is Linux ?

Linux (or GNU/Linux to give it its full name) started out in 1984 as a project by Richard Stallman of the Massachusetts institute of technology (MIT) computer science department to develop a complete free UNIX system by the name of GNU. By the end of the 1980's GNU had succeeded in providing the world a complete set of UNIX like tools, but was still missing the one final component required to turn it into a full stand-alone operating system - a kernel.

Then in 1991 a Finnish university student named Linus Torvalds announced to the world his intention to produce a small home made operating system to run on his personal computer, this would just be for fun and his own education he said. Fortunately however, he made the decision to publish his work-in-progress source code on the Internet under the GPL and agreed to accept enhancements from others who had downloaded it and made further improvements themselves. Gradually, Linux (as it had become known) evolved to become the missing kernel the GNU project had been waiting for, and when the two were combined together the GNU/Linux operating system was born. Nowadays however, many people refer to the GNU/Linux partnership simply as Linux.

Today Linux has matured into a fully featured state of the art modern operating system. It is usually obtained in the form of a distribution such as Debian, or from one of the commercial Linux companies such as Red-Hat or Novell. Using a pre-built distribution such as these saves you the time and effort required to bring together all the various different bits of software needed to make up a working system.

Once Linux is bundled together into a full distribution with other free software packages such as Gnome (graphical desktop), Apache (web server), Samba (Windows file and print server) and others, it becomes a powerful system capable of rivalling or even bettering other commercial offerings such as UNIX and Microsoft Windows on both servers and the desktop.

Why use Linux and open-source software ?

Advocates of open-source software often claim several advantages over commercial offerings. These usually include:

These features are typically just the sort of things desired by those who have to purchase, deploy and maintain software systems, yet they are of considerably less interest to those whose business it is to produce and sell commercial software. Off the shelf software development companies need to maintain a constant revenue stream, which in practice means persuading users to continually upgrade to the latest and greatest versions of their software packages. This in turn results in an emphasis on creating new features and more complex software that inevitably requires larger and more powerful hardware to run on.

Open-source software developers on the other hand are not trying to produce software for some marketing department to sell, and as a consequence are far more motivated by quality as opposed to just features. Open-source software has its roots in the academic environment, and just as in academia, most open-source developers desire peer acclaim for their work. As a consequence, good design, reliability and adherence to open standards are far more likely to be the driving forces behind the software development process [1].

Reliability and Security

Serious defects (security or otherwise) found in open-source software tend to be fixed very quickly, often in the space of a few hours. The availability of the source code means that frequently the same person who discovers the problem can implement a fix for it and include that patch along with the announcement of the problem. Administrators of open-source systems then have the choice of using that unofficial patch if they consider the problem urgent enough, or waiting for an official fix from the maintainers of the package or their distribution vendor. The typical speed with which defects in open-source software are fixed is again a reflection on the pride the developers take in their work.

With closed-source commercial software the unavailability of source code means that once a defect is discovered and reported to the vendor, users are reliant on the vendor to decide upon the severity of the bug and whether they will issue a fix promptly or to wait and simply roll it up in the next service pack. Indeed, some commercial software vendors have taken to limiting the details they disclose about security vulnerabilities [2], further eroding the ability of users to defend themselves from attack and increasing their reliance on the vendor.

Flexibility and Freedom

For most businesses software is simply a tool - a means to an end. Unless the requirements of the work change significantly there is rarely an incentive to modify or upgrade the software aiding that work, indeed the disruption and cost of the upgrade may be a disincentive to change. However this situation runs counter to the needs of the commercial software vendor who sells a product that never wears out, and therefore needs to generate a regular revenue stream by persuading users of old software to upgrade to newer versions.

The methods used to help encourage users to upgrade vary, however they can include moving to new file formats and protocols that require new software to understand them, or simply dropping support and bug fixes for older versions of the software. The software user has no control over this process and can be left feeling isolated and pressured into upgrading, even if they feel that their existing software is still quite suitable for their day-to-day requirements.

Another trap for users of commercial closed-source software is vendor lock-in. The object of this game is to foster customer dependence on technology that only one supplier can deliver, and therefore generate a guaranteed revenue stream by preventing the customer from using competing alternatives. This is most easily achieved by making use of proprietary closed formats and protocols and refusing to disclose their details, thus making it very difficult for competing software products to interact with (or to replace) the closed-source version. Let us not forget that Microsoft was convicted of being a monopolist in part for using just such techniques.

Open-source software on the other hand tends to be standards based, meaning that formats and protocols only change slowly (if it all) and are usually backwards compatible thus mitigating the pressure to upgrade. The widespread use of open standards also means that where several alternative tools exist to perform some task it is likely that they will be interchangeable, providing a great deal more flexibility and freedom of choice by preventing lock-in to a single solution.

Openness

Closed-source software forces users to trust the vendor when they make claims about features such as compliance with standards, security and freedom from backdoors. The lack of availability to view the source-code means that these claims become very difficult to verify.

Users of open-source however have the added peace of mind that comes from using software for which the source-code is freely available. This means that they, or some trusted third party, can view the source-code to check whether such claims are actually true. Whether such checks are part of a rigorous in-house auditing procedure or simply a cursory inspection performed by the open-source community in general, the knowledge that it is possible can only help to bolster confidence.

Cost

Perhaps the easiest advantage of open-source software to appreciate is the cost. From a business perspective the total cost of ownership (TCO) is what really matters, and there are several factors which stack up in favour of Linux and open-source software.

These and other factors mean that the TCO of a Linux and open-source system can frequently be significantly lower than that of a proprietary closed-source one [3].

Obviously the greatest cost benefits are to be obtained by going for an open-source solution within a business from day one, as has been the case here at The Linux Academy. Unfortunately it is too late for many people to go this route, being as they are in the position of already having legacy proprietary software systems in place. In such cases the upheaval associated with making a move to open-source may be too daunting to consider.

Fortunately switching to open-source systems is not an all or nothing option. Migration can begin with (or be limited to) back-end systems such as web/proxy servers, file & print servers, firewalls and mail servers, which even on their own could provide significant cost savings both in terms of software/client access licenses and better performance. Desktop systems could then be left as they are, or be upgraded at a later date if desired.

Summary

It would be wrong to give the impression that Linux and open-source software is some kind of panacea. In the real world business requirements change and software must change with them. Choosing to use open-source can act as a brake against the pressures to upgrade just because a commercial vendor wishes it, but other forces may still exist which may necessitate change. Access to the source code gives you the freedom to support old software versions yourself should you choose to, although some upgrading and maintenance effort is inevitable. It is our belief however, that putting the freedom of choice in the hands of the users rather than the vendors can only be for the best.

References

  1. Analysis of the impact of open-source software. Dr. Julian Satchell of QinetiQ Ltd, October 2001.
  2. Microsoft reveals anti-disclosure plan. Kevin Poulsen of Security Focus, November 2001.
  3. Comparison of the TCO for Linux/Windows/Solaris. Robert Frances Group, July 2002.


Send mail to webmaster@the-linux-academy.co.uk with questions or comments about this web site.
Last modified: 02/04/2005