|
Home | Switchboard | Unix Administration | Red Hat | TCP/IP Networks | Neoliberalism | Toxic Managers |
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and bastardization of classic Unix |
Nikolai Bezroukov. Portraits of Open Source Pioneers
For readers with high sensitivity to grammar errors access to this page is not recommended :-)
2001 | 2000 | 1999 | 1998 | 1997 | 1996 | 1995 | 1994 | 1993 | 1992 | 1991 | 1990 | 1989 | 1988 | 1987 | 1986 |
|
|
[Mar 21, 2006] Open and Shut Interview with Richard Stallman This is one of Open and Shut The Basement Interviews
... A short tale about the challenges and opportunities facing scribblers in the age of the Internet, and six rules exemplified.
Three years ago I had an idea for a book. It was a simple enough idea: I could see that an increasing number of "free" or "open" movements were developing, and that while they all had different aims, they appeared to represent a larger and more generalized development than their movement-specific objectives might suggest.
Indeed, I felt that they looked set to exemplify the old adage that the sum of some phenomena is always greater than the constituent parts. But if that was right, then what was the sum in this particular case?
I was also intrigued as to why were all these movements were developing now. For while it was apparent that Open Source and Free Software, Open Access, Creative Commons, Open Spectrum, Open Biology, Open Journalism, Open Politics, Open Data etc. all owed a great debt to the development of the Internet, it was not clear (to me at least) that the network was the only driver.
...Today I am publishing an interview with Richard Stallman, the founder of the Free Software Movement, and of the Free Software Foundation (FSF).
To read the interview in its entirety (as a PDF file) click here.
LinuxP2P View topic - Richard Stallman on P2P
Richard Matthew Stallman (On the picture below) is the creator of the Free Software movement, the founder of the GNU project and the Free Software Foundation. He has written several programs used in almost all GNU/Linux distributions, such as the GNU C Compiler, the GNU Emacs editor and the GNU Debugger, amongst others. He wrote the GNU GPL, and is also currently co-authoring version 3 of the GPL. He also gave POSIX it's name, the term used to mean most UNIX-like operating systems today. We asked him for his opinions on File Sharing, DRM and some other subjects.
LinuxP2P: What is your general opinion of Peer to Peer File-Sharing? Is it a positive or negative thing, and why?
RMS: People have a right to share copies of published works; P2P programs are simply a means to do it more usefully, and that is a good thing.
LinuxP2P: The recording and movie industries claim that P2P users infringe on their intellectual property. In your opinion, is this correct, or are the users exercising fair use?
RMS: The reason they use the term "intellectual property" is because it misleads and confuses. If they said "infringe their copyrights", they would be making a clear and meaningful statement. But when they say "intellectual property" instead of "copyrights", the mix up copyright law with a dozen other laws. It's impossible to say anything clear about such a confused subject.
Anyone who uses the term "intellectual property" is either trying to confuse the public, or confused himself. Those who wish to encourage clear thinking would do better to avoid it. (See http://www.gnu.org/philosophy/not-ipr.xhtml for more explanation.)
So let's imagine that they tried to be clear, and said these people are infringing their copyrights. Whether that is true, I am the wrong one to ask--I am not a lawyer. What I can say is that I think that question is irrelevant to the ethics of the issue. If copyright law forbids people from sharing, copyright law is wrong.
LinuxP2P: What is your opinion on DRM? Is it good or bad, and why?RMS: Digital Restrictions Management means technically restricting the public's use of published works. It is fundamentally unjust. I reject all DRM. I have signed a pledge not to buy fake CDs that carry DRM--http://www.pledgebank.com/boycottdrm. The host of a speech once gave me a fake CD, and I said "Here you see the face of the enemy--please return this to the store". I have also never bought an encrypted DVD, and I never will buy one, unless I someday live in a country where DeCSS is legal.
LinuxP2P: Now that we have iTunes, Rhapsody and Napster etc. providing an outlet for digital music, is there really a need for P2P file sharing to continue?
RMS: That question is absurd--it's like saying "Now that we have Fox News, is there really a need for blogging?" Correct me if I'm wrong, but I understand that Rhapsody and Napster are shackled by DRM. People should not do business with them. iTunes is a peculiar case: it allows you to burn the music onto a genuine audio CD. Therefore, it is DIM (Digital Inconvenience Management) rather than DRM, and I think that makes iTunes ethically acceptable--in this respect, at least.
However, Apple says it reserves the right to change the rules on you at any time. Therefore, you should systematically burn all music you get with iTunes onto genuine audio CDs, as a kind of a backup--and don't wait too long before backing up your music! If you wait until you actually want a certain piece on a CD, you may longer be able to write the CD.
In any case, iTunes distributes only music. As far as I know, the only way you can get a non-digitally-restricted version of a movie is through a P2P network.
A further problem with iTunes is that it distributes MP3 format. We need to move away from the use of that format, because it is patented. The free software that used to exist for MP3 encoding has been driven underground by threats of lawsuits.
The free software community has developed another audio format called Ogg Vorbis which is both superior in sound quality and non-patented. You can help take away the patent holder's power by using Ogg Vorbis format for the audio files you make, and by preferring that format for files you listen to.
LinuxP2P: In what directions would you say P2P has to develop before it is accepted by content producers?
RMS: When publishers describe the works that they publish as "content", in effect referring to these works as mere filler, they ironically show how little they value and appreciate them as works of the intellect.
I do not wish to devalue works of authorship, so I decline to refer to them as "content". I also decline to refer to writers and musicians as "producers", because I do not want to treat music and writing as "products" (which implies a narrowly economic point of view).
Many writers and musicians are happy with P2P sharing. Many others, pursuing the unlikely dream of getting rich through commercial publication, do not like it. I do not see how further developments in the P2P software could be expected to set them straight about their dreams of riches, and I tend to think that this has to be done by cultural change instead.
As for the music factories--a.k.a. the major record companies--what they want is power. They will never accept P2P sharing as long as it remains a way to escape from their power. For their abuses against the people, they deserve to be abolished, and that should be everyone's goal.
LinuxP2P: The Free Software Foundation is currently working on the GPL version 3, which I understand will ban all forms of DRM. A large amount of P2P software exists under the GNU GPL. Will the GPLv3 have any effect on those projects, considering one can use P2P software to download files with DRM?
RMS: That is somewhat of a misunderstanding--we cannot "ban DRM". What we can do is prevent GPL-covered software from being corrupted into an instrument for implementing DRM.
The way we do this is not by restricting which technical jobs the program can do. (That kind of restriction would make the program non-free.) Instead, we make sure that users retain the effective freedom to change the software and run their changed versions.
Since DRM is based on restricting the user, effectively maintaining the user's freedom thwarts DRM. Or more precisely, effectively maintaining the user's freedom to change a certain program thwarts use of that program to implement DRM. We cannot stop them from implementing DRM in other ways.
These parts of GPL v3 will have no effect on such programs, because they are not used to impose Digital Restriction, and their developers do not attempt to stop users from running modified versions.
LinuxP2P:In the last couple of years, independent media and entertainment seems has grown immensely. Just last week, CreativeCommons.org passed the 200000 mp3s indexed milestone. Most independent music, movies etc., use Creative Commons licensing. A lot of the independent artwork has been spread through P2P (Using legal independent artistry sites such as Jamendo.com and ccMixter.org, as well as manually by the artists themselves.). Apart from the obvious, which is that the GPL is written to cover software, what differences are there between generic CC licensing and the GPL?
RMS: I have already explained the patent problem of MP3 format.
As your question illustrates, people have a tendency to disregard the differences between the various Creative Commons licenses, lumping them together as a single thing. That is as mixed-up as supposing San Francisco and Death Valley have similar weather because they're both in California.
Some Creative Commons licenses are free licenses; most permit at least noncommercial verbatim copying. But some, such as the Sampling Licenses and Developing Countries Licenses, don't even permit that, which makes them unacceptable to use for any kind of work. All these licenses have in common is a label, but people regularly mistake that common label for something substantial.
I no longer endorse Creative Commons. I cannot endorse Creative Commons as a whole, because some of its licenses are unacceptable. It would be self-delusion to try to endorse just some of the Creative Commons licenses, because people lump them together; they will misconstrue any endorsement of some as a blanket endorsement of all. I therefore find myself constrained to reject Creative Commons entirely.
Does Creative Commons publish the number of music files that are released under Creative Commons licenses that DO permit noncommercial sharing of copies? If so, could you give that number?
LWN Interview with Richard M. Stallman
The GNU manifesto states "An initial kernel exists but many more features are needed to emulate Unix." What was that kernel, and what happened to it?
It was called TRIX, and was developed by someone at MIT (I don't remember who). I think that I eventually concluded it was not really usable as a starting point. One factot was that it ran only on an obscure machine, and would have required porting before we could even try to develop it further.
The GNU Project's kernel now, of course, is the Hurd; it is evidently getting close to ready for more widespread distribution. Free operating systems based on other kernels are now widely used; what will Hurd-based systems offer that will make them attractive relative to the others?
The Hurd offers the power of a microkernel-and-servers architecture. For instance, you can run two copies of the Hurd at the same time, debug the new one using the old one, even gradually switch from one version to another. You can even use GDB to debug the file system while the system is running--thread-specific breakpoints allow you to debug the file system's activity for certain files, while the same file server runs normally when GDB opens the source files of the file system.
These servers do not in general require special privileges. As an ordinary user you can write a new file system and attach it to a file name in your directory. Then anyone who accesses that file name talks to your file system. The file system can emulate the behavior of a single file, or the behavior of a directory.
One user-level benefit is that a command analogous to `su' can give root privileges to your existing jobs, including your Emacs. Another command can take root privileges away again. So you don't have to start a separate Emacs under your `su', which lacks your usual buffers etc. You can also assume several user identities at once for access purposes, adding and deleting them at will.
We hope to provide an extremely simple and convenient system for package installation and deinstallation, using specially written file systems for /bin and other such directories.
Also from the Manifesto: "Unix is not my ideal system, but it is not too bad." What is your ideal system at this point, and how do you see getting there?
I don't have grandiose ambitions in the area of technical changes. I would like to see the whole system made more coherent through use of Scheme as an extension language (supporting other popular scripting languages too by translating them into Scheme). I would like to see full and thorough support for internationalization.
At a higher level, I would like to see all the activities and customizations that non-wizards might want to use available in GUI form.
Is it your belief that "high-paying organizations" (i.e. proprietary software vendors) should be banned?
I would not ban high salaries, but I think they should have a high tax bracket. As for making software proprietary, I really don't care whether it is legal as long as in practice it is rare enough to have no significant impact on society.
Some companies have adopted a hybrid business model where proprietary software products are used to help fund free software development. In your view, is this an appropriate way to raise the money to pay for free software projects?
Proprietary software is antisocial, so developing it is wrong. In most cases, the user of proprietary software is expected to promise not to share with anyone else. It's wrong to make that agreement, wrong to keep it if you have made it, and especially wrong to lure someone else into making such a promise. Using part of the proceeds of this antisocial activity for a worthy cause cannot justify it.
We can easily identify the practical harm such companies do. When major institutions in our community develop non-free software, they tell the public that non-free software is ok. This weakens our community's resolve to maintain our freedom, and that weakness hurts our chances of surmounting each of the various obstacles that we face: hardware with secret specs, non-free tools and libraries such as Sun's Java platform, software patents, the DMCA, and the proposed SSSCA. When they make it tough to obtain free software for a certain job, will we persevere, or will we give in? Those who are willing to take the easy way out and use non-free software will not help us prevail.
Often a change in a company's public message is the first sign we get that it is thinking of jettisoning its principles on this issue. The idea that free software has an ethical importance disappears, and often the term "free software" disappears as well. It is replaced by statements that appeal only to the practical convenience their software offers.
The usual cause of this change is accepting outside investment from people who are not dedicated to free software. Many a free software company has been maimed or destroyed by a VC ambush, though I can't give you a body count. For instance, Cygnus Support was started with its founders' money, and was profitable and growing for several years as a free software company; then it accepted investment from people who did not care about free software, and they decided to start developing non-free programs. (We were lucky that Red Hat acquired Cygnus and rereleased them free software, but you can't count on being rescued that way.) Although Cygnus continued developing free software as well, it was no longer a free software company; our community had lost its biggest example of business success. If you are running a free software company, beware outside investors!
In contrast, I think it is acceptable to do what MySQL AB and TrollTech do: release under the GPL, but sell alternative licenses permitting proprietary extensions to their code. My understanding is that all the code they release is available as free software, which means they do not develop any proprietary software; that's why their practice is acceptable. The FSF will never do that--we believe our terms should be the same for everyone, and we want to use the GPL to give others an incentive to develop additional free software. But what they do is much better than developing proprietary software.
(Footnote: RMS added later: "I later learned that TrollTech does develop proprietary software. I apologize for having mentioned it erroneously.")
What system do you run on your desktop and/or laptop now? Who was its distributor?
I use Debian GNU/Linux.
The large commercial tax programs require, for their production and maintenance, vast armies of lawyers and accountants to ensure that all the rules are followed. They also come with a warranty: if a bug in the program leads to tax penalties, the vendor will pay those penalties. It has said that this kind of software can never be free, since the users must pay for the lawyers, accountants, and warranty. In a society based on free software, how can such programs be developed and supported?
If warranties are so important, the same people who now pay for the right to use the program (to get the warranty) might pay the same amount specifically for a warranty. The same company might thus develop the same program as free commercial software with a business model of selling a warranty for it.
Alternatively, the IRS could release this software. Or it could provide a back end which does the calculations, so that others could develop interfaces for that back end, without risk that the calculations might go wrong.
... ... ...
There is, for example, some disagreement (among the copyright holders) over whether run-time loading of modules into the kernel, Linux, requires that the modules have a GPL-compatible license. As the creator of the GPL, do you feel that Linux kernel modules fall within the boundary?
They clearly are covered by the GPL; modules for Linux are extensions of Linux, so under the GPL these modules must be free.
However, anything the copyright holders of Linux give permission for in use of Linux is certainly permitted, regardless of what the GPL by itself would say. The license used on a program is legally a statement of what the copyright holders permit. Any statements they make that they permit this or that, once others rely on them, have the same legal force.
How about MySQL AB's claim that some uses of the MySQL server over a network connection constitute a derived work?
Progress Software put out a press release that suggested MySQL AB was making such a claim, but that was not so. The GPL violation involved static linking of non-free (at the time) code with the mySQL code and distributing the result as a single binary.
As far as I know, the GPL violation by Progress involved static linking of MySQL with non-free code.
Code can remain in active use far longer than many of us would expect. Is the prospect of GPL-licensed code moving into the public domain something to worry about?
No. Even in 1997, copyright lasted a very long time. According to the laws in effect then, the early versions of GNU Emacs would go into the public domain 50 years after I die. So what? Newer versions of Emacs have major contributions by other people, most of them considerably younger.
Do you see the (seemingly continuous) extension of copyright terms as a good thing for GPL-licensed software or not?
I am surprised you would even entertain the notion that some minor secondary benefit could outweigh the great harm done by the Mickey Mouse Copyright Act. I supported the Eldred vs Reno case at the beginning, and still do.
In an earlier message, you said: "People often describe our work as "open source", but that is actually the slogan of another movement which was formed specifically to reject our views." Can you please explain why you believe the OSI was formed for that purpose?
Its founders said so, and if you compare www.opensource.org with the views of the free software movement in www.gnu.org/philosophy, you can see it for yourself. The free software movement is based on an ethical stance: that users are morally entitled to the freedom to share and change software, that non-free software is unethical and wrong. The open source movement rejects this basic view; it does not say or even hint that software should be free (or "open source"). It does not raise this as an ethical issue at all.
Some say that omission is just a strategem, that "open source" is a "marketing campaign" for free software, but I believe the open source movement is sincere and I take it at its word. Some of the OSI's leaders have told me they really don't believe that software morally ought to be free. As for Linus Torvalds, who is regarded as an open source celebrity, he recently condemned all political ideals, saying that anyone who would do without a tempting non-free program for the sake of his freedom is "thinking with his gonads". And here I thought that gonads had to do with sex.
For the open source movement, non-free software is a less than ideal solution to a problem. For the free software movement, non-free software is the problem, and replacing it with free software is the solution.
This is not to say that the open source movement is evil. Nearly all open-source software is also free software; they have convinced many people and companies to develop free software, and that is a contribution to the free software community. However, while contributing to our community in that way, the open source movement weakens the community in another way: by spreading an attitude that is less than firm, they undermine our resolve to win and keep our freedom.
Occasionally one hears rumors of work on version 3 of the GPL. Is there such an effort afoot? If so, what sort of changes to the GPL are anticipated?
We are working on GNU GPL version 3 now. The changes will only be in details, of course. Most are just clarifications, but one substantive change will make the GPL compatible with some additional free software licenses.
Probably the most substantial change would [give a] program's developer a way to insist that an ASP running the program and offering access to the public must make the source code for the program available for public download. Some developers have been unwilling to release software under the GNU GPL without this provision.
Interview Richard M. Stallman - GNU Project - Free Software Foundation (FSF) -- another official (reproduced on FSF site) interview with telling statemnets like "open source is a development methodology; free software is a political philosophy (or a social movement).", "There is a place in life for business, but business should not be allowed dominate everyone's life. ", "Proprietary software divides the users and keeps them helpless, and that is wrong.".
I would like, in this interview, to focus on your current work, and on the problematic of what kind of society we should like to live in. Your focus now--and for at least the last seventeen years--has been on working to make the social arrangements for using software more ethical.
But, [briefly,] what do you mean by the notion of a what I call here a more ethical society?
We need to encourage the spirit of cooperation, by respecting other people's freedom to cooperate and not advancing schemes to divide and dominate them.
This takes us to a point that is quite important and that I am hoping you can clarify for our readers. The term you prefer for your ethic is "free software," where the word "free" means freedom from constraints and not free to take. But the term that more and more people are using is "Open Source," a term of quite recent vintage (1998), and, from your perspective, filled with significant problems. Of the two, free software is a term that implies an ethic of living and holds out the promise of a more just society; the other, "open source," does not.
Is that a fair statement? Would you address that issue, and clarify the distinctions for our readers?
That is exactly right. Someone once said it this way: open source is a development methodology; free software is a political philosophy (or a social movement).
The open source movement focuses on convincing business that it can profit by respecting the users' freedom to share and change software. We in the free software movement appreciate those efforts, but we believe that there is a more important issue at stake: all programmers [owe] an ethical obligation to respect those freedoms for other people. Profit is not wrong in itself, but it can't justify mistreating other people.
Along these lines, there has been considerable confusion over how to name your idea of an ethical society. Mistakenly, many would assert that you are suggesting a communism.
Anyone who criticizes certain business practices can expect to be called "communist" from time to time. This is a way of changing the subject and evading the issue. If people believe the charges, they don't listen to what the critics really say. (It is much easier to attack communism than to attack the views of the free software movement.)
Pekka Himanen, in his recent work, the Hacker Ethic, has rightly countered these claims. I would go further: that what you suggest is close to what political theorists such as Amitai Etzioni would describe as a communitarianism (see, for instance, http://www.gwu.edu/~icps/about.html). And communitariannism is by no means hostile to the market economy that most people associate with capitalism. Quite the opposite. Would you speak to what could be called the politics of your ethical system?
There is a place in life for business, but business should not be allowed dominate everyone's life. The original idea of democracy was to give the many a way to check the power of the wealthy few.
Today business (and its owners) has far too much political power, and this undermines democracy in the US and abroad. Candidates face an effective veto by business (see http://www.billionairesforbushorgore.com), so they dare not disobey its orders.
The power to make laws is being transferred from elected legislatures to nondemocratic bodies such as the World Trade Organization, which was designed to subordinate public health, environmental protection, labor standards, and the general standard of living to the http://www.citizen.org/pctrade/gattwto/gatthome.htmlinterests of business. Under NAFTA [North American Free Trade Associtation], a Canadian company which was convicted in Mississippi of anticompetitive practices is suing for Federal compensation for its lost business due to the conviction. They claim that NAFTA takes away states' right to make laws against anticompetitive practices.
But business is not satisfied yet. The proposed FTAA [Free Trade Area of the Americas] would require all governments to privatize their [public facilities] such as schools, water supply, record keeping, even social security. This is what Bush wants "fast track" authority to push through.
Peaceful protestors against the FTAA in Quebec were violently attacked by police, who then blamed the fighting on the protestors. One protestor standing on the street was shot in the throat with a plastic bullet at a range of 20 feet. He is maimed for life, and seeks to press charges of attempted murder--if the cops will reveal who shot him.
One protest organizer was attacked on the street by a gang that got out of a van, knocked him down, and beat him up. When his friends came to the rescue, the gang revealed itself as undercover police and took him away.
Whatever democracy survives the globalization treaties is likely to be crushed by the efforts to suppress opposition to them.
The most immediate criticism of your insistence on ethics would be that the ethic of free software is fine, but not relevant to the real world of business.
With over half the world's Web sites running on GNU/Linux and Apache, that is evidently just FUD. You should not give such falsehoods credibility by appearing to take them seriously yourself.
I think it is worse to leave implicit lies unanswered than to address them directly. The thrust of my argument was that Microsoft, for instance, would and does claim that free software does not make money and rather loses money. They argue it's a bad idea all around. I don't think that Microsoft is to be ignored, just as the WTO should not be ignored. But: my question was to suggest a rebuttal this self-evident FUD, not to credit the errors of others.
So, I'll rephrase my question: Microsoft has attacked the GPL as business foolishness that is also bad for "America" (whatever that means). They don't care about community ethics. How do you then counter their FUD, or for that matter, the FUD of those who share Microsoft's views?
Stallman did not respond to this query for clarification, but as it happened, a speech he recently presented at New York University responded to Microsoft's propaganda. The Free Software Foundation has presented a defense, of free software, as well.
[To return to the interview....]
On a more individual level, how would you address the criticism of person who would like to follow your ethical standards but feels she cannot because she wants also to make money from her intellectual work?
This hypothetical person appears to believe that developing free software is incompatible with being paid. If so, she is misinformed--hundreds of people are now paid to develop free software. Some of them work for Sun. She is challenging us to solve a problem that doesn't really exist.
But what if she can't get one of these free software jobs? That could happen--not everybody can get them today. But it doesn't excuse developing proprietary software. A desire for profit is not wrong in itself, but it isn't the sort of urgent overriding cause that could excuse mistreating others. Proprietary software divides the users and keeps them helpless, and that is wrong. Nobody should do that.
So what should she do instead? Anything else. She could get a job in another field. But she doesn't have to go that far--most software development is custom software, not meant to be published either as free software or as proprietary software. In most cases, she can do that without raising an ethical issue. It isn't heroism, but it isn't villainy either.
But copyright can be thought of as an author's friend.
In the age of the printing press, that was true: copyright was an industrial restriction on publishers, requiring them to pay the author of a book. It did not restrict the readers, because the actions it restricted were things only a publisher could do.
But this is not true any more. Now copyright is a restriction on the public, for the sake of the publishers, who give the authors a small handout to buy their support against the public.
In the current situation, then, who benefits most from copyright?
The publishers.
Were I freelancing again, I would not want to release my works without the minimal security of payment for my labor copyright affords.
You could do that without copyright. It is part of your business dealings with the magazine you are writing for.
But please note that I don't say copyright should be entirely abolished. You can disagree with what I said, but it makes no sense to attack me for things I did not say. What I said in my speech was that software which is published should be free.
URETSKY: I'm Mike Uretsky. I'm over at the Stern School of Business. I'm also one of the Co-Directors of the Center for Advanced Technology. And, on behalf of all of us in the Computer Science Department, I want to
welcome you here. I want to say a few comments, before I turn it over to -- Ed, who is going to introduce the speaker.The role of a University, is a place to foster debate, and to have interesting discussions. And the role of a major university is to have particularly interesting discussions. And this particular presentation, this seminar falls right into that mold. I find the discussion of open source particularly interesting. In a sense, [Laughter]
STALLMAN: I do "free software". Open source is a different movement. [Laughter] [Applause]
URETSKY: When I first started in the field in the '60's, basically software was free. And we went in cycles. It became free, and then software [[or "some of the"]] manufacturers, in the need to expand their markets, pushed it in other directions. A lot of the developments that took place with the entry of PC moved in exactly the same kind of a cycle.
There's a very interesting French philosopher -- Pierre Levy -- who talks about movement to this direction, and who talks about the move into cyberspace as not only relating to technology, but also relating to social restructuring, to political restructuring, through a change in the kinds of relationships that will improve the well-being of mankind. And we're hoping that this debate is a movement in that direction; that this debate is something that cuts across a lot of the disciplines that normally act as solace within the University. We're looking forward to some very interesting discussions. Ed?
SCHONBERG: I'm Ed Schonberg from the Computer Science Department at the Courant Institute. Let me welcome you all to this event. Introducers are usually, and particularly, a useless aspect of public presentations, but,
in this case, actually, they serve a useful purpose as Mike easily demonstrated. Because an introducer for instance, told him, by making inaccurate comments, can allow him to straighten out and correct and [Laughter] sharpen considerably the parameters of the debate.So, let me make the briefest, possible introduction to somebody, who doesn't need one. Richard is the perfect example of somebody who, by acting locally, started thinking globally from problems concerning the unavailability of source code for printer drivers at the AI-Lab many years ago. He has developed a coherent philosophy that has forced all
of us to re-examine our ideas of how software is produced, of what intellectual property means, and what the software community actually represents. Let me welcome, Richard Stallman. __: [Applause]STALLMAN: Can someone lend me a watch? [Laughter] Thank you. So, I'd like to thank Microsoft for providing me the opportunity to [Laughter] be on this platform. For the past few weeks, I have felt like an author whose book was fortuitously banned somewhere. [Laughter] Except that all the articles about it are giving the wrong author's name, because Microsoft describes the GNU GPL as an open source license, and most of the press coverage followed suit. Most people, of course just innocently don't realize that our work has nothing to do with open source; that, in fact, we did most of it before people even coined the term "open source". We are in the free software movement, and I'm going to speak about what the free software movement is about, what it means, what we have done, and because this is partly sponsored by a School of Business, I'll say some things more than I usually do about how free software relates to business, and some other areas of social life.
Now, some of you may not ever write computer programs, but perhaps you cook. And if you cook, unless you're really great, you probably use recipes. And, if you use recipes, you've probably had the experience of getting a copy of a recipe from a friend who's sharing it. And you've probably also had the experience -- unless you're a total neophyte -- of changing a recipe. You know, it says certain things, but you don't have to do exactly that. You can leave out some ingredients. Add some mushrooms, 'cause you like mushrooms. Put in less salt because your doctor said you should cut down on salt -- whatever. You can even make bigger changes according to your skill. And if you've made changes in a recipe, and you cook it for your friends and they like it, one of your friends might say "hey, could I have the recipe?" And then, what do you do? You could write down your modified version of the recipe, and make a copy for your friend. These are the natural things to do with functionally useful recipes of any kind.
Now a recipe is a lot like a computer program. A computer program's a lot like a recipe. A series of steps to be carried out to get some result that you want. So it's just as natural to do those same things with computer programs. Hand a copy to your friend. Make changes in it because the job it was written to do isn't exactly what you want. It did a great job for somebody else, but your job is a different job. And, after you've changed it, that's likely to be useful for other people. Maybe they have a job to do that's like the job you do. So, they ask, hey can I have a copy? Of course, if you're a nice person, you're going to give a copy. That's the way to be a decent person.
So imagine what it would be like if recipes were packaged inside black boxes -- You couldn't see what ingredients they're using, let alone change them -- And imagine, if you made a copy for a friend, they would call you a pirate, and try to put you in prison for years. That world would create tremendous outrage from all the people who are used to sharing recipes. But that is exactly what the world of proprietary software is like. A world in which common decency towards other people is prohibited or prevented.
Now, why did I notice this? I noticed this because I had -- because of my good fortune, in the 1970's, to be part of a community of programmers who shared software. Now, this community could trace its ancestry, essentially back to the beginning of computing. In the 1970's though, it was a bit rare for there to be a community where people shared software. And, in fact, this was sort of an extreme case, because in the lab where I worked, the entire operating system was software developed by the people in our community, and we'd share any of it with anybody. Anybody was welcome to come and take a look and take away a copy, and do whatever he wanted to do. There were no copyright notices on these programs. Cooperation was our way of life. And we were secure in that way of life. We didn't fight for it. We didn't have to fight for it. We just lived that way. And, as far as we knew, we would just keep on living that way. So there was free software, but there was no free software movement.
But then, our community was destroyed by a series of calamities that happened to it. Ultimately it was wiped out. Ultimately, the PDP-10 computer which we used for all our work was discontinued. And you know, our system -- the Incompatible Timesharing System -- was written starting in the '60's, so it was written in assembler language. That's what you used to write an operating system in the '60's. So, of course, assembler language is for one particular computer architecture; if that gets discontinued, all your work turns into dust -- it's useless. And that's what happened to us. The 20 years or so of work of our community turned into dust.
But before this happened, I had an experience that prepared me, helped me see what to do, helped prepare me to see what to do when this happened, because at certain point, Xerox gave the artificial intelligence lab, where I worked, a laser printer, and this was a really handsome gift, because it was the first time anybody outside Xerox had a laser printer. It was very fast, printed a page a second, very fine in many respects, but it was unreliable, because it was really a high-speed office copier that had been modified into a printer. And you know, copiers jam, but there's somebody there to fix them. The printer jammed and nobody saw. So it stayed jammed for a long time.
Well, we had an idea for how to deal with this problem. Change it so that whenever the printer gets a jam, the machine that runs the printer can tell our timesharing machine, and tell the users who are waiting for printouts, or something like that, you know, tell them, go fix the printer. Because if they only knew it was jammed, of course, if you're waiting for a printout, and you know that the printer is jammed, you don't want to sit and wait forever, you're going to go fix it.
But, at that point, we were completely stymied, because the software that ran that printer was not free software -- it had come with the printer, and it was just a binary. We couldn't have the source code -- Xerox wouldn't let us have the source code. So, despite our skill as programmers -- after all, we had written our own timesharing system -- we were completely helpless to add this feature to the printer software.
And we just had to suffer with waiting -- it would take an hour or two to get your printout because the machine would be jammed most of the time. And only once in a while -- you'd wait an hour figuring "I know it's going to be jammed, I'll wait an hour and go collect my print-out," and then you'd see that it had been jammed the whole time, and in fact, nobody else had fixed it. So you'd fix it and you'd go wait another half hour. Then, you'd come back, and you'd see it jammed again -- before it got to your output. It would print three minutes and be jammed thirty minutes. Frustration up the whazzoo... But the thing that made it worse was knowing that we could have fixed it, but somebody else, for his own selfishness, was blocking us, obstructing us from improving the software. So, of course, we felt some resentment.
And then I heard that somebody at Carnegie Mellon University had a copy of that software. So I was visiting there later, so I went to his office and I said, "Hi, I'm from MIT, could I have a copy of the printer source code?" And he said "No, I promised not to give you a copy." [Laughter] I was stunned. I was so -- I was angry, and I had no idea how I could do justice to it. All I could think of was to turn around on my heel, and walk out of his room. Maybe I slammed the door. [Laughter] And I thought about it later on, because I realized that I was seeing not just an isolated jerk, but a social phenomenon that was important and affected a lot of people.
This was -- for me -- I was lucky, I only got a taste of it, but other people had to live in this all the time. So I thought about it at length. See, he had promised to refuse to cooperate with us -- his colleagues at MIT. He had betrayed us. But he didn't just do it to us. Chances are he did it to you too. And I think, mostly likely, he did it to you too. [Laughter] And he probably did it to you as well. He probably did it to most of the people here in this room -- except a few maybe who weren't born yet in 1980. Because he had promised to refuse to cooperate with just about the entire population of the Planet Earth. He had signed a non-disclosure agreement.
Now, this was my first, direct encounter with a non-disclosure agreement, and it taught me an important lesson -- A lesson that's important because most programmers never learn it. You see, this was my first encounter with a non-disclosure agreement, and I was the victim. I, and my whole lab, were the victims. And the lesson it taught me was that non-disclosure agreements have victims. They're not innocent. They're not harmless. Most programmers first encounter a non-disclosure agreement when they're invited to sign one. And there's always some temptation -- some goody they're going to get if they sign. So, they make up excuses. They say, "well, he's never going to get a copy no matter what, so why shouldn't I join the conspiracy to deprive him?" They say "this is the way it's always done. Who am I to go against it?" They say," if I don't sign this, someone else will." Various excuses to gag their consciences.
But, when somebody invited me to sign a non-disclosure agreement, my conscience was already sensitized. It remembered how angry I had been, when somebody promised not to help me and my whole lab solve our problem. And I couldn't turn around and do the exact same thing to somebody else who had never done me any harm. You know, if somebody asked me to promise not to share some useful information with a hated enemy, I would have said yes. You know? If somebody's done something bad, he deserves it. But, strangers -- they haven't done me any harm. How could they deserve that kind of mistreatment? You can't let yourself start treating just anybody and everybody badly. Then you become a predator on society. So I said, thank you very much for offering me this nice software package. But I can't accept it in good conscience, on the conditions you are demanding, so I will do without it. Thank you so much. And so, I have never knowingly signed a non-disclosure agreement for generally useful technical
information, such as software.Now, there are other kinds of information which raise different ethical issues. For instance, there's personal information. You know, if you wanted to talk with me about what was happening between you and your boyfriend, and you asked me not to tell anybody -- you know, I could keep -- I could agree to keep that a secret for you, because that's not generally useful technical information.
At least, it's probably not generally useful. [Laughter] There is a small chance -- and it's a possibility though -- that you might reveal to me some marvelous new sex technique, [Laughter] and I would then feel a moral duty [Laughter] to pass it onto the rest of humanity, so that everyone could get the benefit of it. So, I'd have to put a proviso in that promise -- you know. If it's just details about who wants this, and who's angry at whom, and things like that --
soap opera -- that I can keep private for you, but something that humanity could tremendously benefit from knowing, I mustn't withhold. You see, the purpose of science and technology is to develop useful information for humanity to help people live their lives better. If we promise to withhold that information -- if we keep it secret -- then we are betraying the mission of our field. And this, I decided I shouldn't do. But, meanwhile my community had collapsed, and that was collapsing, and that left me in a bad situation. You see, the whole Incompatible Timesharing System was obsolete, because the PDP-10 was obsolete, and so, there was no way that I could continue working as an operating system developer the way that I had been doing it. That depended on being part of the community using the community software, and improving it. That no longer was a possibility, and that gave me a moral dilemma. What was I going to do? Because the most obvious possibility meant to go against that decision I had made. The most obvious possibility was to adapt myself to the change in the world. To accept that things were different, and that I'd just have to give up those principles, and start signing non-disclosure agreements for proprietary operating systems, and most likely writing proprietary software as well. But I realized that that way I could have fun coding, and I could make money -- especially if I did it, other than at MIT -- but, at the end, I'd have to look back at my career and say "I've spent my life building walls to divide people," and I would have been ashamed of my life.So I looked for another alternative, and there was an obvious one. I could leave the software field, and do something else. Now I had no other special noteworthy skills, but I'm sure I could have become a waiter. [Laughter] Not at a fancy restaurant, they wouldn't hire me, [Laughter] but I could be a waiter somewhere. And many programmers, they say to me "the people who hire programmers demand this, this and this -- If I don't do those things, I'll starve." It's literally the word they use. Well, you know, as a waiter, you're not going to starve. [Laughter] So, really their in no danger. But -- and this is important, you see -- because sometimes you can justify doing something that hurts other people by saying "otherwise something worse is going to happen to me." You know, if you were really going to starve, you'd be justified in writing proprietary software. [Laughter] If somebody's pointing a gun at you, then I would say it's forgivable. [Laughter] But, I had found a way that I could survive without doing something unethical, so that excuse was not available. So, I realized though that being a waiter would be no fun for me, and it would be wasting my skills as an operating system developer. It would avoid misusing my skills. Developing proprietary software would be misusing my skills. Encouraging other people to live in the world of proprietary software would be misusing my skills. So it's better to waste them than misuse them, but it's still not really good.
So for those reasons, I decided to look for some other alternative. What can an operating system developer do that would actually improve the situation, make the world a better place? And I realized that an operating system developer was exactly what was needed. The problem, the dilemma, existed for me and for everyone else because all of the available operating systems for modern computers were proprietary. The free operating systems were for old, obsolete computers, right? So for the modern computers -- if you wanted to get a modern computer and use it, you were forced into a proprietary operating system. So if an operating system developer wrote another operating system -- and then said, everybody come and share this, you're welcome to this -- that would give everybody a way out of the dilemma, another alternative. So I realized that there was something I could do that would solve the problem. I have just the right skills to be able to do it. And it was the most useful thing I could possibly imagine that I'd be able to do with my life. And it was a problem that no one else was trying to solve. It was just sort of sitting there, getting worse, and nobody was there but me. So I felt "I'm elected. I have to work on this. If not me, who?" So, I decided I would develop a free operating system -- or die trying. Of old age of course. [Laughter]
So, of course I had to decide what kind of operating system it should be -- there are some technical design decisions to be made. I decided to make the system compatible with UNIX for a number of reasons. First of all, I had just seen one operating system that I really loved, become obsolete because it was written for one particular kind of computer. I didn't want that to happen again. We needed to have a portable system. Well, UNIX was a portable system. So if I followed the design of UNIX, I had a pretty good chance that I could make a system that would also be portable and workable. And furthermore, why[[24:44?]] be compatible with it in the details. The reason is, users hate incompatible changes. If I had just designed the system in my favorite way -- which I would have loved doing, I'm sure -- I would have produced something that was incompatible. You know, the details would be different. So, if I wrote the system -- then the users would have said to me "well, this is very nice, but it's incompatible. It will be too much work to switch. We can't afford that much trouble just to use your system instead of UNIX, so we'll stay with UNIX" they would have said.
Now, if I wanted to actually create a community where there would be people in it -- people using this free system, and enjoying the benefits of liberty and cooperation -- I had to make a system people would use, a system that they would find easy to switch to, that would not have an obstacle making it fail at the very beginning. Now, making the
system upward compatible with UNIX actually made all the immediate design decisions, because UNIX consists of many pieces, and they communicate through interfaces that are more or less documented. So if you want to be compatible with UNIX, you have to replace each piece, one by one, with a compatible piece. So, the remaining design decisions are inside one piece, and they could be made later by whoever decides to write that piece; they didn't have to be made at the outset.So, all we had to do to start work was find a name for the system. Now, we hackers always look for a funny or naughty name for a program, because thinking of people being amused by the name is half the fun of writing the program. [Laughter] And we had a tradition of recursive acronyms to say that the program that you're writing is similar to some existing program. You can give it a recursive acronym name which says -- this one's not the other. So, for instance, there were many Tico text editors in the '60's and '70's, and they were generally called something or other Tico. Then one clever hacker called his Tint, for Tint Is Not Tico -- the first recursive acronym. In 1975, I developed the first Emacs text editor, and there were many imitations of Emacs, and a lot of them were called something or other Emacs, but one was called Fine -- for Fine Is Not Emacs, and there was Sine -- for Sine Is Not Emacs, and IINA for Ina Is Not Emacs, and MINCE for Mince Is Not Complete Emacs. [Laughter] That was a stripped down imitation. And, then, IINA was almost completely rewritten, and the new version was called ZWII[[27:42?]]. For, ZWII Was IINA Initially. [Laughter]
So I looked for a recursive acronym for Something is not UNIX. And I tried all 26 letters, and discovered that none of them was a word. [Laughter] Hmm, try another way. I made a contraction. That way I could have a three-letter acronym, for Something's not UNIX. And I tried letters, and I came across the word "GNU" -- the word "GNU" is
the funniest word in the English language. [Laughter] That was it. Of course, the reason it's funny is that according to the dictionary, it's pronounced "new". You see? And so that's why people use it for a lot of word play. Let me tell you, this is the name of an animal that lives in Africa. And the African pronunciation had a click sound in it. [Laughter] Maybe still does. And so, the European colonists, when they got there, they didn't bother learning to say this click sound. So they just left it out, and they wrote a "G" which meant "there's another sound that's supposed to be here which we are not pronouncing." [Laughter] So, tonight I'm leaving for South Africa, and I have begged them. I hope they're going to find somebody who can teach me to pronounce click sounds. [Laughter] So that I'll know how to pronounce GNU the correct way, when it's the animal. But, when it's the name of our system, the correct pronunciation is "guh-NEW" -- pronounce the hard "G". If you talk about the "new" operating system, you'll get people very confused, because we've been working on it for 17 years now, so it is not new any more. [Laughter] But it still is, and always will be GNU -- no matter how many people call it Linux by mistake. [Laughter]So, in January 1984, I quit my job at MIT to start writing pieces of GNU. They were nice enough to let me keep using their facilities though. And, at the time, I thought we would write all these pieces, and make an entire GNU system, and then we'd say "come and get it" and people would start to use it. That's not what happened. The first pieces I wrote were just equally good replacements, with fewer bugs for some pieces of UNIX, but they weren't tremendously exciting. Nobody particularly wanted to get them and install them. But, then, in September 1984, I started writing GNU Emacs -- which was my second implementation of Emacs -- and by early 1985, it was working. I could use it for all my editing, which was a big relief, because I had no intention of learning to use VI, the UNIX editor. [Laughter] So, until that time, I did my editing on some other machine, and saved the files through the network, so that I could test them. But when GNU Emacs was running well enough for me to use it, it was also -- other people wanted to use it too.
So I had to work out the details of distribution. Of course, I put a copy in the anonymous FTP directory, and that was fine for people who were on the net; they could then just pull over a tar file, but a lot of programmers then even were not on the Net in 1985. They were sending me emails saying "How can I get a copy?" I had to decide what I would
answer them. Well, I could have said, I want to spend my time writing more GNU software, not writing tapes, so please find a friend who's on the Internet, and who is willing to download it and put it on a tape for you. And I'm sure people would have found some friends, sooner or later, you know. They would have got copies. But I had no job. In fact, I've never had a job since quitting MIT in January 1984. So, I was looking for some way I could make money through my work on free software, and therefore I started a free software business. I announced "send me $150 dollars, and I'll mail you a tape of Emacs." And the orders began dribbling in. By the middle of the year they were trickling in.I was getting 8 to 10 orders a month. And, if necessary, I could have lived on just that, because I've always lived cheaply; I live like a student, basically. And I like that, because it means that money is not telling me what to do. I can do what I think is important for me to do. It freed me to do what seemed worth doing. So, make a real effort to
avoid getting sucked into all the expensive lifestyle habits of typical Americans. Because if you do that, then people with the money will dictate what you do with your life. You won't be able to do what's really important to you.So, that was fine, but people used to ask me "What do you mean it's free software if it costs $150 dollars?" [Laughter] Well, the reason they asked this was that they were confused by the multiple meanings of the English word "free". One meaning refers to price, and another meaning refers to freedom. When I speak of free software, I'm referring to freedom, not price. So think of free speech, not free beer. [Laughter] Now, I wouldn't have dedicated so many years of my life to making sure programmers got less money. That's not my goal. I'm a programmer and I don't mind getting money myself. I won't dedicate my whole life to getting it, but I don't mind getting it. And I'm not -- and therefore, ethics is the same for everyone. I'm not against some other programmer getting money either. I don't want prices to be low. That's not the issue at all. The issue is freedom. Freedom for everyone who's using software, whether that person be a programmer or not.
So at this point I should give you the definition of free software. I better get to some real details, you see, because just saying "I believe in freedom" is vacuous. There's so many different freedoms you could believe in, and they conflict with each other, so the real political question is "Which are the important freedoms, the freedoms that we must make sure everybody has?" And now, I will give my answer to that question for the particular area of using software.
A program is free software for you, a particular user, if you have the following freedoms: First, Freedom Zero is the freedom to run the program for any purpose, any way you like. Freedom One is the Freedom to help yourself by changing the program to suit your needs. Freedom Two is the freedom to help your neighbor by distributing copies of the program. And Freedom Three is the freedom to help build your community by publishing an improved version so others can get the benefit of your work. If you have all of these freedoms, the program is free software, for you -- and that's crucial, that's why I phrase it that way. I'll explain why later, when I talk about the GNU General Public License, but right now I'm explaining what free software means, which is a more basic question.
So, Freedom Zero's pretty obvious. If you're not even allowed to run the program anyway you like, it is a pretty damn restrictive program. But, as it happens, most programs will give you Freedom Zero. And Freedom Zero follows, legally, as a consequence of Freedoms One, Two, and Three. That's the way that Copyright Law works. So, the Freedoms that distinguish free software from typical software are Freedoms One, Two, and Three. So I'll say more about them and why they are important.
Freedom One is the freedom to help yourself by changing the software to suit your needs. This could mean fixing bugs. It could mean adding new features. It could mean porting it to a different computer system. It could mean porting all -- translating all the error messages into Navajo. Any change you want to make, you should be free to make.
Now, it's obvious that professional programmers can make use of this freedom very effectively. But not just them. Anybody of reasonable intelligence can learn a little programming. You know, there are hard jobs, and there are easy jobs. And most people are not going to learn enough to do hard jobs. But lots of people can learn enough to do easy jobs -- just the way,you know -- 50 years ago -- lots and lots of American men learned to repair cars. Which is -- what enabled the U.S. to have a motorized Army in World War II and win. So, very important -- having lots of people tinker. So -- and if you are a people person, and you really don't want to learn technology at all - -that probably means that you have a lot of friends, and you are good at getting them to owe you favors. [Laughter] Some of them are probably programmers. So, you can ask one of your programmer friends -- would you please change this for me? Add this feature? So, lots of people can benefit from it.
Now, if you don't have this freedom, it causes practical, material harm to society. It makes you a prisoner of your software. I explained what that was like with respect to the laser printer, you know? It worked badly for us -- and we couldn't fix it-- because we were prisoners of our software. But it also affects peoples' morale. You know the computer is constantly frustrating to use. And people are using it -- their lives are going to be frustrating. And if they're using it in their jobs - -their jobs are going to be frustrating. They're going to hate their jobs. And you know, people protect themselves from frustration by deciding not to care. So, you end up with people whose attitude is -- well, I showed up for work today. That's all I have to do. I can't make progress -- that's not my problem. That's the boss's problem. And when this happens, it's bad for those people, and it's bad for society as a whole. That's Freedom One -- the Freedom to help yourself.
Freedom Two is the Freedom to help your neighbor -- by distributing copies of the program. Now, for beings that can think and learn -- sharing useful knowledge is a fundamental act of friendship. When these beings use computers, this act of friendship takes the form of sharing software. Friends share with each other. Friends help each other. This is the nature of friendship. And, in fact, this spirit of good will -- the spirit of helping your neighbor, voluntarily - is society's most important resource. It makes the difference between a livable society and a dog-eat-dog jungle. It's importance has been recognized by the world's major religions for thousands of years. And they explicitly try to encourage this attitude.
When I was going to kindergarten, the teachers were trying to teach us this attitude - -the spirit of sharing by having us do it. They figured if we did it, we'd learn. So they said, if you bring candy to school, you can't keep it all for yourself, you have to share some with the other kids. Teaching us -- the society was set up to teach this spirit of cooperation. And why do you have to do that? Because people are not totally cooperative. That's one part of human nature. And there are other parts of human nature. There are lots of parts of human nature. So, if you want a better society, you've got to work to encourage the spirit of sharing. You know, it'll never get to be 100%. That's understandable. People have to take care of themselves too. But, if we make it somewhat bigger -- we're all better off.
Nowadays, according to the U.S. Government, teachers are supposed to do the exact opposite. Oh, Johnny, you brought software to school. Well, don't share it. Oh no. Sharing is wrong. Sharing means you're a pirate. What do they mean when they say "pirate"? They're saying that helping your neighbor is the moral equivalent of attacking a ship. [Laughter] What would Buddha or Jesus say about that? Now, take your favorite religious leader. I don't know -- maybe Manson would have said something different. [Laughter] And who knows what L. Ron Hubbard would say. But, ...... ... ....
Slashdot Richard M. Stallman Visits Teradyne some interestig details about how RMS handles his e-mail (it's definilitly not an optimal way ;-)
I had been corresponding with RMS via email for a while, following an initial response of his to a general inquiry I made of the FSF. (Yes, I was surprised that RMS himself would take the time to respond. It was the first of many popular misconceptions I had about the man that were about to be shattered.) Many of my inquiries involved dynamically linked combinations of free and non-free code and the circumstances under which distributions of aggregates that could self-assemble at run time would be legit under the GPL.
Since a free program can interact with a non-free one via pipes or sockets without the combination necessarily considered a derived work of the free program, I was wondering if a general rule applied whereby such "loose coupling" might be permitted. (RMS's position was that it might be possible but we could not find a general rule to define the necessary relationship. This shattered a second misconception: there were things of which RMS didn't approve, but would admit might be admissible under the GPL. Zealots never act with such reason.) It became apparent that it would be beneficial if RMS could address our developers that were producing code to run under GNU/Linux about the GPL. Did it have to be "the man" himself? Probably not, but it certainly strengthens the perceived legitimacy of any claims we might make about taking the GPL seriously if we welcome RMS to advise us: we certainly wouldn't invite the attention if we were trying to hide something.
... ... ...
RMS previously indicated that he'd like company for dinner so we got a small group together to try one of his favorite restaurants: Cafe Luciano, in the north end of Chicago. Alas, he didn't get much rest: after some 15 hours incommunicado, it was imperative for him to get his email. He was left at the hotel to get on with this task.
By this time, I had returned to work, and met with my coworkers. "So, what's he like in person?" was my first question. I was informed that he corrected the use of a "Linux" moniker to "GNU/Linux" twice, didn't care for small talk, and settled down with his laptop for the trip to the hotel. I thought to myself that if my coworker survived his "Linux" faux-pas well enough to recount it, RMS couldn't be all that bad. Besides, our email exchange was always friendly. As for small talk, I don't care for it much either. I was to learn the importance of his attachment to his laptop soon enough -- my coworker relayed that RMS had trouble getting his email upon his arrival at the hotel. Help was offered, but with only marginal success.
I emailed RMS my local phone number and that I would try to assist him any way I could. I didn't want to call, because I thought he'd be getting some sleep and didn't want to disturb him, confident that he'd got his email. He had my coworker's phone number and could call if he had trouble. That call came quickly. It turned out that dial-up access to his ISP was inadequate for him to get his email in a timely manner. We realized that I could indeed help by providing telnet and ftp access from our office. Without delay, I set out to bring him to Teradyne. I was to meet RMS in person at last!
RMS is a lot less imposing in person than he is by reputation. He's of average height, has the stereotypical hacker hair style and beard, and arms himself with a laptop. He looks like he could benefit from losing a bit of weight and smiles like one imagines the wizard in the old Collosal Cave adventure game might smile when granting you another life. Though appearing innocuous, I had no doubt that in his hands that laptop was a formidable weapon against those who would deny software freedom, kind of the way that a light-saber is as powerful as the Jedi wielding it. I introduced myself, we quickly optimized to using first names, and got on the the task at hand: retrieving Richard's email.
Richard gets his email by building a compressed GNU zip archive on his mail server of his incoming mail, and transferring it to his laptop -- in our case, via an intermediate floppy. He then reads and queues responses on his laptop for later transmission by reversing the process. It takes him several hours a day to keep up with his email.
... ... ...
After working on his email for a while, it was time to head off to dinner. On Richard's suggestion, we picked up some CDs at his hotel room, to listen to during the hour drive to the restaurant. Richard settled down to read and respond to another batch of email on the trip, occasionally wondering how we liked his choice of music, and offering alternates. I think I liked the Burmese percussion pieces best.
While his presentation the next day was to focus on legal compliance with the GPL and only describe briefly the underlying philosophy from a historical perspective, it was anything goes at dinner. Boy, did the queries fly! A lot of basic questions were asked, and challenges made, about his fundamental beliefs. I couldn't tell if Richard was round-robin scheduling among the queriers or playing a variant of whack-a-mole with each response he offered. I was getting nervous: here were a bunch of GPL newbies debating with the great RMS. I seized upon the opportunity a lull offered and asked him, "How can you stand answering the same questions over and over?" "I have a mission!" he replied, with vigor. Clearly another misconception of mine was shattered: RMS will patiently take the time to explain his position to anyone who shows interest. I suppose that he's the only person I can describe as an evangelical atheist without it being an oxymoron.
You'd think that it was an divisive, and sometimes uncomfortable, evening, but somehow the excellent food appeared to help overcome differing philosophies, that, in the end, weren't as disparate as initially thought. Of course, Richard's sense of humor certainly helped liven everyone's spirits. He is a notorious punster. Unfortunately so many of his puns are sensitive to subtleties of timing and context, that to try to relay them would not do justice to how funny they were at the time. Dinner came to an end all too soon, and Richard capped the evening by insisting on adding a zero to the waitress's tip. Literally -- he carries with him a stash of bank note-sized pieces of paper with a "0" denomination on them.
The trip back to our car was punctuated by what appeared to be a destitute young man asking for money for food. True to his help-your-neighbor ethic, Richard had us wait while he took the bewildered man to a local store and bought him a sandwich. I was a bit worried about this adventure but realized that he must have done this many times before and I certainly wasn't going to presume that he needed babysitting. Of course, the rest of us debated the effect on Teradyne's stock price if Richard had been mugged while our guest, the wording of the subsequent Slashdot headline, and what a strange fellow he was. Personally, I think a bit more of that kind of strangeness wouldn't hurt the world. Richard promptly returned (no doubt to a mental sigh of relief) and explained that someone once asked him for a quarter for the subway, but proceeded to pocket the change instead of taking the train. Not to be duped by a liar in the future, he resolved to never give money to a beggar for some purported worthwhile purpose, but to see to it, if he could, that the purpose was met with his help. He does donate money to charitable organizations.
... ... ...
Richard needed to service a higher-priority interrupt: seeking tea to drink while lecturing. While I'd heard of his fondness for specialty teas, he had to settle for the generic vending machine variety. No jasmine or lechee blossom around here. (Note to self: fix this if ever he visits again).
The presentation was agreed upon before hand. We were permitted to videotape the lecture for future training. Rather than his usual speech about software freedom, Richard focused only briefly on the history of the GPL, and proceeded to explain what it means for software to be free, the GPL and LGPL (and their differences), and what was necessary to comply with both. There are a few important differences depending on how the software is distributed, whether via the internet, or physical media, and he covered these. Richard provided examples of programs working together that would not be considered derived works of one of them: where communication between them was via a simple socket or pipe interface. There was no opportunity to debate the "rightness" or "wrongness" of his philosophy -- that was not the purpose of the presentation. Free code is here to stay, and having made the choice to use it in our products, we had to abide by the licensing requirements. Richard is an excellent speaker, properly pacing his lecture, without wandering away from the topics at hand. Oh, and all this without notes. He spoke for about an hour, and then proceeded to answer questions for another hour.
Audience questions ranged from simple queries to subtle aspects of, and potential "gotchas" related to compliance. Accidents happen, and sometimes GPL-violating combinations of free and non-free code escape, typically as demo versions. Richard explained that the FSF is interested in ensuring that compliance with the GPL is restored as soon as possible when a violation occurs and not in embarking on a witch-hunt. Scratch any misconceptions about being unreasonable. A few people asked about ways to "get around" the GPL, and Richard calmly explained that he would not help anyone do this and refused to answer such questions. (We had agreed to this before hand, as well as not allowing the Q&A session to turn onto a philosophical debate.) Richard explained simple ways that we could be friendly to the free software community, beyond legal compliance with the GPL. During the Q&A session, I asked if any other companies had invited him to speak on the subject of GPL compliance, and Richard said that we were the first. However, as part of GPL-violation settlements with the FSF, some (unnamed) companies were required to appoint a GPL compliance officer, known to the FSF, and pay for their training to understand the GPL. Apparently the FSF pursues GPL violators quite actively, but does not make a habit of publicly exposing offenders. My boss made the overture that we would voluntarily have a person assigned to verify GPL compliance on projects where we include GPL code.
... ... ...
While generally frugal and unassuming, Richard likes to eat well (whether this had anything to do with his expenses being covered by Teradyne, I don't know). Fortunately so do I, and we found a local seafood place. While he enjoys Chinese food, having spent several weeks in Asia, he had an appetite for more occidental fare.
BeOpen: Lately, you seem to be spending just as much time abroad as you do here in the United States. How are people reacting to the free software message outside the United States, in India for example?
Stallman: In India and perhaps also in France I see a lot of readiness to see the issue as a political one.
BeOpen: It seems dependence upon software from a foreign company such as Microsoft might raise a lot of techno-colonialism issues.
Stallman: I don't think it's just that. I think you'll find more people in the U.S. who like GNU/Linux because they hate Microsoft. Loving to hate Microsoft is a phenomenon you see more an in the U.S. than you do in other countries. I think in India you find more people concerned with finding a way to use free software as a tool for building up education and infrastructure systems. GNU/Linux, as I'm sure you're aware, can be distributed very inexpensively, and that means a lot to countries like India, where you have nearly a billion people.
BeOpen: China as well, I assume. There have been rumors that the Chinese government would like to adopt GNU/Linux as the official state operating system.
Stallman: I don't know how valid those rumors are. From my experience, China represents the other extreme from India. In terms of the general public's readiness to sympathize with free software I would put India on one end. I would put the United States in the middle, because people in the United States put so much faith in corporations and corporate capitalism. I would put the the former communist countries at the other end of the spectrum. My theory is that in those countries the issues that free software promotes -- issues of community and cooperation -- have been so discredited by association with communism, which said it was for those things but was always in fact a dictatorship, that people have become very cynical about the idea of helping each other and helping society. If anything, people in China and Russia and other former communist countries have become more focused on making money, because they view it as the best way to distance themselves from the taint of socialism.
Q: Are there any good case studies of large corporations opening up proprietary in-house source code?
RMS: It's appropriate that you've used the terminology of the Open Source Movement for this question, because this is the sort of question they would be most interested in. That movement, founded in 1998, argues that "open source" is good because it is more profitable for software developers. They collect examples to justify that claim, and might be able to help you.
I am not the best person to ask for this kind of help, because I focus on something else. Rather than trying to convince IT managers that it is more profitable to respect our freedom--I don't know whether that is true--I try to convince computer users that they should insist on software that respects their freedom.
I am not affiliated with the Open Source Movement. I founded the Free Software Movement, which has been working to spread freedom and cooperation since 1984, and is concerned not only with practical benefits but with a social and ethical issue: whether to encourage people to cooperate with their neighbors, or prohibit cooperation. The Free Software Movement raises issues of freedom, community, principle, and ethics, which the Open Source Movement studiously avoids.
What the Open Source Movement explicitly say is right, as far as it goes; but I'm very unhappy with what they leave out. By appealing only to practical benefits, such as developing powerful reliable software, they imply by omission that nothing more important is at stake.
The Open Source Movement seems to think of proprietary software as a suboptimal solution (at least, usually suboptimal). For the Free Software Movement, proprietary software is the problem, and free software is the solution. Free software is often very powerful and reliable, and I'm glad that adds to its appeal; but I would choose a bare-bones unreliable free program rather than a featureful and reliable proprietary program that doesn't respect my freedom.
Eric Raymond said publicly that if "open source" isn't better (he means, more profitable) for software developers, it deserves to fail:
"Either open source is a net win for both producers and consumers on pure self-interest grounds or it is not. If it is, you cannot lose; if it is not, you cannot (and *should* not) win."
(Quoted in Salon, September or October 1998.) Implicit in this position is Eric's belief that proprietary software is legitimate, and his rejection of the idea that free software is imperative for freedom, ethics or social responsibility.)
Imagine someone saying, "If an uncensored press is not better for publishers as well as readers, it cannot (and should not) prevail." This would show that person does not understand freedom of the press as an issue of liberty. For people who value civil liberties, such views are ludicrous. (This example is not entirely artificial, since corporate media owners and corporate advertisers increasingly exclude certain issues and views from press coverage.)
Although I will not join the Open Source Movement, I agree that they do some useful things. They might be the best ones to suggest something useful to say to your IT manager.
Q: Today everyone is hearing the critics about how open source is also hurting the community. All that aside did you ever in your wildest dreams at the very start of the "crusade" think that open source would be a "movment"?
RMS: I thought of free software as a movement years before the GNU Project. I learned about free software as a way of life by joining a community of programmers who already lived it. My contribution, the place where I took things a step further, was in thinking in ethical and political terms about the contrast between our way of life and the way most computer users lived. I made free software a movement.
But I never imagined that the Free Software Movement would spawn a watered-down alternative, the Open Source Movement, which would become so well-known that people would ask me questions about "open source" thinking that I work under that banner.
If we in the Free Software Movement are lumped in with them, people will think we are championing their views, not ours. For this reason, I don't want to discuss my work or the ideas I advocate under the rubric of "open source". If people seem to be lumping me in with them, I have to correct that mistake. The work I do is free software; if you want to discuss it with me, let's have the discussion using the term "free software".
... ... ...
Q: Have you ever thought of taking a more conciliatory attitude to things? Does the phrase "Don't Sweat the Small Stuff" (I'm thinking of the "GNU/Linux" thing) have any resonance at all with you?
RMS: The reason I continue asking people to use the term "GNU/Linux" for the combination of the GNU operating system with the kernel, Linux, is that it's an important little detail. It makes a big difference for the GNU Project's effectiveness in spreading the philosophy of the Free Software Movement.
Calling the whole system "Linux" leads people to think that the system's development was started in 1991 by Linus Torvalds. That is what most users seem to think. The occasional few users that do know about the GNU Project often think we played a secondary role--for example, they say to me, "Of course I know about GNU--GNU developed some tools that are part of Linux."
This leads users to take their philosophical lead from Linus's "apolitical" views, rather than from the GNU Project. They tend to adopt the goal of boosting the popularity of "Linux" (what Linus jocularly calls "world domination"), rather than spreading freedom. Ironically, these users of the GNU system love the system so much that they cast aside the freedom for which we developed the system, in the name of the system's success. You might call this "success" for GNU, but it is not success for freedom.
Businesses that distribute "Linux" are actively urging people to adopt success as the goal, and sacrifice freedom for that. See http://www.zdnet.com/filters/printerfriendly/0,6061,2552025-2,00.html for a clear-cut example in a recent speech by the CEO of Caldera. They can do this more more easily and effectively when their audience does not connect the "Linux" system with that inconvenient, idealistic, uncompromising GNU Project. The ability to avoid calling to mind issues of freedom, by using the term "open source", is also convenient for them: they can ask people implicitly to give up their freedom, without explicitly acknowledging this implication of the conduct they recommend.
As businesses get more involved with free software, they will be faced with a choice: whether to do business in a way that contributes to the community, as Red Hat mostly does, or base their business on proprietary add-ons, as Oracle does and Corel mostly does. It will be up to the public--the community--to make business respect our freedom, by rewarding the businesses that do. The future of our community depends above all on what we value. If people adopt the value of popularity or success, we will end up with many people using a system that is based on GNU and Linux combined with lots of proprietary software.
I ask you to call the system GNU/Linux so you can help inform the system's users that it exists because of the GNU Project's idealism. Users who know that will probably take a look at our views, and some of them will agree. Later on, they may stand up for freedom.
Interview by Jack Schofield
Thursday April 27, 2000
What is the free software movement trying to achieve? All published software should be free software. Everyone should have the freedom to study it, to change it, and to redistribute it. The outcome depends on many people: it's up to the public to choose freedom or not.
Has the movement become too much of a success, in that people are using free software for the wrong reasons? That's not too much of a success, that's a much more specific problem: people forgetting the goal of the movement, the goal of freedom, and being sidetracked into merely practical considerations. That could lead to total failure because nobody will hold on to freedom except by valuing it.
But most of the people using free software choose it because it works well and doesn't cost very much. That's one example of how fragile the foundation of our freedom is. I'm glad that free software today is powerful and reliable, but if people don't appreciate the freedom and community, they'll probably let it slip through their fingers.
Isn't what we've got now merely the development of commercial software by other means? I don't see anything wrong with that as long as it's free software. Red Hat is developing free software and some of it's part of the GNU project. And if they're doing that as part of a business, more power to them. I'm all in favour of businesses if they do business in a way that respects our freedom and our community. Most software companies don't.
But the vast majority of users are not interested in the freedom to rewrite their own software. They may be interested sometimes in understanding some of the software they use. I don't expect everyone to learn to be an expert programmer, but nobody should be excluded from learning to work on the software that they use. In other words, there shouldn't be a priesthood of technology.
What are you programming at the moment? I no longer do programming. Working on the political and management sides of the movement is all I can do. Programming is more fun, but the only way I can do it now is by neglecting the more pressing responsibilities
You've become involved with campaigning against the RIP (Regulation of Investigatory Powers) bill in the UK. Isn't that a distraction? The freedom to share and change software is not the only important freedom in life. The presumption of innocence, the freedom to tell people about what the police are doing to you - those are even more important. I'm glad I have a chance to help preserve those freedoms in Britain.
What do you think you'll be remembered for? I think that the memories of me will say that I helped develop some tools that are part of Linux.
Richard Stallman High School Misfit, Symbol of Free Software, MacArthur-Certified Genius
MG: So you were born 1953. Where?
STALLMAN: In New York. My mother was a substitute teacher. And my
father started a printing brokerage business at some point in the '50s,
putting together the photographers and the typesetters and the platemakers
and the people who owned the presses.
MG: Was he a serviceman? Had he been in the war?
RS: Yes. He avoided being in battles and getting shot at very much.
But he had learned to speak French so well that he could pose as a Frenchman,
and he did this before the U.S. was in the war because he wanted to use
it to defeat the Nazis. So when he was in the Army, he did things for which
knowledge of French was useful. For example, liaison with Free French battalions.
MG: Where did you grow up?
RS: Mostly Manhattan. West Side. 95th Street, 93rd Street, 89th Street.
MG: Growing up, did you go to public school?
RS: I went to public school for six years, and then I went to private
school for five years, and then I went to a public school again. I was a
discipline problem. I was very upset and miserable, and kids used to tease
me, and it would make me enraged. I never believed that adults were entitled
to give me orders. I considered them to be like any other kind of tyrant;
they just had power.
MG: Did you have particular interests?
RS: Yes, I loved mathematics and science, and I wanted to learn as
much as I could. I watched television then and I read comic books then,
but I also studied advanced math whenever I could.
MG: So that probably made you something of an outsider in school.
RS: That did. But also, I'm weird, and I don't know how to get along
with people the usual ways. I've never really learned that.
MG: But didn't you find that there were other people like that in
school?
RS: No. I guess I was too weird. I did have friends, but I couldn't
fit into a school. So I was sent to a private school for people like that.
But most of the people there were either insane or stupid, and I was terribly
shamed to have been lumped with them. I wasn't just too smart. Some smart
people can get along fine with society. I couldn't. It was something other
than just being smart. In fact, if I hadn't been smart, I probably would
have been thrown in the garbage, basically. But because I was obviously
smart, they couldn't just say, "This is a manufacturing failure; get rid
of it."
MG: Were you in any way political as a kid?
RS: Eisenhower I wasn't aware of; I was too young for that. But my
mother was very political, and I became political, too, once I got more
like 8 or 10. Remember, I was only 10 when Kennedy was killed. I didn't
know a lot about what was going on, but I have a vague picture of him as
somebody who was trying to lead our nation, to do things that were great.
MG: Were you aware of the Cuban Missile Crisis?
RS: Nope. Didn't notice it. I didn't have the experience of being
scared all the time about nuclear war that some other people say they had.
I started to think about it a little later on, but I didn't absorb it as
fear as a child, or hysteria about nuclear war as a child before I started
to actually think about it as an issue, as part of the world.
MG: When did you learn about computers?
RS: At that time all I could find was manuals to read. I didn't see
an actual computer. But as soon as I heard about computers, I wanted to
see one and play with one. I loved building things. The neat thing about
computers is that you can build something, but you don't have to get bogged
down in the details of matter. If you want to build something out of wood,
the problem is, wood is limited. If you want to cut pieces of wood, you
have to saw them, what are you going to saw them with, and you get all the
sawdust. On a computer you can build something, but you're building it out
of words and numbers. I don't know which year it was when I first got to
see a manual at summer camp. I don't know whether I was 9 or 10 or 11. The
only computers that existed then were large. These were manuals for the
7094, which was the most powerful IBM computer of its day. A counselor had
brought them. I was interested in some other things, too, but I had very
little interest in any kind of sports, and I stopped liking Popular Music
when the Beatles arrived. I didn't like them.
MG: Why not?
RS: I just didn't like their music. I don't know enough about the
vocabulary to describe that kind of difference in music. I just didn't like
them at first, and then everyone else started liking them and I thought
they were stupid. And it seemed like a fad, and I tend to despise people
who let themselves get caught up in fads. I at one point tried to form a
parody band called Tokyo Rose and the Japanese Beatles. Not to actually
play any music, I wasn't a musician, but I just wanted to make fun of all
those people who were crazy about the Beatles.
MG: During the later '60s, '65 to '69, you're in junior high or high
school, and the counter-culture starts. Were you part of it?
RS: I wasn't, because it was anti-intellectual and anti-science.
It was, "Let's believe whatever seems like a nice story." They obviously
didn't understand the idea of Truth, and so I couldn't respect them.
MG: And by Truth, you mean?
RS: The idea that there is a world out there, and that you can figure
out how it works--or at least you should try to. There are stories you can
tell which are wrong because they just don't fit the facts. You can't just
wake up and declare peace, you can't just wake up and declare that you can
fly by flapping your arms. The world is a certain way. They wanted to believe
in a fairy-tale. But at the time, there was a nice thing about them. which
is that they wanted people to love each other and not hurt each other, which
I thought was a good thing. But all told, I couldn't be part of that. I
didn't want to get involved with the use of drugs, which I thought of as
scary and dangerous and foolish. And clearly, they had no idea of caution.
They were taking crazy risks because they didn't understand that they could
be hurt. I'd read that-supposedly--young people don't believe they can die.
Well, that never happened to me. I can't understand how anyone can not believe
that he can die. "Those things can't happen to me." It was so obvious to
me that it could happen. Not only that, but for a while late in high school
the thought of my death was such a horrible thing to me that I sort of wished
I hadn't been born. Because to be facing death was such a horrible thing,
it seemed to me that nobody should be thrust into a world where you're going
to die. That's cruelty.
MG: Did you have a circle of friends who felt the same way?
RS: I was friends with some of my teachers but after I was around
12 or 13, I basically didn't have friends among my peers until I went to
college. Because I outgrew what I did with my childhood friends. And I had
no idea what would replace it. So I basically had no friends.
MG: What replaced it for many of us, I suppose, was politics...
RS: Well, I got interested in the politics, although I was also scared
off by some things about it. I was very disturbed by the people who started
wanting the North Vietnamese to win just because they were the enemy of
the U.S. Government. Just because someone was the enemy of the U.S. Government
didn't make them good.
MG: Did you go to peace marches where you encountered these people?
RS: I didn't encounter them at peace marches. I encountered them
when I went to college. And before that, for two or three years I was in
a Columbia University Saturday program for high school kids, and there I
encountered the occupation of buildings at Columbia, which seemed to me
to make no sense at all. Why stop people from going to the math library
and studying math because you're angry at what the U.S. Government is doing?
It made no sense to me, and it still doesn't really make sense to me. Now,
to try to do something about being drafted, that I could understand.
I had a sympathy for opposition to the Vietnam War, but I didn't have sympathy
for rejecting science, which was the only thing that made our lives possible
and still makes our lives possible. Without scientific ways of, for example,
growing our food, we couldn't survive.
MG: Somewhere along the way, somebody recognized that you had this
prodigal aspect. Were you scoring high?
RS: Sure. I learned calculus when I was something like 7 or 8. So
it wasn't hard for anyone to tell that I was interested in learning as much
math and science as possible. For a couple of years when I was 14 to 16,
I would go to the library and get two or three books a week about various
subjects, like History, Math and Science. And I would read them all. At
one point, I decided to learn Latin, so I got a first-year Latin textbook
and went through it in a month, and then I got the second-year book and
went through that in the next month.
For a year or so, I was working as a sort of lab assistant at a biology
lab at Rockefeller University. Then I got involved with the IBM New York
Scientific Center, where they actually let me start programming real computers.
That was during my senior year. They let me come and program. Then the summer
after my senior year, they hired me and had me write a FORTRAN program,
and I got that program done in a few weeks, and I swore that I would never
use FORTRAN again because I despised it as a language compared with other
languages.
MG: You already knew enough about it.
RS: I was basically reading about every programming language I could
find out about. I wanted to find out about the variety of programming languages.
MG: You must have had such contempt for the Luddites who surrounded
you.
RS: Yes, I did. I am embarrassed by it now to some extent. Because
I had a very low opinion of the things they were thinking and I think that's
proper, but I also had a low opinion of them in a way that I've come to
think since is wrong to think about any person.
MG: Did you have any other cultural interests at
that point?
RS: Somewhat in music.
MG: But you weren't going to the Fillmore?
RS: No, not that kind of music. I was interested in Classical Music
at the time. I've never understood the tendency to pick up tastes because
they are popular. In fact, I think it is foolish to do that. I mean, don't
you know what you like? People who are so weak that they will take their
tastes from people around them in the desperate desire to be accepted, I
think of them as cowards.
MG: You graduated high school when?
RS: In 1970.
MG: Did you ever skip a grade?
RS: I did. And when I moved away to college, I escaped.
MG: Where did you go?
RS: Harvard.
MG: Had being smart kept you separate from your peers until then?
RS: It did. And I have to admit that at the time I was arrogant about
it. I looked down at other people for their inability to think clearly.
Now I think that that's wrong, partly because I've been humiliated because
I can't think as clearly, can't concentrate as effectively as I used to.
MG: Were you in a dorm?
RS: Yes, I was. But fortunately, I had a single room. They asked
"What kind of roommate do you want?" and I said, "Well, I'd prefer an invisible,
inaudible, intangible roommate."
MG: What did you study at Harvard?
RS: Math and physics.
MG: Did you participate in the social life there?
RS: No. I had no way to. I was a social reject. Almost no one would
ever go out with me.
MG: Were you still into computers?
RS: Yes. At the end of my freshman year, I started working at the
MIT Artificial Intelligence Lab, which was founded by DARPA [the Defense
Department's advanced projects agency, which created the Internet]. The
people there were very embarrassed about this, because for the most part
they were against the Vietnam War. The problem is, being against the Vietnam
War was one thing. The Vietnam War was to defend a dictator and keep him
in power, and it was an unjust war, and it was fought with horrible cruelty.
But to generalize from that to anything related to the military as fundamentally
wrong is an irrationality. I'd seen and read a lot about World War Two.
I had the example of my father, who prepared to more effectively fight the
Nazis -- because they were evil, and it was necessary to fight them.
MG: Had your father died? Was he just out of the picture?
RS: No, they split up. I saw him on weekends.
MG: My sense is that you found your place once you found the Artificial
Intelligence Lab at MIT.
RS: For the first time in my life, I felt I had found a home at Harvard.
Then they kicked me out after four years for passing too many classes.
MG: What?
RS: Yes, they have a rule that after you pass too many classes they
give you a diploma and they tell you to get lost.
MG: And you wanted to stay. Why couldn't you just go to grad school?
RS: It wouldn't have been the same. The dorms for grad students are
not at all like the undergraduate dorms in their spirit. I looked at that
option.
MG: So you end up at MIT's Artificial Intelligence lab?
RS: During my Freshman year I was very interested in finding places
where they had various different kinds of computers I'd never seen, so that
I could ask for manuals about the systems, and that way I could about the
variety of computers. I'd heard that the AI Lab at MIT had a big computer,
and so I went there and asked them, "Do you have documentation I can read?"
And it turns out they didn't have a lot of documentation, but they hired
me instead.
MG: Did you need to demonstrate skill or interest? I presume you
didn't simply knock on the door, were ushered in, and "Here, play with our
machines."
RS: Well, it was more or less like that, yeah. That's what the old
Hacker Culture was like. It was obvious that I was a good hacker in the
making. And I was hired that day for the summer. But it continued.
MG: Was it different from Harvard?
RS: Harvard was bureaucratic and stuffy. The professors were more
important than you, and a professor could have a terminal going to waste
in his office and that was more important than having it where you could
use it. So very often I couldn't work, or somebody else couldn't work because
some professor was using a terminal to sit in his office, because that professor
was so important that it was more important that there be a terminal he
could use once in a while, when he wanted to, than that other people be
able to use a terminal when they were there. Actually, there was one professor
I spoke with somewhat, because I wrote a piece of code that he wanted written.
I just wanted something to program on.
MG: MIT was different?
RS: What I saw when I went to MIT was a different attitude, which
is, "We're here to get some things done, we want to get them done, and we're
mad at anybody who for ridiculous reasons stands in our way." It would be
one thing if somebody were to argue, "What you're trying to do is going
to hurt us." But they didn't say that. They just had their own selfish reasons
to stand in the way." And the hackers at MIT didn't accept that. They didn't
let it happen.
I immediately got put to work writing parts of the system. It had an editor.
A text editor [for writing computer code]. I started improving it. Eventually
I improved it to the point where the original thing was just the sort of
inside core that you'd never see.
MG: And it gets called EMACS, right? What does that stand for?
RS: It stands for Editing Macros.
MG: Were you aware of their whole history? Were you made aware of
it?
RS: I learned about it over the subsequent years. At MIT in those
days, if a professor had locked a terminal in his office, it wouldn't stay
locked. In one case, one of the programmer staff built a battering ram to
open the door, and others learned to pick locks. What I learned to do was
to use the false ceilings or the false floors. So I many times picked up
some floor tiles, crawled into a room, and opened the door, and I discovered
a convenient method for using magnetic tape with some sticky tape put onto
it, and I could reach over, let that down, snag the doorknob, and then twist
the doorknob with it. Then once the doorknob was twisted, I would use my
leg to push the door open. So in this way, I could just lift up a few ceiling
tiles but not actually have to climb up there, which was really unpleasant,
and you could get fiberglass in your skin, which would make you itch for
a while -- and I didn't want that to happen. But with this method I didn't
actually have to climb. I'd just have to push the tiles out of the way.
MG: Did you have a sense of yourselves as being subversive?
RS: Well, mildly so. But see, we weren't trying to subvert the mission
of the lab. We were trying to do our job. But we were trying to subvert
the people who were trying to bureaucratize and thus subvert the lab we
worked for.
MG: What was your job?
RS: I immediately got put to work writing parts of the system. We
had an Editor. I started improving it. Eventually I improved it to the point
where the original thing was just the sort of inside core that you'd never
see. We had a text editor called TECO. I started adding features to TECO
just as I added features to all the other programs in the system. TECO stood
for Text Editor and Corrector.
MG: At some point, the access to the computer lab and to the system
becomes an issue. Right? Because the hackers had originally designed the
system leaving out any kind of security features, and the reason was they
had observed that security features were used by administrators to control
the users.
RS: To control them in all sorts of ways. Tell them what they're
allowed to do. Keep them in line. They're the boss. So the hackers said,
"We don't want anybody to do that to us." So they designed a system which
didn't have those features. It was a group of people who said, "We want
to have anarchy, because we can work together, and we don't want anyone
dominating us, pushing us around." Because if somebody is the operator,
and the operator can do things which you can't, then you constantly need
to suck up to the operator. If you don't do what the operator wants, then
the operator will refuse to do the things for you that you can't do, and
it's the operator who decides what you're allowed to do.
MG: How many of you were there?
RS: Hackers? Around ten-ish, although there were many more users
than that. And then these anonymous visitors (the tourists, we called them),
they were probably in the hundreds. So it was a community.
MG: But it was also a commune, in a sense. Because it was separate
from the outside world. You all had the same goal in mind.
RS: Yes. But unlike the impression that the word "commune" might
give, we didn't exclude anyone who wanted to help. If some outsider wanted
to get involved and wanted to work on the software or work on the system,
anyone who was competent was welcome.
MG: Were there offenses that could get someone
excommunicated?
RS: Yes, sort of. If some visitor acted obnoxiously, like crashed
the machine, all the other visitors would be angry, because they didn't
want the machine to go down. They were having fun using the machine. Especially,
we had found a way of educating people away from being crackers. We found
a way of giving them a role and a stake in the continuation of our society.
MG: You said Crackers?
RS: Crackers, yes. Crackers are people who make a practice of breaking
computer security, or crashing computers. But the point is that we didn't
have any security to break. Although actually, there was one thing that
had a little bit of security. There was a special magic command that you
had to type in order to be able to deposit in the core image of the running
kernel-- the lowest level program on the system, the one that keeps the
fences up between the other programs that are running.
On this system, since it was meant for hackers, the top level command interpreter
was actually also the debugger. So any time you were running a program,
the debugger was right there in case anything went wrong. You could start
to de-bug instantly. Anyway, you could also start to de-bug the actual running
kernel, and you could deposit in it. You could patch the code of the running
kernel, while it was running, to test out a bug fix. And I did that many
times. Of course, you have to be very careful when you're doing that, otherwise
you'll crash the system. So because of that, there was actually a password
on the ability to do that. I say a password because in some sense that's
its role, but it didn't look like that. It was actually a magical command
you had to type before your debugger would allow you to deposit in the running
kernel. And this command was a bit funny, because you would type one thing,
and it would echo as a different thing. So the result was that if somebody
was watching your screen and they saw you type this command, they'd be misled
about what it was they should type. Of course, anyone who was smart enough
to read the source code of this program could see the code that did this
and know exactly what to do. But anyone who was that much on the ball was
okay. And by the way, this wasn't put in to stop anybody malicious. It was
put in to stop a person who worked at the lab but was overconfident and
kept on thinking that he knew how to do this and kept on getting it wrong!
[LAUGHS]
MG: Try to de-bug while it was running and then he would crash the
system?
RS: Right. In fact, they actually named the feature after him internally!
MG: Now, all this time, all through the four years before you graduated,
you're doing a full course-load at school? And then you're writing code
at night?
RS: Well, we'd go over to MIT typically Friday afternoon, in time
to have a dinner of Chinese food, and I would stay there until Saturday
evening, have another nice dinner, and then go back to Harvard. Typically,
this is what kept me alive, because the food in Harvard's dorms was so horrible.
About half the meals I couldn't find anything I wanted to eat, so that left
me with about one meal a day.
MG: But between Harvard and the AI Lab, this is all-consuming. This
is your life, right?
RS: It was. That and, starting with my junior year, folk dancing,
which I really loved.
MG: Then you graduate and go to the AI Lab full time?
RS: Well, actually I went to MIT first as a graduate student in Physics.
MG: Oh, for how long did that last?
RS: A year. What I noticed was that my enthusiasm for Physics was
decreasing, and I believe the reason was that in programming I could do
something. I could produce something that was new and that was useful and
I could feel proud of, and in Physics I hadn't seen how to do that, and
I never figured out how to do that. I wished that I could do it, but I never
saw how. So what happened was, I had a knee injury, and it stopped me from
dancing, and basically broke my heart. I not only couldn't do the dancing
that I loved, but I couldn't meet any women. The only way I met women was
by dancing with them, and going but not being able to dance didn't enable
me to meet anyone I didn't already know. This happened in June, and all
summer I went there anyway, and I was reasonably cheerful because at the
time I assumed, "Well, it will get better, in a few months it will be better,
I can live with this." Then it sunk in on me that it was not getting any
better. Then in September I basically fell apart, because I realized that
I wasn't going to get to better, and I had nothing. That's when I dropped
out of graduate school and just started working at the AI Lab.
MG: You went there right around the time Watergate happened.
RS: I cared a lot about Watergate. In fact, I often wore a button
which was inspired by Watergate, which said, "Impeach God." I compared what
Nixon was telling us with the spiel that, according to Christianity, God
gives us, and they match up point by point. "I have a secret plan to end
the War in Vietnam, or end justice and suffering in the world. For heavenly
security reasons, I can't let you mere mortals understand the details of
my plan. So you'll just have to take it on faith that what I'm doing is
right and obey me, because after all, I am entirely good. I told you so
myself, and you have to believe everything I say. And besides, I see the
big picture, and I am so much wiser than you. So you should just obey implicitly.
And if you don't obey me, that means you're evil, so I'll put you on my
Enemies List, and the IRS will audit you every year for all eternity." I
figured why stop with the small fry, let's go after Mister Big. No matter
how powerful a tyrant is, they all deserve to have their power taken away.
I wasn't involved in politics in the sense of joining organizations and
working on campaigns. But I thought about politics very much. As did just
about everyone else. The people at the AI Lab were not mostly apolitical.
They were mostly vaguely left-wing and they were embarrassed that they were
getting funds from the Defense Department, which peculiarly, did not bother
me, because I thought what we were doing was more important than who we
were getting funds from, and besides, just because I was against the war
in Vietnam and against some U.S. interventions in Latin America, that didn't
mean I was in favor of unilateral disarmament. I was against the policy
that had led to the use of our military, but I didn't start thinking that
the United States is the enemy, the way many people did.
MG: Where did you see your work at the AI lab going? What was it
leading to?
RS: I had no specific idea in mind of what it was going to lead to.
I just felt that computers were an exciting thing and that they had to be
good for people somehow, and then, I wanted to advance what we could do.
MG: There was no vision yet of personal computing?
RS: Oh yes, there was a vision like that. There were people at Xerox,
for example, who were working on trying to develop computers that would
be gradually cheaper and more accessible and easier for people to use. I
wasn't tremendously interested in that, though.
MG: Were you at all into things like "Saturday Night Live"?
RS: I did like "Saturday Night Live" a little bit. And this was also
the time when I had started to learn about various kinds of world music.
Because from folk dancing I had learned about Eastern European music and
Turkish music and some Arabic music.
MG: Are there any people your age in the lab, or are you mostly surrounded
by people older than you?
RS: People were still coming into the lab until around 1980. There
were still mostly MIT students, occasionally Harvard students, showing up
and becoming great hackers. It was a continuing vital culture. I was not
the last person to join it.
MG: But some of the key people began drifting away...
RS: Well, people always came and went. But in any culture there are
always people coming and going. People die, people are born. It was only
when Symbolics hired away most of the hackers that there was a systematic
change.
MG: Symbolics represents the commercialization of the culture, right?
RS: It was. Right. The result was that the lab was sort of empty
of hackers.
MG: A new machine comes into the MIT lab, right? And all of the software
that you guys had written all these years doesn't run on it? It comes with
its own?
RS: Yes. Well, we could have run our system, but they decided, because
of the dearth of hackers, that we wouldn't be able to keep it going, and
therefore the people who ran the lab decided to use Digital's operating
system instead, which meant that only a few of our programs were still of
any relevance -- a few that had been ported to that system and were used
by people elsewhere also.
MG: Stephen Levy wrote about this in Hackers. One of the MIT hackers
formed a company called LMI to write a new operating system, and a group
run by a more business-oriented type started a competitor called Symbolics.
There was no one left at MIT to improve the non-commercial version of the
software-and Symbolics stepped into the breach with a proprietary OS. Did
you play a part in all that?
RS: I was the last hacker. I was the only hacker left at the AI lab.
And then what happened? An enemy, a company formed by a betrayal, gave us
an ultimatum essentially. They said, "from now on, if you want to use any
of our code, any improvements we're making, you've got to abandon the MIT
version of the system and essentially join our camp." They forced us to
choose sides between them and LMI. Until then I had been neutral, and I
had been saying, "I am not on the side of either company." But once one
of these companies attacked the AI lab, I couldn't be neutral any more,
so I joined the war on the side of the other company. What else does a neutral
do when one of the sides in a war invades it?
I started maintaining the LISP machine system for MIT, in competition with
Symbolics. Now, of course, anything I wrote was available to Symbolics,
just as it was available to MIT. But in fact, what I was doing was the same
job Symbolics had already done, for the most part. So it was of no benefit
to them. It was only of benefit to the company that they intended to be
the victims of their ultimatum against us. This was Belgium. The Germans
attack Belgium, the Belgian Army fights on the side of the English and the
French.
MG: You were saying, "I don't care that this is proprietary to you
guys; I'm going to make it open"?
RS: I wasn't using their code. I was writing my own code to do the
same job.
MG: I see. But your code was open and their code was proprietary?
RS: My code was available to LMI. But it was not free software, because
MIT had licensed the LISP Machine System to those two companies, and thus
had made it non-free-software. So I was fighting to defeat this invasion,
and I did more or less succeed at that. I ultimately lost the battle. Essentially
I thought of it as a rear guard action, because LMI at the time was too
small to do its own system development. So if Symbolics had wiped out the
MIT version, made it obsolete in no time then they would have knocked LMI
out of business, and they would have profited by their invasion. And my
goal was to deny them any benefit from their aggression. So I did that by
keeping the MIT version viable.
MIT had done the first bad thing by making the software proprietary. But
at the time I wasn't thinking so much in those terms. I was thinking that
Symbolics had killed the AI Lab's hacker culture, which was my home! So
they had done this as part of a deliberate strategy to profit, and I was
going to deny them that profit. And I ultimately did, more or less, because
I kept this going long enough for LMI to hire hackers and pick up maintenance,
and LMI was successful for a few years...
MG: Before we go to what happens to you, what happens to these two
companies?
RS: Well, they both went bankrupt a few years later. The day of LISP
machines passed. It became feasible to make whole CPUs on a chip and have
them be reasonably powerful.
MG: Is this all completely separate from the world of personal computers?
RS: Yeah. Completely separate.
MG: And that's not where you go. What do you do
next?
RS: The AI Lab was acquiring new Symbolics machines, it was becoming
harder and harder for me to keep the users that I needed in order to test
the system. But beyond that, I felt, I don't want to spend the rest of my
life punishing one act of aggression. They destroyed the community I love.
Can I build a new one? So I looked for what I could do. So during the spring
or summer of 1983, I started looking and I realized that if I developed
a free operating system for modern computers, that is, not specialized,
unusual ones like the LISP machine but commonplace modern computers, then
I could create a new community in which people could share.
MG: What you work on is Unix?
RS: Well, no, it's not Unix. It's GNU: GNU's Not Unix. It's compatible
to Unix, but it isn't Unix. Unix existed already. It was a particular body
of code. If you printed it out, you'd get a gigantic stack of sheets of
paper with lines of code written on them. We couldn't use any of those lines
of code. Because they were copyrighted, and most of them were trade secrets
as well.
MG: Belonging to?
RS: AT&T. It made no difference who they belonged to. That's irrelevant.
MG: And Unix ran on what? Mainframes?
RS: No. It ran on various things like the PDP-11 and the Vax and
some other kinds of computers as well. The home computer that you would
get today is a lot more powerful than the PDP-10 that I was working on in
the 1970s. And the PDP-11 was even smaller. They were pitifully weak.
I decided that I was going to target 32-bit computers. At the time, PCs
were 16-bit computers, which meant that they were not "real" computers.
They were too small and too hard to program, and I realized that they were
going to be replaced over the course of the next few years by 32-bit computers.
Therefore I said, "It's going to take a few years to write this system anyway,
so rather than wasting any time to cater to today's 16-bit machines, I'm
going to aim for where ordinary computers are going to be when I get there."
MG: Were you doing open-source software?
RS: It's not open-source software. It's the free software movement
Please don't use the term "open source" in describing me. Open source software
and free software describe the same category of software, but they say very
different things about it. Open source is a technical movement; the free
software movement is a social and political movement. People who talk about
"open source" focus on how that makes it possible to improve the technology
faster. Implicitly, what they're saying is that improving the technology
is the most important thing. Well, I don't think so. For me, creating a
community in which people have freedom is the most important thing. So the
people who talk about open source say that it will enable you to make better
software. But when it doesn't, what are you going to do? Well, they will
use the proprietary software. But I will stick with free software, because
I am more concerned with freedom than with having a better program.
MG: So your idea in '83 is that you're going to create an operating
system that will be a free operating system--
RS: Entirely free.
MG: --that will work on 32-bit machines.
RS: Mmm-hmm. And by the time it was done, 32-bit machines would be
affordable, which indeed happened. The 386 was the first 32-bit PC design
MG: What did you do? Did you form a company? Did
you gather some code people around you?
RS: I started inviting people to join and help. But I didn't start
a company; I started a project, a movement. I mean, it's a funny thing.
That's the time that I started growing my hair. Because you see, although
there were many things about the Counterculture that I didn't agree with,
one thing I did agree with was rejecting the idea that profit and success
is the highest goal in life; making a just society is the higher goal. So
I started a movement. To create a new community. Because I had lost my community.
Users, developers, whoever. Because anyone is welcome to be a developer.
Just as in the AI Lab, if people came over the 'net or came to visit personally
and started hanging around and liked our machines and they learned to program
and they wanted to help, we invited them to start doing jobs.
MG: How do you do this?
RS: Well, first I wrote an announcement about the goals of the project,
and posted it on the Net. Then I just started writing.
MG: How could you afford this?
RS: I don't understand the question. It didn't cost me anything.
MG: When you were at the AI Lab, I assume you were using their machines.
RS: Right. They let me keep using their machines after I quit. I
wasn't going to buy a computer. If I couldn't have used the AI Lab's computers,
I'm sure I could have found somebody who would let me use a computer. I
had enough of a reputation even at that time, if I showed up in a computer
science department around the country, there would probably be somebody
there who knew who I was and would say, "Oh, you want to log in? Come here."
MG: And what happens?
RS: Well, immediately, not much. Because people said, "Oh, this is
an infinitely hard job; you can't possibly write a whole system like Unix.
How can we possibly do that much? It would be nice, but it's just hopeless."
That's what they said. And I said, "I'm going to do it anyway." This is
where I am great. I am great at being very, very stubborn and ignoring all
sorts of reasons why you should change your goal, reasons that many other
people will be susceptible to. Many people want to be on the winning side.
I didn't give a damn about that. I wanted to be on the side that was right,
and even if I didn't win, at least I was going to give it a good try. I
had a tremendous amount of self-confidence, because I had been equaling
the output of a whole team of hackers, and I knew that, and I also realized
that following the design of Unix would give me the same kind of advantage
that I had when I was following in the footsteps of the people at Symbolics.
MG: So Unix was proprietary software, developed by AT&T. The way
it has been explained to me is, Unix is the Good Guy versus Windows...
RS: No.
MG: ...because Unix is an open system. Can you explain?
RS: I don't know what they mean by "open system," but it has nothing
to do with anything I'm concerned about.
Unix does not give the user any more legal freedom than Windows does. What
they mean by "open systems" is that you can mix and match components, so
you can decide to have, say, a Sun chain on your right leg and some other
company's chain on your left leg, and maybe some third company's chain on
your right arm, and this is supposed to be better than having to choose
to have Sun chains on all of your limbs, or Microsoft chains on all of your
limbs. You know, I don't care whose chains are on each limb. What I want
is not to be chained by anyone.
MG: What are the chains?
RS: The chains are the regulations saying that you can't see the
source code, you can't distribute copies to your friends, you have to sign
these nasty licenses promising not to help other people. See, what they're
talking about is that you can't mix and match components, but I'm talking
about the freedom you have in using any particular component. "Open" is
a word that was chosen to give people a warm, fuzzy feeling, which is what
marketers like to do. I don't use that term because it doesn't mean anything
that I think is important.
If you want a stereo system, you can buy a whole package, everything together,
or you can buy an amplifier from this guy and a CD player from that guy
and speakers from this other guy. That's the difference between what they
call an open system and the alternative. Open system means that there are
these components, and you can get individual components from different masters.
But from my point of view, that's not the issue that I care about. The issue
I care about is you have a master. Is there somebody who controls what you're
allowed to do with this component or that component or the other component.
Any given version of Unix will be controlled by somebody. If you got Solaris,
it would be controlled by Sun. Sun would make you sign a license to get
a copy, and they will say you're forbidden to distribute a copy to anyone
else, and they won't give you the source code so you're helpless. In other
words, they do all the same things that I object to when Microsoft does
it. As far as I am concerned, if my system was composed of proprietary software
it makes no difference to me whether I got it as one big package or several
little packages.
MG: So you've now determined that you are going to do something that
essentially has no owner, has no master.
RS: Right. Where users are individually free. I looked at how we
had used software in our society in the 1970's, and I saw that it was crucial
to have the source code and it was crucial to be free to make an improved
version and crucial to be free to redistribute that to somebody else.
MG: And how did one make sure that there weren't then 900 different
versions of GNU out there?
RS: We don't. So what? It's much more important whether people have
freedom than whether there are 900 different versions. There are fundamental
issues and there are side issues. And how many different versions there
are is a side issue. However, the fact is that there were dozens of different
versions of Unix. So it was hardly likely that we would do worse. And it's
pronounced Guh-nu, now new. It's not new anymore, but it's still GNU.
MG: So what do you do?
RS: I just started writing. At first I was by myself. Then a friend
of mine started writing one component, which is now part of a C-Compiler.
Anyway, it really didn't catch on a lot until after we released the GNU
EMACS. And what happened was, people using Unix started to use the GNU EMACS
Editor on top of it. So this started bringing the project more attention
and credibility. Also it meant that some people started getting involved
in improving EMACS. They were free to make their own versions. But mostly
they didn't do that. Mostly they just sent their changes back to me, because
they wanted me to put their changes into my version.
MG: This is over the course of months?
RS: Years. I mean, we're still working on it, still improving it.
The idea is to produce a suite of software that works together. Everyone
is free to copy it, and modify it, but you can't make a propriety modified
version. It must be free, which refers to freedom not price. Users must
themselves be free. You can't stop others from copying or making further
changes. The goal is to insure everybody has these freedoms. You must respect
these freedoms. So it's been 14 years now, approximately. With a brief exception
in the early '90s when I was focusing on the League for Programming Freedom.
MG: What was that?
RS: That was an attempt to fight against new kinds of legal monopolies
restricting software development. Essentially I was trying to unite with
the proprietary software developers to fight against monopolies restricting
us both. It had nothing to do with free software particularly.
What we discovered around 1990 was that programmers were no longer going
to be free to write whatever program they wanted to write. That the companies
were using legal methods to forbid writing of certain software.
MG: How could they do that?
RS: Well, one method was to patent either algorithms or features.
And the other method, which I actually found out about first, was to claim
that a user interface or some other interface was copyrighted, and therefore
that you weren't allowed to implement the same commands. Now, to understand
what that means: Suppose somebody could say, "We've copyrighted the layout
of keys on the keyboard," so if you want to make a typewriter, you're going
to have to make a different keyboard layout..."
MG: You ended up picketing Lotus. What was Lotus doing specifically?
RS: They were suing companies that had made spreadsheets that were
compatible with 1-2-3. That is, the same user command language. And they
were winning and putting these companies out of business. Until then, everyone
had assumed that copyright didn't cover those things. What I first did was,
I got together with Professor Minsky and╥I don't remember who any more for
certain╥and we put an ad in the MIT Student Newspaper saying, "Programmers
beware," and we talked about Lotus' "look-and-feel" lawsuits, and we called
on programmers to boycott Lotus -- not to work for them, not to buy from
them, not to use their software. This attracted news attention.
MG: Is this when you begin to become a public kind
of person?
RS: Yes. There had been a couple of articles about the GNU project
earlier on in the 1980s but this was the first time we made news. Somebody
asked me what I was going to do next, and I thought about it and decided
that we should hold a protest rally at Lotus -- and we did. There were some
160 programmers protesting. I wish that I had felt the strength to be able
to imagine doing a thing like that against the Vietnam War, but I hadn't
seen how. I got actually a fairly low number in the draft lottery, and if
the war hadn't ended I probably would have ended up being drafted, and I
expect that experience of being put into the Army would have destroyed me.
I don't believe I could have survived it. I would have probably been put
in jail all the time for disobeying officers who wanted me to call them
"sir," and I probably wouldn't have called them "sir". It would have destroyed
me, I think. I don't think I could have come out of that as anything but
a ruin.
It's a strange thing, because I could imagine fighting for my country in
a war. After all, I told you I saw what I did to punish Symbolics through
the metaphor of war. I could definitely imagine fighting an enemy that I
thought was really evil and deserved to be fought, like the Nazis, the way
my father had. But I was such an individualist that I don't think I could
ever stand military discipline, period. Now I was doing a protest like the
ones that I had heard about but never done in the 1960's. I felt I had enough
strength now. Because I had got the strength from fighting Symbolics. That
gave me a tremendous feeling.
MG: I actually think you got the strength from the ten years that
preceded that, and that you used the strength fighting Symbolics.
RS: Maybe. What I learned from that was, if I decided to do something
that required unremitting effort, I could do it.
MG: What happened after these demonstrations?
RS: Well, we attracted more attention, and then we had another demonstration,
and we formed the League for Programming Freedom right after the first demonstration,
and the League eventually ended up having a few hundred members. We never
managed to get it really to take off. I had thought that given that there
were some indications that most programmers agreed with us, we would start
getting many thousands of members. But we couldn't get it to go. We had
one more demonstration at Lotus, and we wrote a Friend of the Court brief
for the Appeals Court and for the Supreme Court. In the Appeals Court, Lotus
lost, and the Supreme Court was unable to decide. One Justice didn't vote,
and the result was a split decision. So the Supreme Court did not set a
precedent.
MG: So Lotus lost.
RS: Yes, Lotus lost. The issue is not quite dead and buried.
MG: Now, how are you feeding and clothing and maintaining yourself
through all this?
RS: For a while, I continued to do some work for LMI, like improving
the MIT documentation. Then I started selling copies of GNU EMACS, although
that was only for a part of 1985, because when the Free Software Foundation
was formed in October it took over selling copies of EMACS, and it sold
lots and lots of copies of free software.
MG: What is Free Software Foundation?
RS: That was an organization...it's a tax-exempt charity for free
software development which was founded in 1985 to support the GNU project.
To raise money to pay people to work on free software. Then I started making
money doing consulting related to the free software. For example, people
wanted to add features to EMACS. People wanted to add features to the GNU
C-Compiler after I wrote that.
MG: Now, is any of this consumer software?
RS: We weren't working on applications. We were working on the operating
systems. That has to come first. Although our definition of the operating
system is broad. It's like Microsoft's definition of the operating system.
That was everybody's definition of the operating system back then. The only
reason people got a narrower definition is from MS-DOS, which ran on a pitiful
excuse for a computer.
MG: When did you win your MacArthur genius grant?
RS: In 1990. It made it easier for me to register to vote. I was
living in my office and they didn't want to accept that as my address. A
newspaper article about the MacArthur grant said that and then they let
me register. The money didn't make a revolutionary difference; it meant
I no longer had to consult for money.
I live very cheaply. I basically still live like a student. Because I never
wanted to stop. Cars, big houses have no appeal to me. No appeal at all.
I wasn't a slave of appetite for money, and that enabled me to do something
worth doing. That's why, when I started the GNU project, I also started
growing my hair. I did that because I wanted to say I'd come to agree with
one aspect of hippie movement: don't focus on material success as a goal
in life.
MG: Haven't GNU and the ideas behind it been co-opted to some extent
by commercial interests? Sun Microsystems has very successfully sold itself
and its version on UNIX as "open" products.
RS: That happens. But Sun can't say it's open source. Sun's software
is not open source. It's not free either. All of us are agreed on that.
Sun's license is too restrictive. It's no better than Microsoft in my opinion--it's
closer but not better. Closer is only better if you'll eventually get all
the way there. Sun has no intention of taking the rest of the steps. They've
given some freedom in order to avoid giving the rest.
MG: What about Linux?
RS: There is no operating system called Linux. The OS called Linux
is GNU. Linux is a program--a kernel. A kernel is one part of an OS, the
lowest level program in the OS that keeps track of other programs running
and apportions memory, and processor time among them. Inside Windows there
is a kernel somewhere. Microsoft won't tell you the way to use the kernel.
Anyone can sell our work. That's part of what free software mans. It's a
matter of freedom not price. Everyone can sell my work. Freedom to sell
copies is part of the definition of free software. There's something I want
out of this. I want them to understand the system exists because of an idealistic
philosophy. Call it Linux and it defeats the philosophy. It's a very serious
problem. Linux is not the system. Linux is one piece of it. We have our
own kernel. It's not as mature as Linux.
MG: How did the version called Linux come about?
RS: Linus [Torvalds, who wrote the kernel,] was working on Linux.
He didn't do it under our auspices. It's a piece of an OS that GNU was missing.
Put them together and you have a whole OS. Linus got his kernel working
before we got ours working. That kind of thing happens.
The idealistic vision of the GNU project is reason we have this system.
Others contributed for various reasons but would never have made whole free
system. People have confused our work with his. The usual picture now treats
his part as everything and ignores everything but him. He doesn't share
our ideals. He doesn't spread them, profess them, encourage them. So our
work is no longer serving our ideals.
MG: So it's back to the proprietary, sort of Yuppie model?
RS: Linus is out there to have fun. He wrote his kernel not for money
but because programming is fun. He's not an idealist but he's not an intense
capitalist. He's an engineer. He has fun. I am too but I'm also a political
idealist, which seems to me a higher calling.
Yuppies got the edge by disconnecting the work from the ideals in the image
presented to public. It's not a deliberate confusion but it played into
hands of those who want to ridicule idealism and dismiss idealism. I inform
reporters what really happened. For a year or two you read stories of Linux
OS. Now you see stories that talk of a system developed by the Free Software
Foundation. We're bringing the issue of freedom back into public consideration.
We haven't lost but it's been quite an obstacle.
MG: And now, people like the folks behind Red Hat are getting rich
selling what you gave away for free. It's strange. What did they add? A
box? Tech support?
RS: Why buy the box? I don't know. They're selling copies of free
software. Why people buy it is a different thing. Support may be it and
that's perfectly legitimate. As far as I'm concerned, the question of who
makes money is shallow and unimportant. Free software is defined in terms
of user freedom and that includes freedom to sell copies without paying
for permission to do it.
I'm having success, too. We have lots and lots of people writing free software.
It's possible to use a computer with only free software now. It's okay to
make money. It's not about money; it's about freedom; if you think it's
about money you've missed the point. I want to use a computer in freedom,
to cooperate, to not be restricted or prohibited from sharing. The GNU/Linux
system is catching on somewhat more now. The system is becoming popular
for practical reasons. It's a good system. The danger is people will like
it because it's practical and it will become popular without anyone having
the vaguest idea of the ideals behind it, which would be an ironic way of
failing.
[Dec 14, 1999] Linuxcare - Linuxcare Interviews
Linuxcare: One of my favorite documents on the GNU web site is a talk you gave at Sweden's Royal Institute of Technology in 1986. The way that talk was structured was 1/3 historical, 1/3 technical, and 1/3 social. I was wondering if we could spend a bit of time to discuss the technical part now.Richard: Okay.
Linuxcare: I understand it's not your focus right now. One of the initial questions I have is since the portability of ITS [Incompatible Timesharing System] failed...
Richard: It had no portability.
Linuxcare: Okay, then in the absence of portability, what really made you think that UNIX was a good idea?
Richard: It was a portable operating system and it had real users on different kinds of machines. So it wasn't just portable in theory, but the portability had been tested. In addition, UNIX had some good ideas by the standards of the day. Nowadays we take them for granted perhaps, but compared with other operating systems that I had worked on they were interesting and powerful; things like pipes and redirection, shell programming, the convenient fork() and exec() system calls; these were an advance. So I thought UNIX was a pretty good idea. Since I had never used it, I didn't know about some of the things that were actually badly designed. There were some ways in which UNIX was a step backwards from the other operating systems I had worked on. For example, the lack of atomic supersede. These days we've pretty much forgotten what that is. It means that when a program starts to write a file in UNIX, it starts by truncating the file to zero length, then it rewrites the contents. This means if somebody tries to read it at that time they will get a half written file. On the operating systems I used in the 1970s, there was no danger of that because the new version would appear instantaneously when it was closed. Until a certain point, anybody reading the file would get the old version, and then instantly it would be replaced by the new version. So anybody reading the file would always get a complete version.
Linuxcare: For example, sometimes it's nice to be able to "tail" a file as it's being created.
Richard: Yes it is. There are some uses in that, but it seems to me that having a special system call you can use to get at a file being written is better than lacking atomic supersede. At least there was some way you could get to look at the file while it was being written.
"I don't like the idea of having security within a shared computer system at all. I also don't like the idea of saying no to everyone by default."
–Richard StallmanLinuxcare: Doesn't file locking take care of a lot of that?
Richard: To an extent it works. EMACS has the ability to write it under another name and rename it. Of course, there's no other name you can be sure won't cause a problem. There is some ugliness in the design of UNIX, but fortunately most of it is pretty good.
Linuxcare: One of the ugly points you mentioned in the 1986 talk was that of a security model. You explained that rather than make it easy for people to do the right thing, it simply forbids them from doing the wrong thing.
Richard: You're mixing several issues. One is that I don't like the idea of having security within a shared computer system at all. I also don't like the idea of saying no to everyone by default. Now, in fact, I do that. Our computers have security now, and because I am so bitter about what I have done, I'm so ashamed of what I have done, that I treat myself like one of those outsiders. I cannot log in remotely to the new machines. I know a way that I could, but I won't do it because the same maltreatment I am giving to everybody I must give to myself as well out of shame.
Linuxcare: One thing I noted in talking to Richard Stevens was the fact that you were pretty responsible for coming up with the name POSIX.
Richard: Yes.
Linuxcare: Originally it was going to be IEEEIX.
Richard: I was part of the committee, and that's why I knew what it was going to be called. When I realized people were all going to be calling it "UNIX-like," standards for "UNIX-like" operating systems, because they didn't want to say IEEEIX, I decided I had better get them a euphonious name on the double. This was after the standard had been finalized and they were about to officially publish it.
Linuxcare: It might be said that the new system could almost be a reference to the product.
Richard: It could, except that we don't religiously try to follow it. You have the POSIXLY_CORRECT environment variable.
Linuxcare: There are specific examples where POSIX is specifically seen as backwards compatibility.
Richard: Basically, my attitude towards standards is that they are useful. They help users figure out how to support a variety of systems, and then they help system implementers figure out how to give the users what the users will expect. But you shouldn't treat standards as though they were gods. There's no need to. We support standards in the ways that are useful to users, and we depart from them when that becomes more useful to users.
Linuxcare: Can you think of any major coups or major features that were brought to the POSIX table?
Richard: I can't remember any more. That was in the 1980s. However, I do remember one where we didn't succeed in persuading them. This was in the POSIX.2 specification for the utilities. They made a decision that they would follow System V by default, and in System V when you did "df" or "du," file sizes were measured in disk block units of bytes.
Linuxcare: Right; instead of kilobytes.
Richard: Well, it occurred to me that this was not good for anybody, so I asked them if they could please change it for the sake of the users. They said, "No, our rules say we follow System V." So I took a poll and asked users which they preferred, and it was 20:1 in favor of kilobytes. I sent them the poll results and they said they didn't care. Unfortunately, I didn't catch this at a time when I could officially object to it. It was already approved and we had already had a chance to object, so all I could do was make a comment. So I couldn't block approval of the standard because I was a voting member of the committee. I couldn't block approval of the standard on those grounds, so instead... speaking of coups, this was about the time of the coup that eliminated the Soviet Union. So, I posted a notice about the coup in which the evil repressive forces of POSIX were being thrown off, and as we speak, teams of new developers are taking control of the major new utilities because they were making the changes to support K by default. To have an excuse to say that we still support the spec, if you define the environment variable, POSIX_ME_HARDER was the original way. Then a slightly prudish board member convinced me to change it to POSIXLY_CORRECT which I now think was a mistake. I should have left it as POSIX_ME_HARDER.
Linuxcare: I'll ask a stupid question. Have you put any Easter eggs into anything? Just some wacky key code combination or something?
Richard: I did once. It was a joke about the C specification which said #pragma was supposed to do something about implementation design. So I decided that a particular #pragma should do some absurd thing, just to point out that it's ridiculous to use pragma for anything, because you never can tell what it's going to do in some other compiler.
Linuxcare: Which pragma was it?
Richard: I don't remember, but we took it out. There was some pragma that other people were using and we decided to have compatibility to support it. We took that out and made it something that was somewhat useful. The other problem with pragma is you can't use it in macros. This means that for almost all purposes it's a bad solution. To have a mechanism that's guaranteed to be wrong is inappropriate for almost all cases.
Linuxcare: Right.
Richard: I think they finally got the message and started designing other mechanisms that could be used inside a macro extension. We did eventually find one situation where a pragma could actually be used to be appropriate because it was something that never was useful to do in a macro. I can't remember what it is, but I think you might be able to find it in the GCC manual.
Linuxcare: Speaking of GCC, we've got a couple of questions submitted here by somebody.
Richard: Okay.
Linuxare: To what extent does the basic architecture of GCC need changes to support the language front-ends, such as the new GCC Java compiler?
Richard: I don't know anything about what's happening with the Java compiler. I stopped dealing with GCC around 1992 and I don't know what changes, if any, were needed. Some changes were needed mainly in the tree data structure, which is what programs get parsed into. Occasionally, when you handle a language that has the kind of construct that hasn't been handled before, if there's no way to represent it with the existing tree data structure, you need to add something so you can represent it. Things like methods and core methods needed a way to be represented, so we added them.
Linuxcare: Does GCC still use a LISP-like intermediary language?
Richard: Printed syntax is what's LISP-like. It's not really LISP-like in the sense that it consists of tupelos that point to a number of other tupelos, which is not by any means a new format for priority use. It's printed out in a LISP-like syntax because that makes it easy to work with in EMACS.
Linuxcare: How did you come to choose LISP as the EMACS engine?
Richard: LISP is the most powerful programming language, and if you want an interpreter, LISP is the best. None of the other languages come anywhere near LISP in their power. The most exciting things about LISP are read, eval, and print. If you look at other languages, they have no equivalent for any of those.
Linuxcare: Why are there so many parameters?
Richard: The minimal set of parameters are small, but on the other hand, there are many standard functions available to do lots of interesting things with lists. With other languages, you need to define exactly the data types you want and define all of the basic things for working on them. Well, they're starting to wise up about template libraries where you can define various kinds of applications, specific list data types, and then have various functions that you can substantiate for any one of those. However, you're still limiting each of those data types you define to using one particular data type for the elements, which is not very convenient. With lists, you have one data type, and you can put anything in any list. You can mix together different kinds of types of elements. It's so flexible.
Linuxcare: One technical point is you don't necessarily limit yourself to a specific set, but the beautiful thing about LISP is that everything is a list.
Richard: Yeah, everything is generic.
Linuxcare: You can build functions using a very small set of primitives. Those functions become useable over lists themselves, or lists of lists and so on.
Richard: Any list of anything in your program and you can have all these built in things that you can do. Not only that, programs are representable as data, which gives you all sorts of convenient, powerful things.
Linuxcare: That's not unique to LISP though.
Richard: Well, it is mostly unique to LISP. Yes, you can write a parser for some other language, and you can invent some data structure to parse them into, but you will have been the one who invented that data structure. There will be nothing you can do on it except the things you provide ways to do.
Linuxcare: That's not true. You can do that in Perl for example.
Richard: Well, with Perl what is their format? They're strings.
Linuxcare: Yeah, you can create strings which are programmed.
Richard: Yes, with string-based interpreters you can represent programs as strings, and you can interpret them as strings, but you can't parse their syntax very easily as strings. In LISP, programs are represented as data in a way that expresses their structure, and allows you to easily do things to the programs that are based on understanding them.
Linuxcare: Right, but you have to count the strings.
Richard: No, you don't have to count strings. Strings are only in a textual representation. When it's data, you have lists that are nested in exactly the same way that the programs are.
Linuxcare: This data structure versus pure list argument is one which the XEMACS people often make.
Richard: They've apparently been indoctrinated by some rather rigid kind of object oriented design philosophy, and they feel they should make as many layers as possible in the program, and at each layer make a whole bunch of primitives to do everything you could possibly want to do. This is a recipe for making a program very big and hairy. Sometimes it's a good thing to do. When the thing has enough hair anyway, then it's sometimes good to make such a data structure. In the 1980s, there were people trying to run it in terms where you could only get an address space of 1 meg. Nowadays, that's an irrelevant design goal, and EMACS is much bigger than it was and that's okay. If it were just technical issues separating us and the EX people, I would be willing to make compromises on those things, but unfortunately it's not just technical issues.
Linuxcare: How much of the current development are you still doing?
Richard: I'm doing a substantial part of it, but not most of it anymore. I found a very good person who I think is about to be hired as an EMACS retainer, who just in the past year and a half rewrote the read/write completely to support variable response and images in the documents, and all sorts of other nice things which seem to work. You'll be able to put postscript into your document and have it display and all sorts of other neat things. We're headed towards word processor.
Linuxcare: Any release dates?
Richard: No. It will be done sooner if you help.
Linuxcare: So what are you doing more of now?
Richard: I have been compelled to involuntarily promote myself into management.
Linuxcare: Which means no more coding?
Richard: Not much coding; sad to say. It's much less fun, but it has to be done.
Linuxcare: Also, you seem to be doing a lot of going out and dealing with issues such as these.
Richard: Exactly. It's the leadership of the movement that I'm doing. Sometimes it involves managing people within new projects, sometimes it involves recruiting, negotiating with other projects, or persuading people to change their licenses. For instance, I worked for two years to persuade Berkeley to change its license to get rid of the obnoxious advertising clause. It took a long time and now it's done, but now we have lots of other people to persuade.
Linuxcare: The BSD people seem to use a new code that they wrote.
Richard: Exactly. I persuaded them a year and a half or more before I persuaded Berkeley. They took to the idea very quickly, so they don't put that into their code, but now they can remove it from the Berkeley code too.
Linuxcare: Getting back to EMACS, I've heard that there are some rather peculiar methods by which it's compiled.
Richard: Well, it has to dump itself out. The reason is to avoid taking the time to load up the standard LISP code every time you start it, so it actually unexecs itself.
Linuxcare: In other words, you compile the base LISP interpreter, then you load up the LISP codes.
Richard: Exactly.
Linuxcare: Do you share libraries at all?
Richard: No. Well, it may if you build it on a system where LISP libraries are being shared. In that case it's using shared libraries, but other than that, no. The C shared library mechanism is not designed to be used to link any LISP codes.
Linuxcare: Is that how LISP programs are normally compiled? To say it core dumps itself sounds kind of frightening.
Richard: No. LISP is interpreted. This is a different issue. This is the issue of: "How can I go out and make something start running quickly?" So much of EMACS's interpreted LISP code is the idea that, rather than starting with something small, having it bootstrap itself, and then start running interpreted LISP, you actually see something pop up on the display. There are about 30 files of LISP codes that are standardly included in EMACS. If EMACS had to load them each time, it would take probably a minute or so to start up. That would be inconvenient.
Linuxcare: It's basically just a snapshot? Okay, it makes an executable file that represents the state of what is in memory at that time.
Richard: Exactly, and that way it starts up like that and all of the loading and preloading... Well, it still takes much longer to start up than we wish, but it's much faster than it would be if it didn't do this. In the old days, it used to take 10 minutes to do that pre-loading. That was really a pain.
Linuxcare: What inspired you to write EMACS?
Richard: It sort of happened almost by accident. Let me give you the whole story. In the early 1970s, what we used for editing was TECO. Except, our version of TECO had a nice display screen feature where at the end of each TECO command string... because the way you used TECO was, you typed a command string which was a long or short sequence of commands, and at the end you would type escape/escape, and that executed all of these commands. In most versions of TECO you never saw what was in your text unless you used the command to type it out. But we had some display consoles, so we put in an automatic redisplay thing where, at the end of the command string, it would display the current area of the buffer on the screen automatically. It would keep track of what was on the screen already, and it would not redisplay the things that were changed. So that made redisplay faster.
"Guy Steele had the idea of collecting the best ideas of the various TECO-based editors, and synthesizing them into one editor. We got together to implement it. After the first night, he dropped out, so I did most of the work. This became EMACS."
–Richard StallmanAnyway, somebody else decided to implement a real time editing feature where you would type single character commands and they would update the screen immediately. He decided to do this with its own completely separate redisplay mechanism though, which turned out to be utterly unusable and painfully inefficient. It didn't work and nobody used it, so I decided to reimplement that completely and make it display compatibly with the usual redisplay mechanism. So, you'd go into the real time editing mode and you wouldn't see any of your text on the screen change, but then as you typed characters which changed the text, you would see the redisplay happen immediately. I optimized this and people actually started to use it. At first there were only a very limited set of things you could do to your text in this real time editing mode, so you had to edit it to do anything else like delete or save a file.
So, somebody said to me, "How about giving us a couple of characters in the real time editing mode that we can redefine and make them run TECO macros?" A TECO macro was just a command string that you had written in advance to serve as a subroutine that you could call up when you wanted to. So I looked at the idea, and I saw it would be just as easy to let you redefine any and all of the characters.
Linuxcare: Right.
Richard: So I did that, and other people really went to town redefining these realtime editing characters, until eventually just a very few of them were left with their standard definitions. People had written several different packages, essentially editors written in TECO. So TECO had changed from being the editor, to a system for writing editors. Then Guy Steele had the idea of looking at these various TECO-based editors that people had written, collecting the best ideas of them all, and synthesizing them into one TECO-based editor that would end all TECO-based editors. He did a lot of work designing a new command set that would be clean and symmetrical, and then we got together to implement it. Then after the first night it happened, he dropped out, so I did most of the work. This became EMACS, and it basically replaced the other TECO-based editors. When it caught on, other people wrote implementations of the same basic idea, but not using TECO typically. Greg Greenberg, I believe, was the first one to use LISP as the language to implement the editor in. Then, people working for a system I can't recall, tried the approach of writing their own LISP interpreter and implementing most of the editor in that, and it worked well. So I used that for doing my second implementation of EMACS. Then, to gain portability, I wrote the LISP interpreter, the parts of the editor that had to run really fast, and some editing primitives, all in C.
Linuxcare: Like which ones?
Richard: Well, like insert some text in the buffer, delete some text in the buffer, communication with subprocesses, and so forth.
Linuxcare: Wasn't the LISP interpreter written using lex and yacc?
Richard: No, absolutely not. There's no reason to use lex and yacc to write a LISP interpreter. The syntax is so simple you don't need it. You'd just be making things harder.
Linuxcare: I understand that you had a version on your LISP machine too.
Richard: Yeah, there was an EMACS-like editor written in LISP machine LISP.
Linuxcare: Did you work on the development of that?
Richard: I did some, but not very much except in the later stages in the time of the war with Symbolix. There were some neat features I added, like the selective undo feature where you could select a region and undo the last change in this region.
Linuxcare: Oh, that's cool.
Richard: Now the new EMACS has that feature too.
Linuxcare: What's the key for that?
Richard: You use it with CTRL-U as an argument that requests selective undo. Also, a trangient mark mode. When you have a region active then undo the last action.
Linuxcare: So C-u and then what?
Richard: Either C-Xu or C-_.
Linuxcare: Are there any plans to include Guile bindings in EMACS?
Richard: Well, I want to switch over to replace EMACS LISP with Guile.
Linuxcare: Oh, that's interesting.
Richard: Because Guile, which is the new project scheme interpreter, is our standard for extensibility. It's a library. It's designed that you build it into your program, and then you make the lower level parts of your program into added scheme packages. Oh, here's a new feature you can see. You can see here that one of the words in this buffer is highlighted. EMACS 21 supports faces on TTY's.
Linuxcare: Cool.
Richard: It has lots of other neat features too.
Linuxcare: So you're running EMACS 21 here?
Richard: Well the development sources are not finished. We're still putting new features into it.
Linuxcare: It's been a rumor that TECO had such a first impact.
Richard: It was designed to be something you edit with, not designed to be a programming language.
Linuxcare: Right.
Richard: It was really lousy as a programming language. So the lesson of EMACS was, pick a good programming language to write your editor in, and your sensibility language really ought to be designed to be a good programming language. You shouldn't think you should throw away what you know about programming language design. Well, obviously the best programming is LISP.
Linuxcare: Any real words can be considered a TECO macro?
Richard: Yeah, just about anything.
Linuxcare: So you can figure out what your names did?
Richard: I never did that. We didn't have that game. However, I do remember that there was an editor, not TECO, in which the command EDIT {carriage return} would wipe out the text that you were editing because it means "everything delete, insert T." Now if you only did everything DELETE {carriage return} you could undo the change. There was just a one level undo buffer.
Linuxcare: But not with a standard text editor.
Richard: Not on that system. I never edited on a UNIX machine until I had EMACS to edit with. I was at MIT, and there were other things that I could edit with. I could save the files over the net, so I did my editing on a LISP machine.
Linuxcare: Every time, I've heard people say that the reason they're still working on the HURD is because it was a good design and it's almost done.
Richard: Yes. Unfortunately, progress right now is very slow. We don't have anybody working on it full time, and I wish we did.
Linuxcare: What are some of the major big wins?
Richard: Well, the big win is that it's a collection of individual servers that communicate with each other, and each user can replace the ones he or she doesn't like.
Linuxcare: Such as the scheduling, or what?
Richard: Well, the scheduling is actually done inside the micro kernel, but you can write your own memory managers, you can write your own file systems, and you can write your own terminal driver. So, you can replace your own terminal driver. You can't replace somebody else's, and as an ordinary user you can set up additional file systems that you've written, different file names, and then people can open them.
Linuxcare: What advantages would this have over other micro kernels?
Richard: I don't know very much about a lot of micro kernels, but I know that the OSF multiservers were designed specifically to mimic the features of UNIX. That would trap the system call handler, which would send a message to a server, and the server would cooperate to get the job done. As far as the user program was concerned, it would have only the features of UNIX. The HURD was designed to completely expose to the user program the various servers. So something that would be a system call in Unix would just be a function in the library. It would send various messages to get the job done, and you could send messages to those same servers any time you wanted. So, all of the underlying implementation was made available, and you could take advantage of whatever you wanted. In addition, the multiserver derived some benefit of modularity due to the fact that it was divided into these several servers, but you couldn't replace the servers you were using. Only the operator could make an alternate kind of server run. That would be good for debugging a new version of the servers, but it didn't give the user any additional power.
Linuxcare: Can you make reference to the new Mach?
Richard: There is a new version of Mach that we maintain, but we didn't write Mach, and we did that basically once all the work on Mach came to an end.
Linuxcare: Could you expand a little bit on the PDP-10?
Richard: The PDP-10 had several nice things. One is that it was a very symmetrical design. The instructions formed very symmetrical classes, including a number of instructions that were NOOP's. If you hit the class of instructions that were complete, there were a few things that were trivial and didn't do anything useful. In many cases, there were several different instructions that would do the same job just because trivial cases of two different classes of instructions were the same. Another very nice thing about the PDP-10, was that each word of 36 bits was big enough to hold two addresses. In effect, it was designed for LISP, you see. It was the original LISP machine. So, because it was a word addressed machine, you could address a megabyte using just 18 bits, and this megabyte consisted of 256K of 36 bit words, each capable of holding two pointers to other words.
Linuxcare: Right.
Richard: Another nice thing about the PDP-10 was, if you looked at a word, you could pretty much tell from its contents what kind of data it contained, whether it contained text, or instruction, or a pair of addresses, or just one address, or just some number. Typical values were different enough that you could generally tell, and this is a big help for debugging.
Linuxcare: Other than the PDP-10, what would be your favorite architecture?
Richard: As you point out, the PDP-10 was great for its day, but eventually its address base just became too small. There was no way to extend it cleanly to a larger address base, so it really was obsolete. Nowadays, I basically don't pay attention. It doesn't matter so much anymore, and now that you write in something portable rather than assembler language, you have no reason to prefer one architecture to another. Back when everybody was writing in assembler language, it really was much more of a joy to program for the PDP-10.
Linuxcare: Any final thoughts?
Richard: I'm not very good at making up final thoughts.
Linuxcare: Anything?
Richard: If you're trying to debug a program, get into the symbolic debugger as soon as possible. Assuming that you've got a reproducible test case, don't bother wasting any time looking at the cases that don't fail. Just use the debugger to find out what happens in a case that does fail. Use breakpoints, and then stepping, to localize the problem until you see where it's happening. Other approaches that might seem like shortcuts usually end up taking longer. This one is sure and steady, and it will generally find you the problem faster than any other method. But when there is no reproducible test case, then that's a different kind of fish, and you may have to put debugging buffers and save information into your program, so you can get enough information to figure out what happened.
Linuxcare: There was also a program change with the debugger. [Heisenbug]
Richard: Do you know about the bug that depends upon the phase of the moon?
Linuxcare: I've heard about this.
Richard: We always liked to talk about the bugs that depended on the phase of the moon. So, when Guy Steele wrote the Rabbit compiler, which is a scheme compiler, he made it print out a comment at the beginning which showed the time it was compiled and so on, but it also put in the phase of the moon. So, you could always look. If you had a bug that depended on the phase of the moon, you could look at the thing and see at what phase of the moon it was compiled, and that might help you figure out what went wrong. Eventually, he got a bug report about a certain program that had been compiled once, and worked, and when it was compiled at another time it didn't work. So, he looked and he discovered that when the initial comments were printed out, the LISP feature that would automatically put in a line break if a line got too long was activated on one occasion, because the phase of the moon took too many characters to print out. So, it triggered that feature, and the last part of the phase of the moon was on another line, and therefore it wasn't marked by comments. So it was just sitting there in a file, whereas at another time the phase of the moon didn't take up so many characters, and the whole thing was properly commented. So, this was a bug that actually depended on the phase of the moon. You can take that as a final thought.
[Dec 13, 1999] Linux Today Richard Stallman -- Boycott Amazon!
Amazon has obtained a US patent (5,960,411) on an important and obvious idea for E-commerce: the idea that your command in a web browser to buy a certain item can carry along information about your identity. (This works by sending back a "cookie", a kind of ID code that your browser received previously from the same server.) Amazon has sued to block the use of this simple idea, showing that they truly intend to monopolize it. This is an attack against the World Wide Web and against E-commerce in general.
The idea in question is that a company can give you something which you can subsequently show them to identify yourself for credit. This is nothing new: a physical credit card does the same job, after all. But the US Patent Office issues patents on obvious and well-known ideas every day. Sometimes the result is a disaster.
Today Amazon is suing one large company. If this were just a dispute between two companies, it would not be an important public issue. But the patent gives Amazon the power over anyone who runs a web site in the US (and any other countries that give them similar patents)--power to control all use of this technique. Although only one company is being sued today, the issue affects the whole Internet.
Amazon is not alone at fault in what is happening. The US Patent Office is to blame for having very low standards, and US courts are to blame for endorsing them. And US patent law is to blame for authorizing patents on computational techniques and patterns of communication--a policy that is harmful in general. (See lpf.ai.mit.edu for more information about this issue.)
Foolish government policies gave Amazon the opportunity--but an opportunity is not an excuse. Amazon made the choice to obtain this patent, and the choice to use it in court for aggression. The ultimate moral responsibility for Amazon's actions lies with Amazon's executives.
We can hope that the court will find this patent is legally invalid, Whether they do so will depend on detailed facts and obscure technicalities. The patent uses piles of semirelevent detail to make this "invention" look like something subtle.
But we do not have to wait passively for the court to decide the freedom of E-commerce. There is something we can do right now: we can refuse to do business with Amazon. Please do not buy anything from Amazon until they promise to stop using this patent to threaten or restrict other web sites.
If you are the author of a book sold by Amazon, you can provide powerful help to this campaign by putting this text into the "author comment" about your book, on Amazon's web site. Please send mail to [email protected] when you do this, and please tell us what happens afterward.
[Aug 17, 1999] LinuxWorld Today An interview with Richard Stallman by Joe Barr
...Richard's Rasputin-like appearance, his long dark hair and beard, as well as his history of exposing reporters as bumbling idiots, had me on edge. But his voice and features, his eyes in particular, are remarkably warm and friendly. His message -- that software should be free (as in freedom, not as in price) -- has remained so resolute over the years that many, myself included, assumed the messenger would be just as hard and unyielding. I was wrong.
LinuxWorld Today: As I was preparing for this interview, there was a certain amount of fear as I worried about things like offending you by saying "Linux" instead of "GNU/Linux."
Richard Stallman: It's not so much that I would be offended, and especially if it was a mistake. I'm mainly concerned, not with what you say to me, because after all I know the situation. What matters is what you say to other people as to whether you are setting them straight about the history of the system or spreading the usual confusion. That's what really matters.
LinuxWorld Today: I read an interview that you did with Byte Magazine in 1986, and I was struck by two things. First, if I had listened in to that interview in 1986, I would have thought you were a madman to talk about the possibility of a system that would allow people to be productive with their computers based on all free software.
Richard Stallman: You see, I had an advantage. I knew it was possible. I was doing it, along with a bunch of other people back at MIT in the 1970s. We had a time-sharing system that had been developed by the hackers at the AI Lab. That was their job, developing the operating system. I joined that community rather late. It started in the '60s and I joined it in 1971. The system already existed and ran, and I added to it. So I knew it was possible. I didn't have to speculate whether we could succeed in developing another one. Whether we could get together enough people, that I couldn't be sure of. But that it was possible in principle, I didn't have to guess.
LinuxWorld Today: I was also struck by the fact that in 1986 you were saying exactly the same things that you are saying today.
Richard Stallman: So either you can say that I am steadfast, or that I don't know how to learn anything.
LinuxWorld Today: I think the results speak for themselves. But I think that it is remarkable that you had a vision, a consistent vision, and it's a big part of world today. It's a powerful force in the world.
What's lacking in the GNU system today? What's still to come?
Richard Stallman: Well, we don't have a really good, free Web browser, and there are a number of things like audio compression and video compression, which we don't have and we might be unable to have in the US because of patents. We are still working on a free replacement for ssh. People are working still on the free replacements for Microsoft Office. There are some free word processors. Whether they are good enough, I don't know. I don't think there is any free desktop-publishing software yet, but there needs to be.
LinuxWorld Today: The things you are mentioning are almost all applications.
Richard Stallman: Well, the core of the system we've got, so that's not where things are missing. After all, the issues of freedom apply the same to application programs as they do to the operating system. I decided we should aim for the operating system first because you need an operating system first. You can't do anything without an operating system. Whereas these individual applications, any given application, maybe many people don't need it. They can do their work without it. But now that we've got an operating system, yes, it's time for free applications. So that freedom can spread across the whole spectrum of software and all computer users can have freedom fully.
LinuxWorld Today: Is there a new operating system nearing life?
Richard Stallman: I'm sorry, I don't understand that.
LinuxWorld Today: Like GNU/Hurd.
Richard Stallman: The Hurd is not an operating system, it's a kernel. The GNU operating system is working, but using Linux as the kernel. It works. It is a reliable, solid kernel. It's as good as any Unix kernel ever was, and as a result the GNU system with Linux as the kernel is a reliable, solid system.
Right now, work on the GNU Hurd is very slow, unfortunately. I wish there were somebody smart working full-time on it, but there isn't. The result is that we have it running but we haven't written the things to take advantage of the advanced architecture to actually give the user benefits from it. And until we find somebody to do that, it's not going to be really of direct, practical use to people.
So I hope someone arrives, but whether GNU Hurd succeeds or not, the GNU system as a whole has succeeded.
LinuxWorld Today: You've written a number of programs. Emacs, gcc, gdb. I'm forgetting something major here, but with the software that you've contributed, with the GNU manifesto, with the Free Software Foundation, what do you think is the most important thing that you've done for free software?
Richard Stallman: Well, you're looking at all the various parts of something that's really important as a whole. The GNU Manifesto laid out the plan to build a community in which people could have freedom by using exclusively free software. Now to do this, we needed an operating system that was wholly free software. That's GNU. So the various programs I wrote are important because they helped us get there. They are pieces of the GNU system. But what is really important is the whole GNU system.
That's, after all, why Linux is important. Because it's used as a piece in the GNU system, in the version of GNU that people actually use. So, none of these individual pieces would actually matter all that much if we didn't have the whole system.
Of course, there are many pieces in the system, and some of them were written by others for completely different purposes. But whenever I wrote a piece, I was doing that to get to that ultimate goal. And so I don't think it's useful to look at individual pieces. If you want to judge their importance, the way to judge them is to ask "how much did they help us reach the overall goal" rather than "how useful is this piece of software in isolation."
LinuxWorld Today: What do you take the most personal satisfaction from? Is the GNU Manifesto more important than the software?
Richard Stallman: I would say that determinedly standing for freedom and insisting that we should aim for a completely free system and not settling for anything less is the most important thing I've done.
LinuxWorld Today: I've heard you described as a socialist, or a communist. Do politics enter into the Free Software Foundation?
Richard Stallman: Politics do, but I'm not a socialist or a communist.
LinuxWorld Today: How would you describe yourself?
Richard Stallman: Well, I guess I am a sort of combination between a liberal and a leftist anarchist. I like to see people working together, voluntarily, to solve the world's problems. But, if we can't do that, I think we should get the government involved to solve them.
The idea of democracy is that it enables the citizens in general to put a check on the power of the richest, and these days in America we are failing to use that tool, which of course, leads to a harsh life for most people.
LinuxWorld Today: Especially the contrast between the world's wealthiest man, Bill Gates, who has derived his wealth entirely from proprietary software, where people have no choice at all in the selection on the one hand..
Richard Stallman: Well, I should point out that people who are determined enough do have a choice. I was in the same position as lots of people said they were in, and I decided I wasn't going to use that. When I started the GNU project, Microsoft was not particularly important or particularly large, but what you can accurately say is that the only other choices were difficult ones. Most people look at those difficult choices and say that's too hard for me. Because they are not absolutely determined to get freedom. The most important thing about the GNU project is that it is giving people an alternative to proprietary software that is easier, and because it is easier, more people feel they can choose it. So that's the way it spreads freedom to people, by giving them a less heroic way they can get freedom.
Anyway, the people who call me a communist are engaging in Red-baiting. It's a standard thing. If anybody criticizes something about what business is doing, at the present, they get called a communist.
When people said, "Don't pour poison in the river," they were called communists. But they didn't want to abolish business. They wanted to abolish pouring poison into the river. The free software movement is a lot like that. It's a lot like the environmental movement because the goal is not to abolish business, the goal is to end a certain kind of pollution. But in this case, it's not pollution of the air or the water, it's pollution of our social relationships.
When somebody says, here is this nice thing that you will enjoy using but if you share it with your neighbor we'll call you a pirate and put you in jail, they are polluting society's most important resource, which is goodwill, the willingness to cooperate with other people.
LinuxWorld Today: If I understand what you have said and written previously, that was the impetus for you.
Richard Stallman: Yes, that is the reason why I decided to dedicate my efforts to free software. To change an ugly system. And I don't mean a computer system. I mean a social system.
LinuxWorld Today: I heard you last night, at the award ceremony, saying that you had lived for a time in your office at MIT. Do you still live at MIT?
Richard Stallman: No, they won't let me. I would like to, it's very convenient.
LinuxWorld Today: How do you pay your bills? What revenues do you have?
Richard Stallman: These days I get paid for speaking. I've made a living in various ways. At one point, for most of a year after GNU Emacs was first developed, I was selling copies of GNU Emacs. And then for several years I was doing free-software support. I was accepting commissions to add new features to the C compiler, teaching classes about Emacs and about how to program gcc.
I guess I would have continued doing that except I got a big prize and didn't have to do it anymore.
LinuxWorld Today: So you have your basic needs taken care of.
Richard Stallman: Well, they are now. But when I started the GNU project I couldn't be assured of that. I wasn't rich and I didn't know how I was going to make a living. But fortunately, I live cheaply. I've resisted acquiring the expensive habits that some other people pick up as soon as they get enough money to. You know, like houses and cars and children and boats and planes. Art collecting. People tend to think, "I have money now, let me look for some frivolous thing to blow it on." But my idea was, "I'm going to save this so that in the future I won't have any worries about it." Living cheaply helps doing that. It also enabled me to decide what I was going to do with my life instead of having money decide for me.
LinuxWorld Today: Are you still writing software?
Richard Stallman: Not an awful lot. I've been forced to promote myself into management.
LinuxWorld Today: So you're providing the leadership for FSF.
Richard Stallman: Well, I try to. I still find time to fix bugs in Emacs and to add new features. But it's not as much time as I wish.
LinuxWorld Today: Do you spend most of your time on the speaking circuit? Doing shows like this?
Richard Stallman: I spend most of my time traveling. That's partly because when I go someplace, I try to enjoy it. So I don't just go there and go out again as soon as possible. Usually I stay there for a while. That's if it's a place I enjoy going. If it's a place that I don't particularly want to go, then I would only go there if I thought it was really important.
LinuxWorld Today: It's a big thrill for me to meet you.
Richard Stallman: So spread the word, that this is about freedom.
LinuxWorld Today: That is your message.
Richard Stallman: Urge people to endorse the free software philosophy instead of the open source philosophy.
LinuxWorld Today: And the distinction being?
Richard Stallman: The distinction is the open source philosophy is about how to make reliable, powerful software. They emphasize the practical values. And they are not wrong, but they are not everything. I think that freedom is more important than powerful, reliable software. All else being equal, I want powerful, more reliable software. But if I have to choose between a more powerful program or my freedom, I would choose my freedom.
I will use free software even if it is less powerful, or less reliable, because freedom is the most important thing, and that is what the Free Software movement is about. How we get freedom. We want to make software powerful and reliable, because that way more people will use it and have freedom.
LinuxWorld Today: Why doesn't the Free Software Foundation approach Netscape, AOL, whoever, and say "Give us Mozilla, and we'll complete the project."
Richard Stallman: Well, I never thought of it. I don't know if we can do technically a better job than they are doing, maybe we could. I see no reason to think that Netscape wants to give it up. Do they want to? I mean, I haven't heard. I suspect that they want to finish it.
LinuxWorld Today: I'm sure they do, but there are a lot of people unhappy with the licensing, perhaps.
Richard Stallman: I'm unhappy with the licensing of Netscape. It's a free software license, but it has certain flaws. I've asked them to change it; whether they will, well, that's up to them.
LinuxWorld Today: But they are not getting buy-in from the developer community.
Richard Stallman: That's an interesting phenomenon. I don't know why that is. I don't remember exactly what [Mozilla's lead developer] Jamie Zawinski said the reason was. Do you remember?
LinuxWorld Today: Yes. He gave several reasons. Number one, it is very, very complex software. Expectations were too high to deliver too much too soon. It is not a trivial task. Number two, he said that Netscape was doing all the development, or 90 percent of the development.
Richard Stallman: What was his reason for why other people didn't join in? Does he have an idea of why that is? He wouldn't necessarily know. None of us would necessarily know. But he would have maybe been paying attention to figure out why people didn't join in.
LinuxWorld Today: I don't believe he said why.
Richard Stallman: I don't know why. I think that maybe the fact that their license was not an unbiased license, it gave Netscape special privilege with other people's code. I can imagine that was part of the reason.
LinuxWorld Today: Whatever the reasons are, it hasn't received social acceptance.
Richard Stallman: It's also conceivable that Netscape is competing with itself. People who are not firmly committed to free software and to freedom think it is okay to use Netscape. That is, not Mozilla, but the Netscape browser that is still available as binaries only. And if they are happy using that, then they see no reason to worry about or care about Mozilla.
LinuxWorld Today: What browser do you use?
Richard Stallman: I use Lynx. I'm not terribly interested in pictures anyway. I consider eye-candy distracting and annoying in Web pages. It makes them hard to read and the ads are likely to be graphical, and I don't want to see the ads.
LinuxWorld Today: I'm struck by the fact that two of the ways you've made a living since beginning this walk are very similar to what Michael Tiemann, co-founder of Cygnus Solutions, has done, except on an individual basis instead of on a corporate basis.
Richard Stallman: Absolutely. Indeed.
LinuxWorld Today: Michael Tiemann told me that when he read the GNU Manifesto, he saw a business plan where others saw what you were saying.
Richard Stallman: Well, actually, he may have seen one aspect of what was there. Because I talked in the GNU Manifesto about ways that there could be free software businesses. But my main concern was not about business, it was about freedom.
Yes, I've done business. I've personally done free software business. I think that free software business is a good thing. But although we do business to make a living and live, there are things that are above and beyond that. Such as making the world a better place. So I was aiming for something beyond making a living. Yes, I do business to make a living, and I'm not ashamed of that. But if that's all I did, it wouldn't be so important.
LinuxWorld Today: The concepts of freedom, as you have given them, as they apply to software -- to what other forms of expression should they apply?
Richard Stallman: Some of the issues transfer over to things to things like books and music that you may have on your computer, and some of them don't. For some of them it is useful to make modifications of them, and for some of them it's not.
LinuxWorld Today: Because of their utility?
Richard Stallman: Because of how people use them and what they are made of. Making changes in novels is not as important as it is in software. Programs are made to be run, whereas novels are made to be appreciated. So, it is essential that people have the freedom to make changes to software and publish the modified versions. I don't think it is essential to have that freedom for novels.
But on the other hand, the freedom to make a copy for your friends is essential for any kind of thing that might be published and you might have on your computer.
LinuxWorld Today: How can people get involved with the Free Software Foundation?
Richard Stallman: Take a look at www.gnu.org. We've got a number of suggestions for how people can help by writing code or helping to administer our systems if you're a good system admin wanting to work, or by writing documentation. We really need documentation. We need good documentation writers more than we need good programmers. So if you've got the skill to write good documentation, that's what you should do. When people show up to program, offering to write software, and I find out they can write documentation, I beg them to write documentation instead. Because good documentation is essential and for a free system we need free documentation. Documentation that we can distribute as part of the system. There are many manuals that are published about free software, but most of them are not free. Of course, I'm always talking about freedom, not price. The problem is that the text of these manuals is restricted. You are not allowed to copy them and redistribute them and publish modified versions of them.
LinuxWorld Today: Have you heard about the book that IDG Books, LinuxWorld, Nicholas Petreley, and I are going to do? The OpenBook?
Richard Stallman: No, but I may be interested in it.
LinuxWorld Today: It will be freely redistributable and modifiable.
Richard Stallman: Wow. Well if that's the case, then that sounds exactly like what we need more of. Be sure and tell me about it.
LinuxWorld Today: I certainly will. It will be written by the community, Nicholas and I will only serve as editors.
Richard Stallman: What will it be about?
LinuxWorld Today: It will be about "Essential Linux."
Richard Stallman: I hope you'll call it GNU/Linux.
[March. 10, 1999] Richard Stallman opens Singapore Linux conference
.Without the freedom to adapt software for your own needs, to help your neighbor by redistributing the software, and build the community by adding new features, you get caught in a horrible proprietary tyranny and lose your morale and enthusiasm |
Giving the opening keynote at the Singapore Linux conference on Saturday, Stallman said that free software -- in terms of freedom to use, modify and redistribute source code -- would have made the Y2K problem easier to handle. "Users who bought proprietary software are now helpless in the face of Y2K because they never had the source code," he said. "You now see companies having to try and patch binaries and all sorts of terrible things. Proprietary software means proprietary support, where you have to wait for the vendor to give you an upgrade."
"When you sign a software licensing agreement, you make yourself the prisoner of that software," he said. "Without the freedom to adapt software for your own needs, to help your neighbor by redistributing the software, and build the community by adding new features, you get caught in a horrible proprietary tyranny and lose your morale and enthusiasm," he added.
"One basis for society is that of helping your neighbor -- but in the software world this is piracy," Stallman said. "To prevent this, the U.S. is putting in place practices which are like those in the former Soviet Union -- computerized guards, propaganda in favor of licensing, rewards for informing on co-workers, and penalties which make distributing software as serious a crime as armed robbery."
Stallman said that proprietary software not only represents a restrictive regime, but that much of it is less functional than earlier collaborative software.
"MS-DOS gave people a strange idea of what an operating system (OS) was," he said. "OSes used to have lots of stuff included in them -- not just a kernel. No single company in the world can match the resources of an entire computing community."
Stallman's decision to start the GNU project in 1984 to develop free software came about when he considered the alternative of writing proprietary software, he said.
"I would have been able to use my programming skills, but I would have been abusing them," he said. "I would have looked back and realized I had spent my life building walls and helping to divide and conquer people. My conscience would not allow me to take part in this disgusting social system."
By 1990, Stallman said, GNU had everything in its Unix-compatible OS except a kernel, and his group decided to adopt the Linux kernel. The result was not only free software, Stallman said, but an OS with the greatest amount of support available.
Stallman said that the concept of free software is not to prevent companies making money, but just to give people the ability to freely use a product they have bought.
"Business and making money are not bad, unless they're
based on bad things," he said. "You should keep respect for people's freedom
to cooperate. You may not be able to make as much money as Bill Gates, but
I don't see that as a tragedy."
Neither Stallman nor anyone from his Free Software Foundation was invited to O'Reilly's first Open Source Summit, held in Palo Alto, CA, last April. According to O'Reilly Software Director Gina Blaber, "The Free Software Foundation believes it's immoral to own intellectual property. That seemed like interesting ground for a spirited debate, but not on-target for the purposes of the Summit."
Indeed, Stallman provided an interesting counterpoint to the general sense of open source boosterism at the event. His first comments to the audience were, "I'm not an open source developer; I'm a free software developer." Stallman then went on to criticize John Ousterhout's Scriptics Corp. for not releasing its Tcl code under the GNU Public License (GPL). Stallman also disputed a claim by Netscape's Jim Hamerly that his company was forced to discard a GPL-type licensing arrangement for Communicator because it feared such a move would create two separate development trees. Hamerly maintained that Netscape partners who wished to retain control of their source code would then be forced into a separate (Mozilla Public License) tree from those who chose the open source (GPL) route. According to Stallman, opening up Communicator to the GPL would simply force all independent software vendors (ISVs) to write to the GPL tree.
Ousterhout, whose company Scriptics is releasing some but not all of the software it develops free of charge, provided another perspective on the free software debate. Taking issue with Stallman, he called the GPL a "really bad idea." As he put it, "If you use the GPL," which compels developers who make improvements to GPL-licensed software to release their changes open source and free of charge to the public, "you are ruling out a class of users." This assertion was echoed by Netscape's Hamerly. According to one developer, who asked not to be identified for fear of retribution by flame mail, this "class of users" would include Fortune 500 companies, fearful that GPL-based in-house development work may be given away to competitors. "They're scared to death of [the GPL] in Fortune 500 companies," he said.
Q: Is the interest of Intel and Netscape and the other large companies a good thing for the free-software movement?
A: I don't know. I worry that it may not be. The reason is, I've been very happy to see the decisions that Red Hat has been making. So, with Red Hat making better and better decisions on its own, I'm afraid there's nowhere to go but down.
Q: Is it critical that free software be adopted by the mainstream corporate world.
A: I don't think so. I would like all software that everyone uses to be free. But I wouldn't say that what is done by corporations is more important than what's done by individuals. Corporations just aren't more important than individuals. In no area of life should we be treating corporations as things that really matter. And that includes this.
The Code of the Freedom Fighter
Stallman likes Linux too, but not references to 'the Linux operating system'. He always calls it GNU/Linux, to reflect the fact that Torvalds wrote only one small part, albeit at the operating system's heart. Much more of the code was developed as part of Stallman's project to produce a free Unix-compatible operating system called GNU (sound the G, like the Flanders and Swann Gnu song) which stands for 'Gnu is Not Unix'. Stallman was also the principal or initial author of GNU Emacs, the standard Unix word processor, the GCC compiler used for writing programs written in C, the GDB debugger for finding and fixing code errors, and parts of other programs usually shipped as part of Linux.
Stallman's point is that Linux is "totally useless by itself" while GNU can be run on top of a different kernel. A preliminary version of GNU's own more advanced kernel, Hurd, was released for programmers about a year ago, and Stallman says a version for users is on the way. It will be published by Debian as Debian GNU/Hurd, alongside Debian GNU/Linux.
But Stallman's philosophy is exactly what Eric Raymond, a contributor to the GNU project is trying to dump. Raymond, a programmer in Malvern, Pennsylvania, editor of The New Hacker's Dictionary and 'neo-pagan libertarian' with a taste for guns, refers to Stallman as 'that crazy guy from Boston'. In April he told Salon (http://www.salonmag.com): 'I love Richard dearly, and we've been friends since the '70s and he's done valuable service to our community, but in the battle we are fighting now, ideology is just a handicap. We need to be making arguments based on economics and development processes and expected return. We do not need to behave like Communards pumping our fists on the barricades. This is a losing strategy.'
Raymond's big break came thanks to a conference paper called The Cathedral and the Bazaar, which he posted on the Web. It presented a cogent argument for the development of open software — essentially publishing the source code of programs and inviting the hacker community to improve them. The paper helped to persuade embattled Netscape to open up the source code of its popular Web browser, Navigator. This was not so much to provide users with freedom (though it did) , as to bring in outsiders to help defray the cost of improving a program Netscape felt forced to give away in its fight for market share with Microsoft.
To capitalise on this breakthrough, Raymond organized a strategy meeting in Palo Alto, California, in February. 'We realized it was time to dump the confrontational attitude associated with 'free software' and sell the idea strictly on the same pragmatic grounds that motivated Netscape. We brainstormed about tactics and a new label. 'Open Source', contributed by Chris Peterson [of the Foresight Institute, in Palo Alto], was the best thing we came up with,' he wrote. Thus was a new movement born.
First we tried to sneak in through a side door of the Gates building. Over a lunch of ribs, duck, trout and popcorn shrimp at Palo Alto's MacArthur Park restaurant, Stallman had told me that he didn't despise Bill Gates as much as other free software guerrilla fighters do. But he clearly wasn't eager to legitimize Gates' stature by walking submissively through his totemic gate. Free software and Microsoft don't mix. There had to be a better way.
Would the movement to deride Gates have as much success? Stallman didn't know and didn't care. As he pointed out to me repeatedly through the course of our afternoon together, he doesn't do things because they are socially acceptable or strategically appropriate. Success is not his measure for accomplishment. He does what he does because he thinks it is the morally correct, or simply fun, thing to do. And he brooks no compromise.
Richard Stallman Interview by Hiroo Yamagata see also http://www.twics.com/~tlug/rms.html
The Right to Read - GNU Project - Free Software Foundation (FSF)
This article appeared in the February 1997 issue of Communications of the ACM (Volume 40, Number 2).
(from "The Road To Tycho", a collection of articles about the antecedents of the Lunarian Revolution, published in Luna City in 2096)
For Dan Halbert, the road to Tycho began in college--when Lissa Lenz asked to borrow his computer. Hers had broken down, and unless she could borrow another, she would fail her midterm project. There was no one she dared ask, except Dan.
This put Dan in a dilemma. He had to help her--but if he lent her his computer, she might read his books. Aside from the fact that you could go to prison for many years for letting someone else read your books, the very idea shocked him at first. Like everyone, he had been taught since elementary school that sharing books was nasty and wrong--something that only pirates would do.
And there wasn't much chance that the SPA--the Software Protection Authority--would fail to catch him. In his software class, Dan had learned that each book had a copyright monitor that reported when and where it was read, and by whom, to Central Licensing. (They used this information to catch reading pirates, but also to sell personal interest profiles to retailers.) The next time his computer was networked, Central Licensing would find out. He, as computer owner, would receive the harshest punishment--for not taking pains to prevent the crime.
Of course, Lissa did not necessarily intend to read his books. She might want the computer only to write her midterm. But Dan knew she came from a middle-class family and could hardly afford the tuition, let alone her reading fees. Reading his books might be the only way she could graduate. He understood this situation; he himself had had to borrow to pay for all the research papers he read. (10% of those fees went to the researchers who wrote the papers; since Dan aimed for an academic career, he could hope that his own research papers, if frequently referenced, would bring in enough to repay this loan.)
Later on, Dan would learn there was a time when anyone could go to the library and read journal articles, and even books, without having to pay. There were independent scholars who read thousands of pages without government library grants. But in the 1990s, both commercial and nonprofit journal publishers had begun charging fees for access. By 2047, libraries offering free public access to scholarly literature were a dim memory.
ConteXto - But are you concerned about these things? Stallman - Somewhat, but not tremendously, because anybody who really wants to use free software will still be able to use GNU. The fact that somebody else is using Windows NT won't stop me from running a GNU system. To some extent, it just means that we would like to have support for compatibility with Windows NT so you could run programs written for Windows NT.
ConteXto - According to the GNU Bulletin, the Free Software Foundation is a small institution. How many people actually work there?
Stallman - Nine people are working for the FSF at the moment, but that doesn't include me. Actually it also doesn't include the treasurer, but he's part time. Normally, there will be a system administrator as well, but ours left recently and we haven't yet hired a new one.
ConteXto - Isn't it difficult to coordinate all these development efforts?
Stallman - Yes, it is. One problem is that a lot of the work is done by people who are volunteers; who have their own goals in mind. They have other demands on their time; they have not made a commitment to do things. Often, they initially do a job in a way that appeals to them, and it may then require rewriting to get it to fit in with the overall design aim of the program it's supposed to add to, so we have to persuade the person to do that.
ConteXto - The lack of support seems to have always been the main problem for the acceptance of the GNU software.
Stallman - This is not true, there is no lack of support. It's a myth. Various forms of support are available, unlike proprietary software where you are entirely dependent on the supplier.
Firstly, if you have a problem to solve, a suggestion to make or a defect to report, then send it in to the mailing list or newsgroup (special interest group) that deals with the program. You can find more information about these groups in the documentation that accompanies the program sources. As for any software supplier there is no guarantee that your suggestions will be adopted, but faults are generally fixed quickly and entirely free. In some more urgent cases patches are issued which can be applied to the source code.
If you need changes or more comprehensive help there are several companies specialized in providing paid support for free software products. Finally, as sources are always supplied, you can simply employ a programmer to make whatever modifications you need.
ConteXto - Some enterprises like Cygnus Support in California have started to occupy the free software support market. How are they going and how big do you think the market is?
Stallman - My understanding is that there are now three free software support companies in the US: one is Cygnus, one is called Cyclic - they provide support for CVS, and one is called AdaCore Technologies and they provide support for GNU Ada. My understanding is that they are all being successful. I don't know quite how successful. Don't ask me to estimate the size of the market. I'm not a businessman, I'm a revolutionary (laughter).
ConteXto - The GNU General Public License is the legalese that tries to enforce good citizenship among the users of the GNU tools. Could you tell us what it means in common terms?
Stallman - When I started the GNU Project, it was only a few years after I saw the death of the old free software community and I saw that part of the reason it died was that people who are greedy could easily take without giving; they could privatize things that had been public. The community had no defense against marauders. So I decided to try to set up a defense. I had an idea of what it would mean to be a good citizen of the community, which is, essentially, when you add to the free software your improvements are also free. So I decided to design a legal framework to make that a requirement for using the GNU software. The document I designed with the help of a lawyer is the GNU General Public License. It's a special case of the general idea I call copyleft.
The idea of copyleft is that you're free to redistribute the software and change the software. But, when you redistribute it, you must pass along the same freedoms that you received. In other words, it's not allowed to get the software, strip away the freedom and pass it on without freedom. This is a way of protecting the freedom of every user. I made the decision to do this, because I had seen alternatives such as, for example, TeX and, later on, X Window, where
the software was distributed free by the developer but not copylefted. The end result was that companies would come along, they'd make a few modifications, maybe a small number, maybe a lot, and they would give out the result as a proprietary product, binaries only. The result was that for many users it was not free software.
My goal was to give freedom to everybody and so, if I wrote a program and it was used by millions of people in a proprietary modified version, I would feel I'd failed. I'd feel it was a waste of time to write that program, because I'd not have given those people any freedom, for then they'll have as little freedom as Microsoft users. So, I decided it was crucial to have a copyleft. Crucial as some legal way of making sure that if a company wants to modify the program and redistribute the modified version, that modified version must also be free software. That is, the people who get it from the company must have the same freedoms as people who get the original version from me.
You can think of copyleft as the mirror image of copyright. Copyright is used by right-wing people for right-wing goals, meaning: subjugate the rest of humanity and get rich. Whereas copyleft is used by left-wing people for a left-wing purpose, which is: encourage cooperation, give everybody individual freedom and encourage general prosperity. The GNU General Public License is the specific legal document that we use to implement copyleft and there can be many different ways of doing copyleft and many details could be different, but we use this one because it's designed so that all GNU programs can have the same distribution terms. That avoids any difficulty legally about moving code from one to another.
I should point out that some GNU programs have more permissive distribution terms, for example the C library is distributed under something called the Library General Public License, which permits linking the library into non-free applications; however, if people distribute the library itself or a modified library, they have to do that as free software.
ConteXto - It seems that today the two most widely used versions of Emacs are yours and its derivative called XEmacs. Do you think XEmacs is growing in acceptance due to its better support for graphics? Is there any plan to merge these two versions?
Stallman - I would like to merge them. First of all, I don't know how much anybody uses one or the other, as I have no way of knowing. I wish we could merge the two versions, but the people who developed the XEmacs modifications are not interested in cooperating. One can speculate about why but I don't really know why.
At the moment, one of the main obstacles has to do with getting certain legal papers that we want before we put code into any existing GNU program. We ask every author to sign a copyright assignment to give the copyright to the Free Software Foundation. Now, we do this so that we'll be in a good position to go to court and enforce the General Public License if somebody doesn't choose to obey it voluntarily. Some of the people who wrote the XEmacs changes have refused to sign these papers, some of them have signed.
In any case, I've basically given up hope of merging them. I might be able to use some of the display code because I do have the appropriate legal papers for that. The question is: is there a version that works well enough for which I have legal papers for everything that is in the display code? I'm not sure of that. Anyway, it might be easier for me to write it myself. The main thing is will I have time? Also will I have time to do the merging? As of the moment, nothing is happening, but we'll see.
ConteXto - Until recently, the GNU C++ compiler was one of the most up-to-date with regard to support for the new features incorporated in the language by the ANSI Standardization Committee.
Stallman - Oh, C++. I don't know anything about C++, I'm afraid. I don't like the language and I'm not the person who works on that part of the compiler. I know that a lot of work has been done now on exception handling, one of the things I always wanted in it and I know that's one of the things in C++ that's needed and that's not fully implemented.
Actually, an implementation of exception handling is getting put into the compiler now. It's designed to be language independent in the sense that, if you put a cleanup handler in one language and then through that frame an exception gets generated and propagates within another language, the cleanups will get run. That's a very important thing. I want to have exception constructs in C. I'm sure we'll get that done eventually. But, other than that, I basically don't know a lot about C++ and therefore I'm just not capable of answering.
ConteXto - What about Perl?
Stallman - I don't know Perl. I once thought that maybe I should learn Perl and I took a look at the manual. It was unreadable. And also I saw this language has so many different features, it's such a hodgepodge of features that I decided I just don't like that. It made me think of PL/1 (laughter).
DB: All right. What is it then, why is it important?
RS: Free software is a matter of freedom, not price. Free software means that you the user have certain freedoms. The freedom to run the program, the freedom to adapt the program to your own needs by reading the source code and changing the parts that don't suit you. The freedom to help your neighbor by giving your neighbor a copy of the program, and the freedom to help build your community by adding new capabilities to the program and releasing them so other people can use them and further build on them. This is important because it permits voluntary cooperation. It encourages civic spirit.
Every society depends on good will to function. There is no other possible basis for a livable world. People have tried alternatives to good will, for example one alternative was to have a centralized organization tell everybody how to work together. But that didn't work well. Another alternative was to encourage everyone to be totally selfish, and hope that enlightened self-interest would encourage everyone to work together. But that doesn't work well. The general fellowship that leads you to tell someone the time of day, even though you are not going to make any money from it, is what makes the world go round. The most fundamental way of helping other people is to teach people how to do things better, to tell people things that you know that will enable them to better their lives. For people who use computers, this means sharing the recipes you use on your computer, in other words the programs you run. Sharing software between computer users is the most natural form of cooperation. What I decided in the early 1980s was that using computers is only a good way of living if I could do this. However, by that time, most of the software people could use had owners that wouldn't let people share the software or learn how it worked, or change it or improve it. Using software their way was not a way of life I wanted to participate in.
DB: What I mean is that it seems at some point people decided to no longer be sharing software the way they had been.
RS: What happened was that a student at Carnegie Mellon wrote a text-formatting program and then surprised everyone by selling it to a company, instead of sharing it with the community. The company was very proprietary about it, and very obnoxiously put time bombs into it. Somebody I know spent hours debugging why our copy had ceased to work. Eventually he came across the time bomb which had been put in there purely for profit-insuring purposes. He was extremely angry that he had wasted all that time on a bug that had been deliberately created. From the view point of people in the software sharing community, anything artificially put in to stop people from running a program is simply a deliberate bug.
The problem was that nobody censured or punished this student for what he did. He got away with it. The result was other people got tempted to follow his example. Many years [ago] he stated that he believed his own program was much less used as a result of his decision, that it would have become far more popular and influential if he had shared is as was normal.
DB: Is this what might be meant by the phrase the "Hacker Ethic?"
RS: Somewhat. Indeed, the hacker ethic, I should explain first of all who hackers are. In 1971 when I joined the staff of the MIT Artificial Intelligence lab, all of us who helped develop the operating system software, we called ourselves hackers. We were not breaking any laws, at least not in doing the hacking we were paid to do. We were developing software and we were having fun. Hacking refers to the spirit of fun in which we were developing software. The hacker ethic refers to the feelings of right and wrong, to the ethical ideas this community of people had -- that knowledge should be shared with other people who can benefit from it, and that important resources should be utilized rather than wasted.
Back in those days computers were quite scarce, and one thing about our computer was it would execute about a third-of-a-million instructions every second, and it would do so whether there was any need to do so or not. If no one used these instructions, they would be wasted. So to have an administrator say, "well you people can use a computer and all the rest of you can't," means that if none of those officially authorized people wanted to use the machine that second, it would go to waste. For many hours every morning it would mostly go to waste. So we decided that was a shame. Anyone should be able to use it who could make use of it, rather than just throwing it away.
In general we did not tolerate bureaucratic obstructionism. We felt, "this computer is here, it was bought by the public, it is here to advance human knowledge and do whatever is constructive and useful." So we felt it was better to let anyone at all use it -- to learn about programming, or do any other kind of work other than commercial activity.
When I started programming, it was 1969, and I did it in an IBM laboratory in New York. After that I went to a school with a computer science department that was probably like most of them. There were some professors that were in charge of what was supposed to be done, and there were people who decided who could use what. There was a shortage of terminals for most people, but a lot of the professors had terminals of their own in their offices, which was wasteful, but typical of their attitude. When I visited the Artificial Intelligence lab at MIT I found a spirit that was refreshingly different from that. For example: there, the terminals was thought of as belonging to everyone, and professors locked them up in their offices on pain of finding their doors broken down. I was actually shown a cart with a big block of iron on it, that had been used to break down the door of one professors office, when he had the gall to lock up a terminal. There were very few terminals in those days, there was probably something like five display terminals for the system, so if one of them was locked up, it was a considerable disaster.
In the years that followed I was inspired by that ideas, and many times I would climb over ceilings or underneath floors to unlock rooms that had machines in them that people needed to use, and I would usually leave behind a note explaining to the people that they shouldn't be so selfish as to lock the door. The people who locked the door were basically considering only themselves. They had a reason of course, there was something they thought might get stolen and they wanted to lock it up, but they didn't care about the other people they were affecting by locking up other things in the same room. Almost every time this happened, once I brought it to their attention, that it was not up to them alone whether that room should be locked, they were able to find a compromise solution: some other place to put the things they were worried about, a desk they could lock, another little room. But the point is that people usually don't bother to think about that. They have the idea: ``This room is Mine, I can lock it, to hell with everyone else'', and that is exactly the spirit that we must teach them not to have.
When books could only be made by mass production, copyright then started to make sense and it also did not take away the freedom of the reading public. As a member of the public who didn't own a printing press, you couldn't copy a book anyway. So you weren't loosing any freedom just because there were copyrights. Thus copyright was invented, and made sense morally because of a technological change. Now the reverse change is happening. Individual copying of information is becoming better and better, and we can see that the ultimate progress of technology is to make it possible to copy any kind of information.
For a piece of information that anyone can copy, the facts are different. And therefore the moral attitudes that fit are different. Our moral attitudes comes from thinking how much it will help people and how much it will hurt people to do certain things. With a material object, you can come and take away this chair, but you couldn't come and copy it. And if you took away the chair, it wouldn't be producing anything, so there's no excuse. I somebody says: ``I did the work to make this one chair, and only one person can have this chair, it might as well me'', we might as well say: ``Yeah, that makes sense''. When a person says: ``I carved the bits on this disk, only one person can have this disk, so don't you dare take it away from me'', well that also make sense. If only one person is going to have the disk, it might as well be the guy who owns that disk.
BYTE: We read your GNU Manifesto in the March 1985 issue of Dr. Dobb's. What has happened since? Was that really the beginning, and how have you progressed since then?
Stallman: The publication in Dr. Dobb's wasn't the beginning of the project. I wrote the GNU Manifesto when I was getting ready to start the project, as a proposal to ask computer manufacturers for funding. They didn't want to get involved, and I decided that rather than spend my time trying to pursue funds, I ought to spend it writing code. The manifesto was published about a year and a half after I had written it, when I had barely begun distributing the GNU EMACS. Since that time, in addition to making GNU EMACS more complete and making it run on many more computers, I have nearly finished the optimizing C compiler and all the other software that is needed for running C programs. This includes a source-level debugger that has many features that the other source-level debuggers on UNIX don't have. For example, it has convenience variables within the debugger so you can save values, and it also has a history of all the values that you have printed out, making it tremendously easier to chase around list structures.
BYTE: What about the kernel?
Stallman: I'm currently planning to start with the kernel that was written at MIT and was released to the public recently with the idea that I would use it. This kernel is called TRIX; it's based on remote procedure call. I still need to add compatibility for a lot of the features of UNIX which it doesn't have currently. I haven't started to work on that yet. I'm finishing the compiler before I go to work on the kernel. I am also going to have to rewrite the file system. I intend to make it failsafe just by having it write blocks in the proper order so that the disk structure is always consistent. Then I want to add version numbers. I have a complicated scheme to reconcile version numbers with the way people usually use UNIX. You have to be able to specify filenames without version numbers, but you also have to be able to specify them with explicit version numbers, and these both need to work with ordinary UNIX programs that have not been modified in any way to deal with the existence of this feature. I think I have a scheme for doing this, and only trying it will show me whether it really does the job.
BYTE: Can you address the implications? You obviously feel that this is an important political and social statement.
Stallman: It is a change. I'm trying to change the way people approach knowledge and information in general. I think that to try to own knowledge, to try to control whether people are allowed to use it, or to try to stop other people from sharing it, is sabotage. It is an activity that benefits the person that does it at the cost of impoverishing all of society. One person gains one dollar by destroying two dollars' worth of wealth. I think a person with a conscience wouldn't do that sort of thing except perhaps if he would otherwise die. And of course the people who do this are fairly rich; I can only conclude that they are unscrupulous. I would like to see people get rewards for writing free software and for encouraging other people to use it. I don't want to see people get rewards for writing proprietary software because that is not really a contribution to society. The principle of capitalism is the idea that people manage to make money by producing things and thereby are encouraged to do what is useful, automatically, so to speak. But that doesn't work when it comes to owning knowledge. They are encouraged to do not really what's useful, and what really is useful is not encouraged. I think it is important to say that information is different from material objects like cars and loaves of bread because people can copy it and share it on their own and, if nobody attempts to stop them, they can change it and make it better for themselves. That is a useful thing for people to do. This isn't true of loaves of bread. If you have one loaf of bread and you want another, you can't just put your loaf of bread into a bread copier. You can't make another one except by going through all the steps that were used to make the first one. It therefore is irrelevant whether people are permitted to copy it--it's impossible. Books were printed only on printing presses until recently. It was possible to make a copy yourself by hand, but it wasn't practical because it took so much more work than using a printing press. And it produced something so much less attractive that, for all intents and purposes, you could act as if it were impossible to make books except by mass producing them. And therefore copyright didn't really take any freedom away from the reading public. There wasn't anything that a book purchaser could do that was forbidden by copyright. But this isn't true for computer programs. It's also not true for tape cassettes. It's partly false now for books, but it is still true that for most books it is more expensive and certainly a lot more work to Xerox them than to buy a copy, and the result is still less attractive. Right now we are in a period where the situation that made copyright harmless and acceptable is changing to a situation where copyright will become destructive and intolerable. So the people who are slandered as "pirates" are in fact the people who are trying to do something useful that they have been forbidden to do. The copyright laws are entirely designed to help people take complete control over the use of some information for their own good. But they aren't designed to help people who want to make sure that the information is accessible to the public and stop others from depriving the public. I think that the law should recognize a class of works that are owned by the public, which is different from public domain in the same sense that a public park is different from something found in a garbage can. It's not there for anybody to take away, it's there for everyone to use but for no one to impede. Anybody in the public who finds himself being deprived of the derivative work of something owned by the public should be able to sue about it.
BYTE: They're all duplicating effort trying to solve bugs independently.
Stallman: Yes. Here is another point that helps put the problem of proprietary information in a social perspective. Think about the liability insurance crisis. In order to get any compensation from society, an injured person has to hire a lawyer and split the money with that lawyer. This is a stupid and inefficient way of helping out people who are victims of accidents. And consider all the time that people put into hustling to take business away from their competition. Think of the pens that are packaged in large cardboard packages that cost more than the pen--just to make sure that the pen isn't stolen. Wouldn't it be better if we just put free pens on every street corner? And think of all the toll booths that impede the flow of traffic. It's a gigantic social phenomenon. People find ways of getting money by impeding society. Once they can impede society, they can be paid to leave people alone. The waste inherent in owning information will become more and more important and will ultimately make the difference between the utopia in which nobody really has to work for a living because it's all done by robots and a world just like ours where everyone spends much time replicating what the next fellow is doing.
BYTE: A cynic might wonder how you earn your living.
Stallman: From consulting. When I do consulting, I always reserve the right to give away what I wrote for the consulting job. Also, I could be making my living by mailing copies of the free software that I wrote and some that other people wrote. Lots of people send in $150 for GNU EMACS, but now this money goes to the Free Software Foundation that I started. The foundation doesn't pay me a salary because it would be a conflict of interest. Instead, it hires other people to work on GNU. As long as I can go on making a living by consulting I think that's the best way.
Society
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
Quotes
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Bulletin:
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
History:
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
Classic books:
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|
You can use PayPal to to buy a cup of coffee for authors of this site |
Disclaimer:
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.
Last Modified: March 12, 2019