So What Is Open Source?
Hayden Smith looks into the history and the debate around open source…
It’s hard to spend much time looking at hosting solutions and especially website software without seeing the words “open source”.
Many popular website solutions are open source, such as mediawiki, which is the software upon which Wikipedia as well as many other wiki sites run. WordPress, the popular blogging software, and phpBB, a highly popular forum system are also open source. Linux and the vast majority of software running upon it is also open source, which is software running most of the Internet.
So what does open source mean?
At its most basic level, open source means that the source code of the program, the human readable part written by programmers, is open for anyone to read and modify.
It’s also often referred to as free software, which many interpret as meaning ‘free’ as in you don’t need to pay to use it. However, the ‘free’ is in reference to the freedom you have in order to use and modify the software as befits your requirements.
In contrast closed source or proprietary software such as Microsoft’s Windows or Adobe’s Photoshop has its source code kept securely hidden to prevent people from copying it.
The Origins of Open Source
In the early days of computing, a lot of software was distributed freely between the people working with computers, often with the source code to allow the users to modify it to work on their particular systems. As time went on and program development became more complicated and expensive, software developers started selling software to users with closed source code and limiting licenses, dictating terms with which the software could be used. This lead to annoyance from a number of users who wished that they could get access to fix problems with the software themselves.
In the 1980s, annoyed by the increasing quantities of closed source software and issues he had had with it, Richard Stallman put forth his GNU manifesto of a vision of an operating system developed without any limitations on the use of its source code.
During this time he coined the term “free software” and started the Free Software Foundation to promote its use. Thus he is regarded by many as the father of free software. By the end of the 1980s he had developed GNU General Public License (GPL), which was designed to provide a license that could be used with any software, providing a unified license as opposed to the separate licenses that software packages that made up the GNU project shipped with.
Under the terms of the GPL, derivatives of the distributed software must also be licensed with the same license which is designed to prevent developers who distribute free software from having it taken and used by developers who attempt to monetise it and redistribute as closed source software.
The GPL also dictates that, when distributing the software as a binary, the developer should also distribute the source code with it, or an offer to supply the source code in response to a request. While other licences have been developed since, GPL remains the most popular with more than half of open source projects being licensed under it.
The release of Linus Torvald’s Linux kernel under the GPL meant that, when combined with the existing GNU software, a full free software operating system could now be deployed. While in common parlance the name Linux is used for Linux distributions, the Free Software Foundation refer to the software as GNU/Linux because of the association of the two projects. Other common licenses in use are the BSD license and the Apache license, which are derived from their primary projects, FreeBSD and the Apache web server respectively.
Through the 1990s and the 2000s the growth of Linux has meant that open source is now almost everywhere. It’s in cars, TVs, blu-ray players, home routers, as well as servers and mobile phones. This popularity has brought much debate over the use of open source software.
The Open Source Debate
Microsoft once famously described open source software as a cancer and presented arguments against its use. Though a number of the key arguments for and against are equally valid for both closed source and open source software. For example, both types of software are claimed to be cheaper to use. Some say open source saves money because it is saved in licensing costs, while closed source-champions claim that open source software generally has more expensive running costs in terms of requiring skilled staff to manage it.
Closed source software will be claimed to be better quality because professional developers are paid to work on it, whereas anyone can work on an open source project. On the flip side open source software can have many more programmers looking at the source code and improving it.
Similar logic is applied to security aspects with the logic that so many eyes looking at the code of open source software means bugs are spotted sooner, whereas closed source proponents argue that showing the source makes life easier for hackers to find bugs.
The recent Heartbleed bug in OpenSSL has highlighted that the logic that many eyes looking at the source code helps prevent bugs has a flaw. The assumption is that a lot of people are looking over the code, which it seems in some cases isn’t happening. OpenSSL is a very widely used implementation of the Secure Sockets Layer protocol, though while it had been included with a lot of systems it appeared that what was a glaring error in the source code was missed.
In part this could have been due to the size and complexity of the code, but some suspect that everyone simply expected someone else to do the job of looking over the code and verifying it. Obviously the counter argument is that the number of large errors regularly patched in software such as Microsoft’s Windows shows that the closed source method isn’t performing much better in terms of preventing bugs.
At the moment though it seems that open source software isn’t going anywhere soon and is in fact increasing in popularity, with much of the Internet powered by open source software and many connected devices and appliances being built on top of it.