Open Source

You shouldn't be using open source software because it's cheaper (although it is), you should be using it because of its features and flexibility and the fact that it doesn't lock you in to restrictive license agreements.

What sort of open source software is available?

Open source developers around the world have created many applications which are as good or better than the equivalent commercial packages. These range from software for email and web servers to end-user applications for project management and image creation.

Some notable open source applications (from a very large selection):

  • Apache The Apache web server is the most widely used web server for internet sites. In addition to the web server, the Apache foundation also hosts other open source applications such as Jakarta/Tomcat, a Java Servlet and Java ServerPage implementation. [].
  • MySQL A popular database engine. Is it 'the best'? - it depends; a good way to start an argument with a Linux oriented developer is to insist that your favourite database is better than theirs. [].
  • Mozilla Browser, Email, Newsreader that runs on Linux and Windows and doesn't have nearly as many security holes as certain other browsers and email clients that we could mention [].
  • The GIMP The GNU Image Manipulation Program, a raster graphics editor [].

Before you question the supposed quality of open source software consider these examples as well as Linux, Apache etc, etc, etc. Good Open Source software, like good commercial software is ready for live use; bad (or just immature) open source software isn't, but neither is bad commercial software. For instance, all the images on this site (except the the logos of third party products) were created using open source tools.

But we use MS Windows on all our computers, open source is only for Linux isn't it?


It is true that many, perhaps most, open source applications have a Linux background, however many are developed concurrently on multiple operating systems or have recent ports for Windows and other operating systems.

All of the open source applications listed earlier on this page work on MS Windows. The choice of operating system should not be governed by the availability of software but by its inherent features, such as stability and security, and the degree to which it fits with the organisational strategies and existing infrastructure.

What's the difference between open source and proprietary?

The most trivial difference is purchase cost; open source software costs basically nothing to acquire. This does not mean that there are no costs involved; you still have to pay for the hardware on which the software runs, you still have to pay someone to install it, and you still have to pay for training and support. Depending on who you ask, these ancillary costs can be about the same as for equivalent proprietary solutions.

But I thought it was all free?

Open source software is free in the sense of being unencumbered (think free speech not free beer). Each end-user is free to use and modify the software as they see fit (with some limitations on subsequent redistribution).

Of course open source software is still free from purchase costs and, importantly, free from on-going license costs.

Rats! So why would I want to use open source software?

Consider some characteristics of open source and proprietary software and see which one is more likely to meet your needs. A more detailed examination of the differences is included in The Cathedral and the Bazaar by Eric Raymond (see the link [here])

AttributeOpen sourceProprietary
Product Motivation Typically, an individual talented programmer addresses a problem in their computing life. The marketing department identifies an opportunity.
Development team A self-selecting group of volunteers whose contributions undergo rigourous peer-review. Employees assigned to the project.
Testing Continuously by a large beta-tester population (open source projects typically have both 'stable' and 'beta' versions available at the same time) As defined by quality procedures, use-cases etc. Testing by internal groups and limited numbers of end-users.
Release schedule Release early, release often. There are several different approaches to deadlines in open source projects, each of which has its merits. As required by marketing department or, if you wish to be cynical, as often as you can get people to pay an upgrade license.
Feature inclusion criteria Often a voting mechanism for most requested features drives the development, of course if someone really wants a feature they can write it themselves. The marketing department again.

I'm being a bit unkind here. There are many good and noble proprietary software packages; my intention is to highlight how the open source development model can produce high quality software.

A note about security

All software is subject to security holes; open source software is no exception. The important difference is in how security problems are addressed:

AttributeOpen sourceProprietary
Who finds the problems? Anyone. Good guys and bad guys can both examine the source code for weaknesses and attempt to bypass restrictions. Once the software is released it's mostly the bad guys.
Who fixes the problems? Anyone who can, potentially many committed programmers can start fixing a problem as soon as it is identified The internal team, who may have been re-assigned or have other priorities.
What do the end users have to do? Pay attention to upgrade notices and install as required. Pay attention to upgrade notices and install as required.

As a side note, there is a protocol in the security community whereby the vendor or project team is given notified as soon as a security problem is found but the general announcement is delayed by some time to allow the problem to be resolved. Of course, it's only the good guys who do this.

Add comment

Security code