The GNU Project

  Image20.gif (96972 bytes)


) Evolution.gif (1141 bytes) MicroBiology.gif (1179 bytes) Image55.gif (1170 bytes)
Home School.gif (1169 bytes)

Space Button.gif (1112 bytes)

Image57.gif (1154 bytes)

The Gallery.gif (1174 bytes)

PoetryProse.gif (1176 bytes) Quotations.gif (1160 bytes)

SiteMapButton.gif (1152 bytes) Image54.gif (1125 bytes)

 

 
GNU General Public License

Richard Stallman on freedom and the GNU GPL

The leader of the FSF and the GNU Project responds to a recent LinuxWorld story

Summary
Richard Stallman, the leader of the FSF and the GNU projects disagrees with some of the characterizations of free software made in a recent LinuxWorld article about the GNU General Public License. Here is his response. (1,700 words)

By Richard M. Stallman


Copyright 1999 Richard Stallman. Verbatim copying and redistribution of this article are permitted in any medium, provided this notice is preserved.

In his article on free software licensing, "Reverse-engineering the GNU Public Virus," (LinuxWorld, September 1999) Stig Hackvan seems to have filtered the facts through his political views: that the Free Software movement is "extreme" and impractical. I hope that readers will take his description of the Free Software movement, its views, and, above all, its practical methods, with several spoons of salt.

He begins by berating me for using the word free to refer to freedom:

The word free denotes gratis (as in "free beer") far more readily than it denotes liberty (as in "free speech"). But Stallman confounds the matter by insisting that he's talking about free speech and then asserts that free software is a matter of liberty, not price.

I wonder what other word he thinks I should use. Most languages have a common adjective for free-as-in-freedom which does not also refer to price, but English has none. Various alternatives have been suggested, but they all have problems of their own. A year ago, some people started using the term open source, but that too is flawed; people regularly misunderstand it if they don't know the official definition (http://www.gnu.org/philosophy/free-software-for-freedom.html).

My views on freedom sound self-contradictory after passing through the Stig filter:

To further confound matters, he promotes free software by constraining the freedom of software developers.

If this seems paradoxical, it shouldn't. Protecting essential freedoms is always a matter of restricting the actions that would deny them. Remember, your freedom to swing your fist ends at the tip of my nose.

The Free Software movement aims to provide certain freedoms for all computer users, including the right to change a program, the right to redistribute copies, and the right to publish modified versions. The most effective way to protect these rights is to deny anyone else the power to take them away from you.

I find the distinction between freedom and power useful for thinking about the ethics of political issues. Freedom is when you control activities that affect you most closely; to control activities that mainly affect other people is power, power to dominate others. When software users can change and share a program, that is exercising freedom. When software developers make a program proprietary, and place restrictions on the users, that is exercising power.

The US Constitution doesn't fare much better in Hackvan's article. He writes:

Congress is authorized to "promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries." From that clause, we may extract three clearly stated goals: the promotion of learning and the "useful arts;" the maintenance of the public domain (only new writings and discoveries are protected, and such protection is limited in duration); and the enrichment of authors and inventors.

The Constitution treats the last of these as a means to an end, not as an end in itself, as you can see from the words that are quoted from it.

The article also repeats a widespread misunderstanding of the GNU GPL:

But the GPL's expectation is that even the tiniest bit of GPLd source code, combined with your own, can "infect" your program with the GPL's redistribution terms.

Strictly speaking, nothing we free software developers do can legally require others to release their code in any particular way. If someone has used some of my GPL-covered code in a program, and releases the program, I cannot make that person release the program under the GPL. I can, however, deny permission to release my code on any other basis. That is what the GPL does.

If he has used a large amount of my code, he might decide to release the whole program under the GNU GPL, rather than taking out my code (which he is always entitled to do). This is how the GPL works, pragmatically, to encourage free software development.

A few passages in the article show us where Stig Hackvan is really coming from:

The GPL specifically permits publishers to charge for distributing GPLd information, yet it prevents artists from using copyrights to charge for their creative output....

Stallman goes to great lengths to be precise about what he means, but he fails to assuage the bottom-line anxieties of software entrepreneurs, to whom anything free seems like a losing business plan.

The fact is, I'm more interested in defending your freedom and mine than in how software entrepreneurs feel. So I refuse to cede any important freedom to make them feel comfortable. (I do try to make them comfortable about using and developing free software, but not by sacrificing the ultimate goal.) Stig would willingly do so, because the freedom of people in general is not such a priority for him -- that is his basic disagreement with the Free Software movement. Naturally, then, he would disapprove of the GPL, or anything that protects our freedom from software entrepreneurs who would like to take it away. His real objection to the GPL is that it does what it was designed to do.

But he could not write an effective article based solely on that. He needed to find other things to criticize, such as our firmness and idealism.

In Stig's view, to be firm is to be inflexible. You can see how much it pains him to describe pragmatic compromises that we've made, such as the Lesser GPL. The difference between us and Stig is this: we compromise when that helps achieve the goal of free software, but we don't compromise the goal.

