People often think about open source in all the wrong ways. Many people, when they think of open source, think:
'Open source is a development model'
Software is software, no matter how it gets from the developer's grey matter to your machine. The development practices behind open source software products are just as varied as they are behind their proprietary counterparts.
With roughly 110,000 open source projects on Source Forge (not to mention the countless numbers not hosted there) it is inevitable that development practices are widespread.
'Open source is a licensing scheme'
All open source software comes with a licence. Yes, it is the licence that protects its 'open sourceness' (for want of a better phrase) and, as you know, proprietary software is licensed too.
'Open source is unsupported'
Much open source software is unsupported. Some is only supported informally through loosely coupled (mostly online) communities. Often support can be purchased for open source software. In fact this is one of the more common business models around open source.
'Open source is incompatible with...'
As the old adage tells us, 'It takes two to tango.' The path to interoperability is paved with standards. Open source software is frequently quick off the mark with these. For example, 'OpenOffice' was well ahead of its proprietary counterparts when it came to Open Document format or ISO26300, as it is known in the world of standards.
The simple truth of the matter is that open source is all of these things. But, then again, so is proprietary software. In an attempt to create a more concrete differentiation between open source and proprietary, many will tell you:
'Open Source is software development communism!'
Well, comrades, 'Come the revolution...' In all seriousness, many people genuinely believe this. Needless to say they are wrong, but even if they were right, who's to say it's a bad thing? Open source and free software are fundamentally the same thing, certainly similar enough within the context of this article.
With this in mind the Free Software Foundation's definition of 'free software' (as opposed to the Open Source Initiative's definition of 'open source') will be used here; it's shorter for one thing.
What makes open source different from proprietary software development can be described in one word: freedom. Of course it was the ambiguous nature of the word 'free' that has blighted free software since its birth.
'Free as in freedom, not as in beer,' as Richard Stallman famously clarified. Nevertheless freedom is at the heart of open source and, in fact, it comes four-fold.
Freedom 0: The freedom to run the program, for any purpose
On face value this may seem like a simple gesture. It is. However it is an extremely powerful gesture, one crucial to the open source movement. There are no 'conditions' within open source licensing. Compare this with the licence for proprietary software next time you install some.
Freedom 1: The freedom to study how the program works and adapt it to your needs
Understandably it can be frustrating when a piece of software comes very close to meeting your needs but is not quite there. This situation occurs frequently when a general application is put to specific use with a vertical domain.
There are no guarantees that a proprietary software vendor will ever make the changes you require, although you are more than welcome to ask. However with an open source solution you are able to edit the source code and make the application do what you require. Government officials take note: this allows the UK taxpayer's hard-earned pound to stay in the country.
Freedom 2: The freedom to redistribute copies so you can help your neighbour
Often, when you've found a piece of software that is particularly useful, you may want to recommend it to a friend or colleague. Why not put a copy to CD and give it to them too? Well, under traditional licensing schemes you would be breaking the law. You would be branded a pirate and be made to walk the plank if you were found out. However if you want to copy and distribute some open source code, you are more than welcome to do so.
Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits - access to the source code is a precondition to this
This is a nice one. Open source gives you the right to help others with your modifications to the software. Once you have made changes to your software, you are more than welcome to pass on the benefits - or not, it's your choice.
The best example of this comes from the various Linux distributions. Many of them adapt the Linux kernel for their own purposes, such as performance enhancement. Often these distribution-specific changes make it back into the main kernel software itself. Sometimes they don't.
So is freedom 'free', like 'free beer'? The rather unhelpful answer is, it can be. This article is being written on a machine where all the software has been downloaded over a broadband connection for the cost of the electricity and 48 minutes of internet subscription. However it is possible to buy Linux distributions.
In these situations it is not the software being purchased. The price covers the cost of packaging and, most importantly, formal support (normally favourably priced against the proprietary counterpart). This is only one of many ways in which the big open source players make their money.
Contrary to many people's beliefs, open source can be a key component to a thriving business model. If this were not the case, many people in the industry would not be able to pay their bills. The truth is that open source can make you money if it's part of your business model to gain income through software services. Here is a classic example:
Imagine you work for a major corporation in a vertical domain: medical systems. Due to competition from various competitors, your machinery (MRI scanners, x-ray machines etc.) is becoming commoditized.
These days what differentiates you from your competitor is the software that runs on your machine and not the equipment itself; most significantly the user interaction software. By incorporating open source into these systems you will be saving valuable resources on system development and freeing these up to concentrate on adapting systems to develop the parts which add value to your product.
With a bit of luck, in future people will not care whether a piece of software is open source or not. Open source and proprietary software development share many similarities. It is, of course, the differences that count.
So in 20 minutes time, after you have thumbed your way through the rest of this annual review and digested all the wisdom it has to impart, if you take nothing else away with you, remember this: Open source software development exists primarily as a benefit to the enduser.
IT procurers of the world, next time you are on the prowl for new software, make life just that little bit easier on yourself and stop worrying about open source.