Several of my students have asked me what Open Source is. As of yet I don’t have a sufficiently clear elevator pitch to explain what it is and why it is a good thing(tm). So I had a think about it over the weekend and here’s the first version of my explaination.
In order to consider Open Source we must first consider Free Software. Free Software is important as it lays out some core terms that customers should demand from their software provider, those of
- The freedom to run the program, for any purpose.
- The freedom to study how the program works, and adapt it to your needs.
- The freedom to redistribute copies so you can help your neighbor.
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
As you can see, the freedoms are written from a philisophical point of view and don’t mention source code at all. The need for source code is driven by the need to protect these freedoms for users.
It has been said that the GNU GPL (a Free Software licence) was the first licence written from the point of view of a software user. Other licences are written from the point of view of the provider, or more generally, the providers legal department. And given that most of us consume more software than we produce, we should be demanding user-friendly software licences.
So where does that leave Open Source? Open Source regards the availability of souce code as important. Thus the licences do not concern themselves with protecting users freedoms, but promoting source code availability.
But Open Source is more than that. It’s also a collection of differing development methodologies. It allows developers to collaborate, generally over the Internet, to develop good software. So under my interpretation the Linux kernel is a Free Software product developed using an Open Source methodology.
If that’s what Open Source is, why is it any good? This answer has to come from the point of view of the customer rather than the producer. As a customer using Open Source I can switch providers. That’s it! There’s no magic. It’s simply the most efficient use of the free market. As an Open Source user I can switch providers without an interruption to service, which is even better. The software that I run on RedHat Enterprise Linux will run on Ubuntu Linux, and vice-versa. Thus as a customer I’m removing a risk factor of my supplier failing or going bust, or charging too much.
There are also some strange benifical side-effects of Open Source. If I use an Open Source product the data I generate with it will always be available to me. And again…as a customer, the data is the only thing that is important to me. I spend time collecting and collating my data (lecture notes in my case) and I’d like it available to me no matter what software platform I use.
Other side-effects include the ability to grow a local economy. When providers can compete to provide a service local knowledge can become a competitive advantage. They found this in Extremadura in Spain where they deploy Open Source software in government institutions. Several small local companies sprung up to compete for services. This kick-started the economy of the region.
Not exactly an elevator pitch But hopefully I’ll be able to extract the main points and turn it into one.