Whenever we install a software programme on our computer, we almost never read the license for that programme. Instead, when we are asked to “click here to agree” with the terms of the license, we just do it without thinking about what we are agreeing to.
Most software licenses contain all kinds of restrictions on what we can and (mainly) can not do with the software. Often we’re restricted to only being able to install the software on a certain kind of hardware. Other times we’re only allowed to install the software on a single computer.
And if you happen to be technically inclined, the software license almost always denies you access to the source code (recipe) of the software and denies you the freedom to change it in any way.
The world of “free software” turns all of these ideas on their head. Free software is about freedom – specifically:
- The freedom to run the software for any purpose
- The freedom to study the software source code and modify it to meet your needs (access to the source code is a precondition for this)
- The freedom to help your neighbour by being free to distribute exact copies of the software
- The freedom to help your community by being free to release your own modified version of the software (access to the source code is a precondition for this).
Any software that is licensed in a way that restricts any of these four freedoms is considered “proprietary” or “non-free” software.
The GNU General Public License, the most important free software license goes a step further and “copylefts” the software to ensure that free software stays free. If you modify a free software programme, you are required to release the source code of your modified programme.
Some free software licenses aren’t “copyleft” but instead are “permissive” and allow you to turn free software into proprietary software. For example large parts of the MacOSX computer operating system were derived from the Free BSD Unix operating system.
Nevertheless, today there are all kinds of free software programmes for almost everything you can think of, from operating systems, to office software, to games and multimedia software.
The Mozilla Foundation’s “Firefox” web browser is probably the most famous free software programme, used by hundreds of millions of people around the world.
Not quite as famous, but equally widely used is the free software GNU/Linux operating system.
GNU/Linux started out in the 1980’s as the “GNU Project” lead by free software pioneer and activist Richard Stallman. At the time, all computer operating systems including Unix were proprietary.
By 1990, Stallman and his team from the Free Software Foundation had most of the components written for a new “free as in freedom” operating system. However, they had a problem with the final component, namely the “kernel” which ties all of the other components together.
Along came a Finnish computer science student by the name of Linus Torvalds. His kernel became known as the “Linux” kernel. Torvalds agreed to license his kernel under the GNU GPL, it was put together with the other components of the GNU System and the GNU/Linux operating system was born in 1991.
Many people came to refer to the GNU/Linux operating system as simply “Linux”. But in my view, if we refer to it as simply “Linux” then we forget the ideals of freedom that were behind the original GNU operating system.
As well, by the late 1990’s another group of people began using another term for free software called “open source”. The open source movement focused less on user freedom issues, and instead focused on technical and cost issues. They put forward the idea that developing software in an “open” way was technically the best way to develop software. They also put forward the idea that it was cheaper.
While these things are true in my view, they’re not the most important things! User freedom is the most important thing! So in the “free software” vs. “open source” debate, I fall into the free software camp!
And although this debate goes on in the tech world, there are a couple of terms that are used to “bridge the gap” between these two ideas. One is “Free and Open Source Software” (FOSS) and maybe a little bit better “Free Libre and Open Source Software” (FLOSS).
Whether you prefer to use “free software” or “open source”, one thing for sure is, there’ s a better way to do your computing!