Sunday, August 5, 2007

What is "Free"?

"Think free, as in free speech, not free beer."
    ~ Richard M. Stallman

"Free beer?" you ask. "Think free," Superflex members helpfully explained at the launch, "as in free software."
    ~, on "Free Beer"


"Creative Commons provides free tools that let authors, scientists, artists, and educators easily mark their creative work with the freedoms they want it to carry."

"[...] works licensed solely under the Creative Commons Attribution 2.0 license are not free [...]"
    ~ debian-legal


Everyone contradicts everyone else over what is "Free", and what is not. Some have a very broad definition of the word "Free" which includes free food coupons and even gifts, while others talk about the Freedom of speech. This is basically Gratis vs Libre. But, even within Libre, there is a lot of inconsistency and misunderstanding. From here on, I am going to assume you are well-versed with the concept of "Free Software". If you're not, skim through the wikipedia article on it first.

In the above two sets of quotes, the seeming contradiction is of a different nature in both. In the first set, its a misunderstanding (and a play on words ;), while the second is a clash of ideas.

"Free beer" means beer "on the house", because the bartender has a crush on you, just won a lottery, or is simply in a good mood. And then we have "Free Beer". Beer where the recipe is Free, people all around the world contribute to it to make it better, and a new improved "version" of the beer is released every 6 months.

In the second set of quotes, on one hand we have the uber-paranoid Debian (not that that's a bad thing), and on the other hand, we have the Creative Commons people who had a more conservative view of the concept of the word "Free". They have since then (with version 3.0 of their license) fixed the problem and made it more in-line with the commonly held definition of "Free".

"What is this definition of Free you talk about?", you ask. Hmm, I'm not really an expert on that, so I'll just talk about "Free Software" (about which I know enough to blabber for a while at least ;).
"Okay, what the hell is the definition of Free Software then?", you say. Well, a lot of people seem to think Free Software means Open Source, which is incorrect. There are things that are Open Source and are far from free. They show you the source code, but you cannot modify it, redistribute it, or infact do anything with it except use it. That might seem fine to you, but it doesn't really work. The power of Free Software is behind the fact that anyone can edit it and improve it. So Free Software is a subset of Open Source.

Now, even within Free Software, there are several definitions of 'Free'. We have the GPL, the LGPL, the BSD license, the MIT license, et al. They are not just licenses, they are definitions of "Free".

The GPL created by the Free Software Foundation (FSF) says

"If any code distributed under me is reused anywhere, and if that work is distributed as well, then it must be under me as well".

This might sound very restrictive, and in fact this is why some people dislike it, but that clause is to keep software free. Kind of like Fundamental Rights, the Right to be Free...

This kind of license is strong copyleft.

Now, the word "reuse" is ambiguous. Does it only mean using code directly in your program? Or does it also include linking to it? Turns out, the GPL applies to both of these. The only thing that is excluded is run-time linking to libraries. For the case of linking, the FSF created the LGPL (Library GPL)

"Use me as GPLed code unless you're just linking to me, in which case, go forth and link."

However, the terms are much more complicated than this overly simplistic sentence. This is mostly for libraries like codecs, etc which are made to be used by a lot of different software, hence the need to make them usable by non-GPL code. However, the creators of the license now recommend you to use the GPL for certain kinds of libraries. See here for why.

This kind of license is copyleft.

And then we have the BSD license

"I am Free Code, use me.".

That's it. That's the gist of the license, the code is Free as in Libre, but you are also free to subjugate it if you want :) Thats how Apple was able to take OpenBSD, make Mac OS X out of it and not have to release the source code for it.
In this sense, it has less restrictions than the GPL. For one definition of "restriction".

This kind of license is called copycenter. Kinda like, copying-center ;)

And finally, we have the public domain.

"I'm just lying around here, use me."

Things in the public domain are "Free" under ALL definitions of free. Its just there, not "owned" by anybody. Examples of things like this are mathematics. No one "owns" mathematics, no one can own mathematics, even if you invent something in it (like, say calculus) you can't "own" it, its all under the public domain.
In most countries, copyrighted/patented works become a part of the public domain after 20 years. However, the laws are complex and are different in all countries. See here for details.

This stuff is copy-everything =)

So, what do you think is Free?

1 comment:

Anonymous said...

hmm, the bartender has a crush on you? or the bartendress? Maybe both...