In Stig's view, to be idealistic is to be ineffective. The Free Software movement is idealistic, but very effective: free operating systems exist because of our idealism. If you are using Linux, Linus Torvalds' kernel, you are most likely using it in conjunction with the GNU system. This combination, the GNU/Linux operating system, the subject of LinuxWorld magazine, exists because of the FSF's idealism. The system is the idealism of the GNU project made real.

I've done business in the world of free software for 14 years now, ever since I began selling tapes of GNU Emacs in 1985, and I agree with Jamie Zawinski (as quoted in Stig's article) that free software and greed are not incompatible -- at least, most of the time they can coexist. But greed alone will not protect our freedom. There are occasions where defending freedom requires a special effort, an effort that requires a motivation beyond material gain.

History shows that people who don't value freedom enough to defend it will tend to lose it. Fortunately, Eric Raymond's doctrinaire, almost Marxian vision of economic determinism is not realistic: history also shows that people who do care can defend their freedom, if they make an effort. To keep free software alive, we need many people to make small efforts, and a few people to make great efforts.

Please join the Free Software movement, and help these efforts.

Postscript
I suggest avoiding the term intellectual property, which Stig used in his article, because:

  • It takes for granted that these things should be a kind of property, which is prejudging the most important issue.
  • It is too big a generalization, and is likely to tempt all nonlawyers into assuming that patents and copyrights are similar except for some details. Actually, they are almost entirely different.

It is much wiser to talk about either patents or copyrights, and never try to talk about both of them at once.

I also suggest avoiding the term protection to describe what copyrights or patents do. That is a propaganda term -- it views the situation from the point of view of the person or company that owns the monopoly, rather than the millions of others who are restricted by it. This is why publishing interests use the word so much; they know what message it conveys.

See http://www.gnu.org/philosophy/words-to-avoid.html for more explanation of these topics.

About the author
Richard Stallman founded the GNU Project in 1984 to develop a free operating system, GNU. As part of this project, he wrote programs such GNU Emacs and GCC, as well as the GNU General Public License. The "Linux operating system" which is popular today is actually the GNU system, adapted to use Linux as the kernel.


Beowulf Linux Clusters

Small scale parallel processing is becoming cost effective for single users with the advent of high performance commodity microprocessors, short haul high speed networks, and low cost GigaByte capacity disks. Migration of scientific computing demands from mainframe and supercomputers to workstations continues but is hindered by the lack of scalable system software to integrate available resources into useful systems. Movement from centralized computing to distributed heterogeneous systems of workstations, file servers, and high performance computers puts more capability in the hands of the scientific and engineering computing user but creates new bottlenecks in the total system that limits scalability and environment growth. File servers and interconnecting networks can become overloaded, constraining productivity and degrading overall system cost effectiveness. This is particularly true when large datasets are involved as is the case for many Earth and space science applications; especially those involving visualization as described above. To address this challenge requires modification to the balance of resources and the leveraging of industry investment in cost effective technology. Central to this advance is the requirement for an operating system capable of managing parallel processor, communication, and mass storage resources with individual user systems.

The Linux operating system is a new robust and fully open Posix compatible environment available at no cost and with full system source code. It is an ideal base with which to support system software research and advanced development, leveraging industrial and academic research and investment. It is targeted to the single most popular architecture family and has an installed base of over a hundred thousand sites. Linux has received little attention, however, as the logical substrate for parallel processing environments. The ESS Program's Parallel Linux project is motivated by the opportunity of bringing inexpensive parallel computing to the end-user environment and there-by greatly reducing the source of bottlenecks currently prevalent in networked environments for scientific computing. The ESS Parallel Linux (EPL) will enable industry defined hardware and software standards to be integrated in resource ensembles that will move the operating point of data storage, access, manipulation, and visualization to the end-user terminal resulting in lower cost, greater performance, and better global system behavior. EPL will extend Linux by achieving the following milestones:

  • Integrate PVM for standardized message passing among multiple processors and with external networked resources.
  • Enhance NFS to be light-weight and incorporate multiple processors driving multiple disk drives for order-of-magnitude disk access bandwidth increase.
  • Augment with distributed task scheduling for load balancing of concurrent processes.
  • Extend demand paging mechanisms to include access to distributed memory modules for unified addressing.
  • Incorporate advanced Condor control software to establish clusters of ESS Parallel Linux systems for scalable distributed computing systems.

The EPL Project is intended to support such important ESS application requirements as visualization and satellite terminal data processing which will run on top of it. The goal of EPL is to perform pathfinding research for the US parallel processing community by examining resource requirements within the context of this new operating point and providing demonstration systems that embody techniques capable of achieving new levels of cost effective high performance computing. It is anticipated that key elements of the Linux extensions making up EPL will be distributed to the system vendors for direct incorporation in their products (protected by the Gnu Public License) or as a template for techniques that can be ported to their products.

Author:Thomas Sterling tron@cesdis.gsfc.nasa.gov