Defining Free

Defining Free

Difficult-o-Meter: 1 ( monkeys can do it)

Covers:

Free software

http://www.gnu.org/philosophy/free-sw.html

GPL

http://www.gnu.org/ copyleft /gpl.html

LGPL

http://www.gnu.org/copyleft/lesser.html

Free Means Different Things to Different People

The most immediately noticable thing about "Free Software" is that it is "free" in the cost sense. You don't have to pay anything to anybody to get Linux and/or any of the software mentioned in this book. Free can certainly mean "gratis."

The more subtle and easy-to-overlook thing about "Free Software" is that it is "free" in the liberated sense. You can use the code from one program in a program of your own devising. Free can certainly mean "liberated."

Free Means Different Things in Different Licenses

These different meanings of free are given form in the licenses under which Free Software is distributed. Only software declared to be in the public domain is "up for grabs." All other software is distributed under one or another of the "free" licenses out there.

So why license free software? Just because you don't care if you get paid for the use of software you write doesn't mean that you don't care about how it may ultimately be used. For this reason, you use the ownership rights given you implicitly by law by the act of authorship to specify limits (or specify the lack of limits) on what a user of your work may do with the work.

The IANAL Declaration

IANAL means "I am not a lawyer." None of the authors of this book are lawyers . Some of us watch Law & Order on TV, but that's about as close as we get. Do not take the following capsule summaries of various licenses as legal advice. Don't even take them as accurate representations of the intent of the licenses. Read each license yourself. If you want to use the code and you are not sure what a license means, I suggest you seek legal advice.

All of that said, don't be too paranoid if all you want to do is use the program yourself or give away copies. All of the licenses we cover here give you at least those rights. If you plan to use the source code in a program of your own, be more alert. This is where these licenses differ wildly.

The GPL

GPL stands for GNU Public License. GNU stands for "GNU's not Unix." GNU is a project launched by the founder of the Free Software Foundation (FSF), one Richard M. Stallman, or RMS, as he is often called. He believes that all software should be free. He does not mean that all software should be gratis, but rather that all software should be "liberated." The phrase Stallman uses is "Think free speech, not free beer."

Stallman is often denounced as at best naive, at worst communist. This arises from a misunderstanding of Stallman's philosophy. To Stallman, the notion of "owning" an algorithm is as bizzare as the notion of "owning" the Pythagorean theorem. To Stallman, you have bought the software. You should have the " parts ."

Furthermore, you should have the full ability to build on the work of others. You should be able to take that code and improve and extend it. This is not, in Stallman's philosophy, stealing. The only way you could steal from the author is if you took his open work, added it to your project, and then distributed the result without the original author's source or your extensions. That would be stealing.

The GPL reflects this philosophy. It grants the recipient all rights to use the source code in any way except:

·                 You may not refuse to pass the same rights to the source code on to any third party.

·                 If you compile or link any GPL'ed code to your code, you must also provide your code under the same terms as the GPL.

It is this latter point that leads some people to condemn the GPL as a "viral" license. Some critics of the GPL are bothered by the fact that using GPL'ed code requires you to release your code under the GPL.

There is a very simple remedy to this, however: Don't use GPL'ed code. The GPL is very hostile to closed or proprietary software. If you believe that you will develop a new piece of software and it will be so special that no one else will be able to reproduce it, and that keeping it secret is the best way to make you as rich as, well, Bill Gates or Larry Ellison, then get on with it and good luck! It is certainly within Stallman's rights (or those of anyone else who chooses to use the GPL) to refuse you the right to use any of his code on your path to proprietary riches.

The GPL protects not just the author's immediate interest of keeping her code open, it also protects her broader interest, in that there is an ever-growing body of free software out there to learn from and build from.

Now, this may not be your philosophy. That's fine. You don't have to use the GPL. But people who have elected to use the GPL have decided not to allow you to exploit their generosity by using their work to make you rich. In this sense, the GPL is as conservative a license as you are ever likely to find. [*]

[*] Note that these terms of the GPL come into play only when you want to distribute software. If you are developing code for yourself or for a client to use privately, it is not an issue. There is nothing wrong with refusing to share the source code if you also refuse to share the binary code!

The LGPL

Of course, this idealism is all well and good. But in a world where you want people to use your software, including people who may wish to write closed and proprietary software, you may find that your philosophy prevents this from happening. The GNU C compiler (gcc) faced this very barrier . In many cases, gcc offered a better compiler than any offered by the actual vendor of a *nix-type operating system. Many people didn't want to use it, however, because they didn't want to have to open their applications just because they linked with the gcc C library.

