While open source software and protocols have been an important part of the Internet since their inception, today we’re seeing an explosion of open source projects entering the mainstream conciousness. From web browsers such as Firefox and Chrome wresting control from Internet Explorer, to the staggering success of Google’s Android mobile operating system, we may well be seeing the beginning of the end for proprietary software.
With so many people now using open source software, perhaps for the first time, it’s easy for them to make the mistake of calling products like Chrome and Android “free software”, after all, they didn’t pay anything for them. However, there is a very important distinction to be made between “open source”, and “free software”. Both are very specific terms that can mean completely different things, and it’s important for the user to understand what they are getting into when they start using a piece of software that advertises itself as open rather than free.
The GPL is the best known example of a free software license, due in no small part to the fact that it’s the license under which Linus Torvalds decided to release his operating system kernel, Linux, under. When the Linux kernel was released to the public, it was able to be easily combined with the GNU operating system components because they were both using the same license. This gave birth to what we now know collectively as “Linux”, though purists will be quick to mention the proper term is “GNU/Linux”.
One of the biggest misconceptions about the GPL is that it’s an “open source” license. While its true that the source code for a program released under the GPL must be available to all, that isn’t the full extent of what the GPL guarantees the user. The GPL guarantees what the Free Software Foundation likes to call the “Four Freedoms”:
- 0. The freedom to run the program, for any purpose
- 1. The freedom to study how the program works, and change it
- 2. The freedom to redistribute copies so you can help your neighbor
- 3. The freedom to distribute copies of your modified versions to others
From the Four Freedoms we can see that the GPL guarantees much more than the ability to simply see the source code, which is all that “open source” means. The GPL gives you the ability to modify the source, and then redistribute that modified version however you wish.
Another big misconception, and perhaps the reason so many people are confused in the first place, is that there is the assumption that the “free” in free software is referring to free in the monetary sense. In fact, nowhere in the GPL does it state the developer is not able to make money off of his program or charge a fee for various services (installation, support, modification, etc). The common explanation is that free software is “Free as in speech, not free as in beer.”
So it’s very easy to see an open source program, which is distributed free of charge, as “free software”. But the licensing of that program may well impede the other freedoms guaranteed in the GPL. It’s not uncommon to see software for which the source is available, but you are forbidden from modifying it or redistributing it without consent from the developer.
The term “open source” was created as a way to distance the idea of releasing the source of one’s program from the philosophical constraints of the larger free software movement. Put simply, companies were frightened of the term free software, and it was hindering adoption. For the companies that actually did understand what free software was, there were concerns on how certain parts of the Four Freedoms would hinder commercial applications of software, so those ideals were put aside for the sake of acceptance.
Open source means just that, the source code for the program is open for anyone to see. It makes no promises that you can actually do anything with said source code, but it at least guarantees you can see it. This provides some of the same advantages of the free software model; namely the ability to learn from the code and being able to independently audit code for stability and security purposes.
Many licenses ride this fine line of being open source in the literal sense, but not granting any freedom’s to the user. An excellent example of this concept are the various Microsoft Shared Source licenses, which only grant the user to view the source for reference or debugging purposes, with no option for redistribution.
Commonly Confused Projects
A number of popular programs or platforms are often erroneously reported as being free software, much to the chagrin of the Free Software Foundation. Perhaps there is no larger misrepresented piece of software in the world than Linux itself, which the Free Software Foundation doesn’t consider to be free software. The Free Software Foundation has gone so far as to create a fork of the Linux kernel which removes all troublesome aspects of the vanilla Linux and aims to be 100% free software, known as Linux-libre.
Another common victim of these misconception is Android, which again is not considered a fully free software project. While the core of Android is released under the Apache license (a recognized free software license), many of the Android applications which are required to get full use out of the system (such as the Android Marketplace application) are not even open source; they are developed externally from Android and the source is not available in any form. In addition, hardware manufacturers and carriers are allowed to combine closed source programs and firmware with Android, creating devices which can be equal parts closed and open source.
One that most readers will recognize is Chrome, which is in fact not even an open source product! The open source version of Chrome is called Chromium, which is a separate entity from Chrome. Chrome is built from the Chromium source, but not before adding in additional features and functions which are not open source (such as user tracking and automatic update handling).
Know Your Rights
With so many loopholes and misconceptions, it’s easy for the user to loose track of what freedom’s their software is affording (or denying) them. The best course of action when using new software is to always seek out and read it’s license. If the license isn’t obvious, then contact the developer and ask him or her what their product is released under. Avoid programs which have no clear licensing terms, or worse, don’t even have a license. There is no telling what could happen with your data in the future, which is an increasingly valuable resource.