An Introduction to the Open Source and the GPL
{LANG_NAVORIGIN} Security Basics
Colin Sauze
06/10/2005
What is Open Source Software?
Open Source Software (OSS) is software who's source code is made “Open” for all to freely see,
distribute and modify. This means that there could potentially be thousands of programmers from
all over the world working together to write a particular program. OSS has traditionally been
written by volunteers, however the software industry is becoming increasingly involved in
contributing to OSS and releasing their own software into Open Source. There are a variety of
different licenses under which OSS is released, different licenses have different restrictions,
some require people to release the source code to their modifications others do not, some
prevent a charge from being levied to supply the software others allow it.
The History of Open Source Software
Open Source Software began among academics at MIT in the early 1980s. For years, the academic
community had shared the source code to computer programmes and allow others to base programs
upon this and release their own changes. However as software became more commercialised and
protected by intellectual property rights, it became difficult for people to share software. To
try and counter this the GNU (which confusingly stands for GNU is Not Unix) project was begun in
1984, it aimed to create an Open Source suite of software and a Unix like operating system. The
project created its own license for the software it produced called the GNU Public License or
GPL. Since its creation many projects written by people outside the GNU project have been
released under this license and it has become the most popular Open Source License. The GNU
project has gone on to create a huge suite of software.
Different Types of Open Source License
The GPL and LGPL:
The GPL or GNU Public License was originally created for the GNU Project. The GPL is the most
common Open Source license. It requires anybody who produces a modification and releases the
executable program to also release its source code. GPL programs can only be combined with (also
known as linking) to other GPL programs or programs written under a license which is considered
“GPL Compatible, this has caused many people to also call it the most restrictive Open Source
License. The GPL permits sellers to only sell software for the cost of the media (e.g. The cost
of a CD or the cost of the internet traffic) and to charge for support. It also permits GPL'ed
software to be used for commercial purposes. Perhaps the most famous program written under the
GPL is Linux, a free Unix like operating system kernel originally developed in 1991 by a Finish
student, Linus Torvalds. There is also a derivative of the GPL called the LGPL which allows
linking to non GPLed programs.
The BSD License:
The BSD License is used by the BSD branch of Unix (including FreeBSD and Mac OSX). This license
does not require any changes made to be released and allows people to charge for the software.
The BSD License was famously exploited by Microsoft who incorporated the TCP/IP networking code
from the BSD operating system in Windows NT.
Other Licenses:
Many Open Source projects have defined their own licenses as the GPL, LGPL or BSD licenses did
not suit them. Popular examples of this are the Apache Server and MySQL toolkit. The MySQL
license allows people to freely use the software and freely modify it providing they wish to
release the changes, if they do not wish to release the changes they must pay a fee. A number of
companies such as Sun Microsystems who have released software into Open Source have produced
their own licenses to suit their needs.
How does Open Source affect the Software Industry?
Many in the software industry have perceived OSS as a major threat to their business model,
people are giving away free alternatives to their products. Some companies have tried to scare
consumers away from Open Source Products, most notably Microsoft who referred to the GPL as
“un-American”. Companies who use OSS internally may find its not as cheap as they expected as it
can require more skilled (expensive) people to operate the software.
However OSS can be a major benefit to companies. Companies no longer need to pay for the
software they use and perhaps even incorporate free software into their own products. It also
provides a benefit for companies to run their own internal systems on OSS instead of paying for
commercial software. Although most Open Source licenses do not permit software to be sold some
companies have managed to make a profit from OSS by either shipping it along with commercial
software, producing commercial software which integrates with it or by offering support. Another
benefit is if a company ships a product as Open Source it may mean that they are able to enlist
the support of external developers who are willing to help them for free. They may also be able
to enlist the help of people who they would normally consider competitors. Perhaps the best
example of this is Netscape who in the late 1998 released the source code to their web browser
after nearly losing the battle against Internet Explorer, Mozilla as the Open Source browser is
known has undergone a number of major changes and is now seeing a sharp increase in popularity.
It is also not uncommon for Open Source tools to be produced which help to enhance or complement
closed source products, for example there are lots of Open Source products designed exclusively
to run on Windows, despite Windows be a closed source program, a good example of this is virtual
dub an Open Source video editing package.
Overall Open Source is a potential threat to many businesses as it offers competing products
free of charge, however at the same time it allows companies to save money by using OSS in place
of commercial software, by Open Sourcing their own software and receiving help from external
developers and they may still be able to make money by selling support or commercial add-ons for
Open Source Products.
How does Open Source Software affect the consumer/user?
OSS benefits the consumer/end user in many ways. OSS can provide free alternatives to commercial
software saving the consumer money they would have otherwise spent purchasing commercial
software. Open Source Projects often provide for specialist needs which would otherwise be
overlooked by commercial software companies as they are not commercially viable, it is quite
frequent that if a particular specialty is not covered then somebody will adapt existing
software to suit it and then make that software available on the internet.
Support of Open Source programs can often be better than that of their closed source
counterparts, it is usually possible to contact the developers of a program directly and ask
them for help or report faults. However this isn't always possible, for instance if the
programmer has stopped working on that program or is too busy to help, there are usually message
boards, chartrooms and mailing lists where you can also seek help. As you have no contract with
the developer, they are under no obligation to support you. Many companies have sprung up who
will distribute OSS for a minimal charge or for free and then provide support for it as a
commercial service.
Open Source projects can also suffer from not being ready for general use but still being
distributed and so may be missing important features or have serious flaws, it is also common
for projects to be abandoned by their key developers before they are usable. However there are
usually several Open Source programs which do similar things so an alternative is often
available and most projects are advancing all the time and new features can appear overnight.
These 2 aspects of OSS can also present a problem, people are often presented with as many as 5
applications all of which do roughly the same thing and they have no idea which to choose, the
best way to do this is to either ask other people on chat rooms/message boards/mailing lists,
try and find reviews of each program or try each one yourself. The rapid state of change can
also leave users needing to constantly upgrade their software in order to fix certain problems
or get the latest features, this can become time consuming. The best thing to do is only upgrade
when a feature or fix you need appears, most projects produce files called changelogs detailing
what has changed between versions.
Overall OSS can present the end user with a lot more choice but it can leave them with software
which doesn't work, is unsupported and may be in a constant state of change. These things vary
between projects, some are better than others.
For More Information
http://www.gnu.org/gnu/thegnuproject.html –
Details on the history of the GNU Project.
http://www.opensource.org/ - A site dedicated to
promoting Open Source.
http://www.fsf.org – The free software foundation, the main
organisation behind the GNU Project.
http://www.freshmeat.net – A site which attempts to index
all of the major Open Source programs in existence, a good place to look for programs to solve a
given need.
http://news.zdnet.co.uk/softwa
re/0,39020381,2092085,00.htm – Article on Microsoft's attitudes to OSS.
http://www.mozilla.org – The Mozilla Project, based on the
Netscape web browser, one of the largest open source projects.
More Security Basics tutorials and guides
E-Mail Link
Your IP address will be sent with this e-mail