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
- Reliability and Security
- Flexibility and Freedom
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 .
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 , 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.
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.
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.
- Potentially zero purchase and upgrade price
- Potentially zero cost of client access licenses
- No need to account for licenses - reduced administration cost
- Reduced vulnerability to viruses
- Reduced hardware costs
- Excellent standards compliance reduces vendor lock-in and monopoly pricing
- Increased control over IT strategy - not forced to fit around the needs of a commercial software vendor
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
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.
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.
- Analysis of the impact of
open-source software. Dr. Julian Satchell of QinetiQ Ltd, October 2001.
- Microsoft reveals anti-disclosure plan.
Kevin Poulsen of Security Focus, November 2001.
- Comparison of the TCO
for Linux/Windows/Solaris. Robert Frances Group, July 2002.
Send mail to
firstname.lastname@example.org with questions or comments about this web site.
Last modified: 02/04/2005