Microsoft describes the GNU General Public License (GNU GPL) as an `open source' license, and says it is against the American Way. To understand the GNU GPL, and recognize how it embodies the American Way, you must first be aware that the GPL was not designed for open source.
The Open Source Movement, which was launched in 1998, aims to develop powerful, reliable software and improved technology, by inviting the public to collaborate in software development. Many developers in that movement use the GNU GPL, and they are welcome to use it. But the ideas and logic of the GPL cannot be found in the Open Source Movement. They stem from the deeper goals and values of the Free Software Movement.
The Free Software Movement was founded in 1984, but its inspiration comes from the ideals of 1776: freedom, community, and voluntary cooperation. This is what leads to free enterprise, to free speech, and to free software.
As in `free enterprise' and `free speech', the `free' in `free software' refers to freedom, not price; specifically, it means that you have the freedom to study, change, and redistribute the software you use. These freedoms permit citizens to help themselves and help each other, and thus participate in a community. This contrasts with the more common proprietary software, which keeps users helpless and divided: the inner workings are secret, and you are prohibited from sharing the program with your neighbor. Powerful, reliable software and improved technology are useful byproducts of freedom, but the freedom to have a community is important in its own right.
We could not establish a community of freedom in the land of proprietary software where each program had its lord. We had to build a new land in cyberspace-the free software GNU operating system, which we started writing in 1984. In 1991, when GNU was almost finished, the kernel Linux written by Linus Torvalds filled the last gap; soon the free GNU/Linux system was available. Today millions of users use GNU/Linux and enjoy the benefits of freedom and community.
I designed the GNU GPL to uphold and defend the freedoms that define free software-to use the words of 1776, it establishes them as inalienable rights for programs released under the GPL. It ensures that you have the freedom to study, change, and redistribute the program, by saying that nobody is authorized to take these freedoms away from you by redistributing the program under a restrictive license.
For the sake of cooperation, we encourage others to modify and extend the programs that we publish. For the sake of freedom, we set the condition that these modified versions of our programs must respect your freedom just like the original version. We encourage two-way cooperation by rejecting parasites: whoever wishes to copy parts of our software into his program must let us use parts of that program in our programs. Nobody is forced to join our club, but those who wish to participate must offer us the same cooperation they receive from us. That makes the system fair.
Millions of users, tens of thousands of developers, and companies as large as IBM, Intel, and Sun, have chosen to participate on this basis. But some companies want the advantages without the responsibilities.
From time to time, companies have said to us, `We would make an improved version of this program if you allow us to release it without freedom.' We say, `No thanks-your improvements might be useful if they were free, but if we can't use them in freedom, they are no good at all.' Then they appeal to our egos, saying that our code will have `more users' inside their proprietary programs. We respond that we value our community's freedom more than an irrelevant form of popularity.
Microsoft surely would like to have the benefit of our code without the responsibilities. But it has another, more specific purpose in attacking the GNU GPL. Microsoft is known generally for imitation rather than innovation. When Microsoft does something new, its purpose is strategic-not to improve computing for its users, but to close off alternatives for them.
Microsoft uses an anticompetitive strategy called `embrace and extend'. This means they start with the technology others are using, add a minor wrinkle which is secret so that nobody else can imitate it, then use that secret wrinkle so that only Microsoft software can communicate with other Microsoft software. In some cases, this makes it hard for you to use a non-Microsoft program when others you work with use a Microsoft program. In other cases, this makes it hard for you to use a non-Microsoft program for job A if you use a Microsoft program for job B. Either way, `embrace and extend' magnifies the effect of Microsoft's market power.
No license can stop Microsoft from practicing `embrace and extend' if they are determined to do so at all costs. If they write their own program from scratch, and use none of our code, the license on our code does not affect them. But a total rewrite is costly and hard, and even Microsoft can't do it all the time. Hence their campaign to persuade us to abandon the license that protects our community, the license that won't let them say, ``What's yours is mine, and what's mine is mine''. They want us to let them take whatever they want, without ever giving anything back. They want us to abandon our defenses.
But defenselessness is not the American Way. In the land of the brave and the free, we defend our freedom with the GNU GPL.