Stallman and the FSF caved in to some of this pressure and created the LGPL (variously called the Lesser GPL or Library GPL). This license permitted you to link with an LGPL'ed library without its forcing you to release your own source code. The logic was that a library is a complete thing in itself. The mere act of linking an application to use the library was not really extending the library code.

Stallman has since come out publicly against using the LGPL. Still, many products are released under the LGPL.

The BSD Licenses

The Berkeley Software Distribution (BSD) licenses are the other major class of "open source" license. Although I'm making the following number up, I would say roughly 80% of all "open source" code is released under either the GPL or the BSD license.

The BSD license differs from the GPL primarily in that it does allow you to modify the code and then keep the modifications closed. In other words, you cannot take away the rights to the original code, but you can modify that code and then not share the results. For critics of the GPL, this is the perfect solution.

For fans of the GPL (and by now it should be clear I am such a fan ”objectivity is a myth), this denies the original author a fundamental right ”namely, the right to control how the code is used. Nonetheless, many major free software products have been released under the BSD license. And while this has led to closed commercial variants of some products, it certainly hasn't been a death knell to free software. Both licenses give you full-use rights to the released version.

The Artistic License

The major package released under the Artistic License is Perl. This license is practically a public domain license, except it does try to prevent you from calling your derived closed version the same thing as the original open version.

Public Domain

This allows anyone to do anything he or she wishes with the code.

Other Licenses

There are a host of licenses out there. For a lengthy list and critique (from the possibly biased creators of the GPL), visit http://www.gnu.org/philosophy/license-list.html .

The Great Schism

As with any field, leaders tend to become iconoclasts. Some are born iconoclasts. Some have iconoclasism thrust upon 'em. There is a single major split in the philosophies of free software. (Note the lowercase letters : When we use lowercase, we mean software that is free and for which you get the source code.) The split is between Richard Stallman and his "Free Software" philosophy and Eric Raymond and Bruce Perens with their "Open Source" philosophy.

Richard Stallman

We have already talked about RMS, the father of the GPL and the first to codify a philosophy of "liberated" software. People had shared source code in the past; he certainly did not invent that. What he did was to articulate what it means for software to be "Free." It boils down to the two main thrusts of the GPL. First, you have the right to get all the source code with any software, whether it is "gratis" or not. Giving someone binary code only is like giving them an encrypted book or a car with a hood that is welded shut. The other thrust is that if you use code shared in this way, you do not have the right to hide your source code additions. Part of the price you pay for the labor of the original programmer is that everyone else shall benefit from your code. If you don't want to pay that price, fine. But then you don't get to use the original author's code.

Eric Raymond and Bruce Perens

Bruce Perens created the original Open Source Definition (OSD) as the Debian Free Software Guidelines (DFSG). Debian is a Linux distribution that consists entirely of software that meets these guidelines. Some Linux distributions include closed, commerical, or marginally open software. Debian never has and never will.

Eric S. Raymond wrote a number of seminal papers on the phenomenon of what he and Bruce call open source development but what I think may be more generally called Internet-distributed software development. Eric tends to come to fairly far-reaching conclusions from a limited number of data points, but it doesn't change the fact that The Cathedral and the Bazaar has become what may be the single most influential essay on the whole phenomenon of free software.

Bruce and Eric maintain a Web site, opensource.org , where they push the notion of Open Source and downplay the term Free Software.

They also created an "Open Source Certification and Mark" program that would assure a consumer that a product's license met their Open Source Definition.

They argue that the term Free Software is scary to business and hard to sell.

What's a Pagan Boy to Do?

The truth is that this is largely a tempest in a teapot. The DFSG is used to decide what software may be included in Debian, and it remains one of the most robust Linux distributions around. Stallman continues to call it "Free Software," and ESR (as Eric Raymond is often called) continues to call it "Open Source."

The GPL meets the DFSG and the OSD. The reverse would not necessarily be true. Eric's and Bruce's points about the marketing of the ideas are well taken, and there is no doubt that Eric and Bruce have been instrumental in pushing many of these ideas into the corporate arena at a much faster pace than they would have been taken up on their own.

In this book we will call the products "free software," and we will capitalize it when we talk about GPL'ed software. This is not to join the ranks of iconoclasts, but rather to honor RMS, who really made all of this happen. ESR and Bruce Perens have been staunch and successful advocates, but there would have been nothing for them to advocate without Stallman and the FSF.

 



Multitool Linux. Practical Uses for Open Source Software
Multitool Linux: Practical Uses for Open Source Software
ISBN: 0201734206
EAN: 2147483647
Year: 2002
Pages: 257

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net