Free as in freedom

Before I get to commenting on the Women in Linux HOWTO, I think it is ten past overdue o’clock that I get up a post on free software, open-source, closed-source, and maybe just a teensy bit on why people hate Microsoft.

This could go on and on and on: the arguments and positions are complex. Each one of these subheadings could easily be a whole post, or book (and theyare).

I’ve been warned that trying to skim over these topics is begging for trolls. I hope to appease the trolls by saying that this is just a taster, a teaser, a CliffsNotes version. (And that you are welcome to use the comments to add your own thoughts and links).

Free Software
I think the famous tagline is still the best way of summing it up: “Free as in Speech, not Free as in Beer”. When software is classified as “free”, it doesn’t necessarily mean that you don’t pay for it (“free as in beer”) – that’s “freeware”. Though those two traits do often go together.

What “free” means here is that you have the ability and right to see and work with the source code, and to use the software however you see fit (“free as in freedom”). The free software movement is premised on the ideas of transparency and shared knowledge: that being able to look behind an application, to turn it over and see how it works, and, if you want, to build on it, is an essential freedom for computer users.

I don’t think I can top the Free Software Foundation’s “About” description. You can read it in its entirety here. But a snippet:

“Free software is software that gives you the user the freedom to share, study and modify it. We call this free software because the user is free.
…
To use free software is to make a political and ethical choice asserting the right to learn, and share what we learn with others. Free software has become the foundation of a learning society where we share our knowledge in a way that others can build upon and enjoy.
Currently, many people use proprietary software that denies users these freedoms and benefits. If we make a copy and give it to a friend, if we try to figure out how the program works, if we put a copy on more than one of our own computers in our own home, we could be caught and fined or put in jail. That’s what’s in the fine print of the license agreement you accept when using proprietary software.
What if there were a worldwide group of talented ethical programmers voluntarily committed to the idea of writing and sharing software with each other and with anyone else who agreed to share alike? What if anyone could be a part of and benefit from this community even without being a computer expert or knowing anything about programming? We wouldn’t have to worry about getting caught copying a useful program for our friends–because we wouldn’t be doing anything wrong.
In fact, such a movement exists, and you can be a part of it.”

Free Software is developed and shared under the GNU General Public License (GNU GPL). What that license says, in brief, is that you promise to keep sharing. What you build, you keep GPLing. At no point in the chain can you slap a restrictive license on it. You have to keep passing on to other users the same freedoms that you enjoyed. You have to keep contributing to our collective knowledge. No hoarding.

Open Source
All Free Software is Open Source(+), but not all Open Source is Free Software. Open Source is a commitment to showing the code (as in “open source code”), Linux being one of the better known and successful examples of open-source software.

(Sidebar: There’s a teensy bit of shirtyness between Open Source and Free Software over Linux, because the Linux operating system calls itself “Linux” and not “GNU/Linux”, even though the Linux OS is not just the kernel, but also the core utilities and libraries, which are mostly from the GNU project).

Open Source maintains many of the same principles as Free Software, but there is more ambiguity (some might say heated discussions) about whether Open Source simply means you can see the code, allowing you to understand how the software works, versus whether you can do anything with it yourself.

Open Source also does not have the same strict definition around making it open and keeping it open. You can’t call your software “Free Software” unless other people are free to use and tinker with it as well. But you can call software “Open Source” so long as people are able to see the human-readable source code.

The difference between open-source and free becomes apparent when you introduce the “proprietary” adjective. Because it’s possible to have proprietary open-source software (something that’s not true of free software). In proprietary open-source software you can look at the source, but if you take it and change it, you may be in violation of the license.

Why Does It Matter (aka “Proprietary Software” aka “Microsoft FTL”)
Here’s the preface – what I’m saying below is based on my values. This is (roughly) what I think about these choices, and why. Where we switch from information to opinion.

You don’t have to be a developer for open or free software to make sense or be important to you. In fact, I’d say it’s very important that non-developers think about the choices we’re making (even just to know that we’re making them). Developers know why source code is important. But even little ignorant end-users like me (alright, so I am neither little nor ignorant) know why freedom is important, and can see why anything built on principles of knowledge-lockdown is a bad thing.

Software is a human enterprise. And humans make mistakes. Sometimes big mistakes. When other developers, around the world, can see the source code, the odds of catching those mistakes improve exponentially.

Similarly, it improves the odds of higher software quality. Software’s not like a soup. Many hands don’t tend to spoil it, they tend to make it better. In addition to spotting bugs or risks or oversights, you tap into other minds to help your software run more smoothly, more efficiently, more elegantly.

Here’s how one of my “panel of experts” put it:

“Would you prefer to take a spoonful of medicine that only the company knows what’s in it (but they promise that it’ll make you healthy), or a spoonful of medicine whose ingredients’ list has been made available and tonnes of doctors have taken a look at it, and made suggestions, and now the medical community agrees that it’ll make you healthy?
Just because you don’t understand the medical science doesn’t mean that you can’t appreciate the fact that many different doctors (who don’t belong to the company trying to make money) have had the opportunity to check it out.”

Microsoft is the poster child for proprietary software development. Pretty much everything is licensed, locked-down, and restricted, all the time. They make all the decisions, you just buy (what you’re told, when you’re told). What? What’s not to like about that?

Economic arguments are the standard defense of proprietary software. (If you want to read these arguments, they’re not hard to find). But there are many simple counters. Like that no model based on one side (the Microsofts) having all the power and making all the decisions, is a good model. We (the users) are quite literally at the mercy of proprietary software developers.

At best, we have the market as our weapon. We don’t buy their products. But in a world where Microsofts have the money, clout, and push to make themselves ubiquitous “standards”, that’s a pretty small scrap of power. Don’t like Vista? Don’t like how unbelievably un-useful and un-friendly docx files are? Tough noogies to you.
(I’m seriously considering making a t-shirt that says “docx sux”).

Every time I shift my attention back to free/open-source, I get all re-fired up. Sometimes life distracts me, and I let an iTunes or two slip by… so TGIShameless for snapping me back to my senses.

Interested in free or open-source software? These are some of the better known open developments you might like to try (if you haven’t already):