Well considering the amount of talking I’ve done about “free software” and “GNU/Linux” over the past few weeks, it’s about time I explain myself. During the past 6 months or so, I’ve learned a lot about a little thing called free software. I’d like to take a few minutes and explain what free software is and why I find it so exciting. I will try to do this in “laymen’s terms” so that everyone can follow me, if they want to. [UPDATE: This post got a little lengthy. If you’d like to just skip to the final thoughts, click here.]
Free software is all over the place, and you probably use it (at least in a sense) every single day. Most web servers are run on GNU/Linux, so almost every web page you view is displayed by free software. This blog is powered by WordPress, which is free software, and being free software is what has made WordPress the most powerful and widespread blogging platform in the world. It’s so good that proprietary software can’t even come close to competing anymore. But what is free software?
In 1983 (n.b. the year I was born), a man named Richard Stallman became fed up with his situation. Back then, computers were mainly only found at universities and large companies and the main operating system (MS Windows is an operating system) that computers ran on was called Unix. Unix was a proprietary operating system (created by AT&T employees), meaning that AT&T owned the computer code that made up Unix. Other computer programmers were not able to edit this code or change anything about the way Unix worked. If you didn’t like the way Unix did something, tough cookies. This is very similar to the way Microsoft Windows and Mac OS X work today.
Stallman, then a programmer for the MIT AI Lab, decided he didn’t like this way of doing business. For him, computer software was just a way to make a computer do what he wanted it to. But what if you didn’t like Unix or if a Unix (or one of it’s programs) didn’t work the way you thought it should? You should be able to change that program and “fix” it to suit your needs. Since Unix was proprietary, Stallman couldn’t “fix” it or change it at all without infringing on copyrights and patents.
Rather than face prison, Stallman decided to write his own operating system. It would be just like Unix in many ways, except not Unix. He quit his job at MIT (to keep them from claiming any right to what he was going to write) and founded a project called GNU (say guh-NEW) in 1983. GNU was to be an operating system, just like Unix, except that all of it’s code would be open and free to anyone who wanted to examine it. Futhermore, if you wanted to change it to fit your needs, go right ahead! Thus the concept of free software was born. With it was born the Free Software Foundation (FSF)
When you hear the term “free software”, Stallman warns that you need to think of “free” as in “free speech” (liberty) and not as in “free beer” (no cost). This becomes a confusing definition, since many free software projects are also available at no cost. He states that in order for software to be completely free, it must comply with 4 rules. 1. The freedom to run the program, for any purpose. 2. The freedom to study how the program works, and adapt it to your needs. 3. The freedom to redistribute copies so you can help your neighbor. 4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
Thus, you should be free to redistribute copies, either with or without modifications, either gratis or charging a fee for distribution, to anyone anywhere. Being free to do these things means (among other things) that you do not have to ask or pay for permission. You should also have the freedom to make modifications and use them privately in your own work or play, without even mentioning that they exist. If you do publish your changes, you should not be required to notify anyone in particular, or in any particular way. –GNU.org
Now, you might be saying to yourself, “Who cares? I’m not a programmer”. Fair enough. Most end users do not have the knowledge or desire to modify a program (but for anyone who does, this is a major issue). But even end users have two very good reasons to want free software. First and foremost it gives you permission to use it. You can install it on your computer, everyone in your family’s computers, and your friend’s computers. You never have to ask anyone for permission to use it, and you can use it for whatever purpose you want. If I were to “buy” a song on iTunes, the program limits how much I am able to use it: “iTunes DRM-protected music includes audio with a bit rate of 128 kbps and allows users to transfer songs and videos to up to five computers, burn seven copies of the same playlist to CD, and sync to an unlimited number of iPods.” (Apple). The craziest part of that is that I can only burn 7 copies of the same playlist to a CD. With how easily cd’s get scratched, broken, or lost, are you kidding me iTunes?!
The second freedom available to end users is the ability to invoke change. Just because you do not know how to program or how to change something about a program, does not mean you shouldn’t be able to. There are plenty of freelance computer programmers out there. If you’d like a program to be able to do something new or change the way it works, you can always pay a programmer to change it. If you’d like to share your changes with the community, you may find you have a following, and your changes could make it in to the next version. If others do the same, you’ve got a lot of new features! Additionally, free software projects tend to have a strong programmer backing. This means that merely requesting a useful feature can often get it incorporated into a future release, assuming the author(s) think it’s a good idea. But again, you always have the choice to make changes yourself (or through a surrogate programmer).
Overall though, the point of the free software movement is that it’s a matter of principle. It’s a philosophy. The two most popular responses in defense of proprietary software are “I don’t have any problems with [software]” and “There’s no free software that does what [software] does (or it doesn’t do as good of a job).” The fact of the matter is that no matter how “good” a piece of non-free software is, it is inherently flawed by being non-free. It is the free software philosophy that “[software] might be great, but it restricts my freedoms. As such, I’m choosing not to use it, and/or I will wait until a free version is available.” This can be a hard dish to swallow for most people (including me). This attitude can be especially difficult when the software you’re talking about is used for something like work or school. I think the point (at least for me) is that a concerted effort must be made to choose free software when at all possible. This might mean making a few sacrifices, but understand that it comes with many more advantages.
I know a lot of you reading this (if you’re even still reading it) are still not too concerned with your software freedom. The main purpose of this article was just to let you know that free software exists and what it is. I don’t hope to necessarily persuade you to use free software, but rather to make your decision to use proprietary software a conscious one. To illustrate my point, take this crude example. A slave’s life is easier than a free man’s in some respects. After all, one could argue that being told when to work, rest, bathe, and eat would be simpler than having to keep track of everything for yourself. But alas, not too many people volunteer to be slaves or to go to prison. My point is that freedom is something you have to want and more importantly something you have to fight to preserve every day because it’s always going to be easier for someone to rule you. And they’ll always be willing to do it, especially if you’re going to pay them for it.
I know not what course others may take; but as for me, give me liberty or give me death! –Patrick Henry to the Virginia House of Burgesses (1775)
Thanks for reading!