If you're ever confused by, or mixed up the terms, "open source" and
"free sofware," this is for you. It's a primer on the topic of what
they are, how they are alike, and how they are different. So if
you've heard of the GPL, but are not exactly sure what it is or what
it does, this is for you. Armed with what you learn here, you will
be much less vulnerable to the veritable barrage of FUD that the
Redmondian Empire is hurling at the whole open source/free software
world.
Let's start at the top. Top down, that is. Just like structured
analysis in the corporate geek-speak of the 80's. Let's talk first
about open source. When you hear this term, do not think license.
Think development methodology. Think of source code that is widely
available. Source code that can be both viewed and changed by just
about anyone who wants to bother. That is the essence of open
source. It is "open" as opposed to "closed." It is not hidden away
in a vault like the recipe for Coca Cola, or the source code for
Windows Whatever.
Eric S. Raymond is probably the most eloquent spokesperson for the
benefits that accrue to the users of open source software. His book
"The Cathedral and The Bazaar" describes how
open source development differs from the classic software
development model. The Cathedral model, classic IT methodology, has
a small team of folks with exclusive control over the code. The
Bazaar model, describing the methodology used to develop Linux and
other successful open source/free software projects. The source
code is available to anyone who wants it, and a benevolent dictator
-- Linus Torvalds in the case of Linux -- decides what actually gets
added or changed.
Now let's talk about free software. When you hear this term, don't
think development methodology, or price, think liberty. You may
have heard the mantra "free as in speech, not free as in beer" used
to explain free software. That's because the first thing people
usually associate with free is its price. So when they hear the
term free software they think "Oh, cool. It's not going to cost me
anything." That may or may not be true, but it has nothing to do
with what makes free software free. Here are four requirements that
-- according to the Free Software Foundation -- determine whether or
not software is free:
- Users are free to use the program for any purpose.
- Users are free to examine the source code to see how it works.
- Users are free to distribute the program to others.
- Users are free to improve the program.
If a license provides all those freedoms, the FSF considers the
software covered by that license to be free software. The GPL is
not the only license which meets these criteria, there are many
others that do as well. Please note that the second and the fourth
items require access to the source code. This means that free
software must also be open source software. But the reverse is not
true, and therein lies the FUD. There are many software licenses
used with open source software which do not meet the four
requirements, and therefore software covered by them is not
considerered to be free software.
The Free Software Foundation is basically the brainchild of one man,
Richard Stallman. Stallman is known for his strong, uncompromising
ideology which views non-free software as repressive and free
software as conducive to a better, more productive society. Many
write him off as a madman, and in fact the rigidity of his beliefs
lends itself to making him an easy target for the label. But madman
or not, it is Stallman who singlehandedly has started and nurtured
the revolution which is today turning the software industry upside
down.
Stallman began the GNU (GNU’s Not UNIX) project in 1984 in order to
create a free version of Unix that programmers and users could
freely share with each other without concern about restrictive,
proprietary licensing. He personally wrote some of the most
popular and best known of the tools and utilities that are part of
the GNU system. GCC, for example, the compiler that has built the
code that runs the revolution. Stallman founded the Free Software
Foundation (FSF) in 1985 as a "tax-exempt charity for software
development." The FSF released the first version of the GPL (GNU
Public License) in 1989. Version 2 of the GPL -- the current version
-- was released in 1991. That was about the time that Linus Torvalds
began working on the very early versions of the Linux kernel.
Torvalds decided to use the GPL to protect beginning with the .12
release of the kernel.
The "open source" label wasn’t born until 1998, after Netscape
announced that it was going to give away the source code for its
browser. A group of leaders from the Internet free software
community (meaning the people developing the software, not the FSF)
met to try to make the notion of open source more palatable to the
business community. Richard Stallman and the FSF eventually chose
not to join the Open Source Initiative. There has been a rift
between the two groups ever since.
The rift not only adds to the confusion, as Stallman points out at
every opportunity that open source and free software are not the
same, it provides a fault line for enemies of free software and
enemies of both free software and open source, to attack. And
attack they do, both from within and without the respective
communities. Microsoft understands all of this, of course, and that
is precisely why their FUD attacks the GPL specifically and open
source generally.
Some people say that the GPL is the weakest link in the open
source/free software world. I disagree competely. So does
Microsoft. They wouldn’t waste so much time and effort attacking it
if it were. The GPL is the strongest link in the chain, not the
weakest. The GPL ensures its own longevity by requiring that all
derivative works of GPLd software be licensed under the GPL if an
when they become published. Often referred to as its "viral
nature," the FSF refers to this protection as a "copyleft" instead
of a copyright.
The following definition of copyleft is from the
FSF web site:
"To copyleft a program, we first state that it is
copyrighted; then we add distribution terms, which are a legal
instrument that gives everyone the rights to use, modify, and
redistribute the program’s code or any program derived from it but
only if the distribution terms are unchanged. Thus, the code and the
freedoms become legally inseparable."
Why does Microsoft care about these differences in open source
Licenses? Well, they have made good use of code from the various
BSD projects. Because the BSD licenses are not "copyleft" licenses,
anyone is welcome to use their code and to "lock it up" behind their
own closed, proprietary licenses. That is exactly what Microsoft
and others have done. The GPL doesn't allow that. Calling it the
weakest link in open source is like calling Shaq O'Neill the weakest
link in the LA Lakers lineup.
In closing, I want to leave you with three things to remember about
open source and free software:
- They are not the same thing. Open source implies a development
methodology that is shared by both. Free software implies a license
designed to ensure the four freedoms noted above.
- The division between the two is often bitterly contested, both
from inside and outside the communities. The holiest of holy wars
are not fought over word processors, operating systems, or
compilers. They are all about software licenses.
- Live and let license. Those who write the code get to pick the
license. If you don’t like it, tough. Always suspect the motive of
anyone spending time and energy attacking the license used by
someone else. They may not own up to having an agenda, but clearly
they do.
Resources:
The Free Software Foundation
http://www.fsf.org
Open Source Initiative
http://www.opensource.org