Sunday, April 25, 2004

Richard Stallman

I want to write again about Richard Stallman’s talk on the origins of the free software movement at the Yorktown High School Libre Users Group. It is, without exception, the most remarkable technology presentation I have ever heard.

Free software goes back to the very beginning of computing, when all programmers referred to themselves as hackers; hacking meant doing things with playful cleverness (ahh, innocent days indeed.) In those days, if you saw something interesting on someone’s screen, you could ask about it and they would tell you where to find the exe file. That enabled anyone to experiment with the program and contribute to human knowledge. The “share spirit” was strongest and most intense at the artificial intelligence laboratory at MIT. Technoflak thought to herself that it must have been an idyllic world for programmers.

The MIT AI lab had a printer that took a long time to print and frequently jammed. The programmer's solution was to write a little program from the printer to each workstation, notifying the user that their printing job was done. If the printer became jammed, a signal would be sent to every workstation, insuring that someone would come and fix the printer. Stallman said that “the end-to-end feedback made the user feel like they were part of the system”.

Sometime around 1980, Xerox contributed a new printer to the laboratory. It was to be Stallman’s first encounter with a proprietary system. When the new printer jammed, it sent no signal to users. It was not uncommon to wait for your printing job to finish, walk up to the printer, and find it jammed. Programmers would fix it, only to have 200 pages of someone else’s work print out, and then jam again. To the programmers, the solution seemed obvious, just ask Xerox for the source code and then write a user-notification program. But Xerox refused to release their precious code and Stallman was furious, his fury undiminished by succeeding years. He learned that there was someone at Carnegie Mellon who had the source code, and so he traveled all the way to Pittsburgh only to be told, “No, I promised I wouldn’t give it to you.” Stallman saw this as a promise that should never be made, for it is a promise that you will not help people.

He emphasized the distinction between information that is technically useful, and information which is legitimately private personal information. (While it isn’t personal, he clearly included information such as ICBM codes as information which is legitimately secret.)

A series of what Stallman described as calamitous events, including Digital’s cancellation of the PDP10, led to the end of his work at MIT. The loss of the PDP10 was especially serious as fifteen years worth of work was blown away. This taught Stallman the importance of having an operating system that was not dependent on specific hardware. All the remaining operating systems were proprietary and he was faced with a quandary. Should he become Shaw’s reasonable man? and accept the change to developing proprietary hardware? To Stallman this meant a life of building walls between people, work that would be shameful. He decided that he had been selected by circumstances to create a free operating system and this was the best thing he could do with his life.

Stallman decided to build on the existing Unix kernel because Unix is not hardware dependent. This decision simplified many design decisions. Because users do not like too much change, his system would be upwardly compatible with Unix and preserve existing user interfaces. Because programmers like to select recursive and humorous names for their programs, he selected the name gnu (gnu-not-unix, pronounced g-nu), because he considered gnu to be the funniest word in the English language. In September of 1984 he produced a text editor, Emacs, and subsequently put Gnu Emacs on an FTP file server. Some programmers did not have access to the Internet (or arpanet, as it was in those days) and they asked Stallman to send a disc with the program. He asked for $150.00 for the program on disc; as he said, when you think of free software, think of free speech, not free beer.

To be free, software must have the four freedoms:

freedom to run as you wish
freedom to to help yourself by making necessary adjustments (access to source code)
freedom to help your neighbor
freedom to help your community, so others can benefit from your work.

If software is missing any of those characteristics, it is not free.

Stallman observed that the spirit of goodwill is the most important aspect of any society. Without at least minimal goodwill, society is unsustainable, and he asked, “What does it mean when powerful institutions undermine this?” In saying this Stallman was leading by example, for can you imagine Ballmer or Gates coming to a high school computer club just because a former student was a member?

He explained the necessity for free software. You must have the freedom to run a program, or you don’t control your computer. You need to be able to study and change the program or simply have blind faith in the developer. Stallman pointed out that it is not unusual for non-free software to have malicious features such as spyware. Even if the developer of non-free software is entirely honorable, it is almost certain the software has bugs. Without the source code the user is helpless. Developers can charge users to fix defective code.

Without freedom three, the freedom to help your neighbor, even those who understand technology, are unable to help those who do not. Those who do not understand computer code, and have no interest in learning, cannot get competitive quotes to fix defective code.

Stallman characterized choosing from competing non-free systems as choosing who is going to manipulate your computer, who is going to be your master.

The original X Windows system had been developed by MIT as free software. Microsoft modified the system and sold it as proprietary. While this was a nice professional success for those who created the original X Windows system, Stallman wanted more for his system, so he created copy left. In the best tradition of playful mischievousness, Stallman used the copyright system to defeat the copyright system.

Linus Torvalds began the development of Linux by asking for help on a usenet group and by 1992 released the first Linux kernel. Stallman characterized it as old fashioned monolithic software and resilient under GNU and said it “carried us across the finish line.”

But the confusion of calling it Linux was a terrible blow to the free software movement. People were using Gnu with Linux added, but didn’t know it. They didn’t know anything about Gnu and the philosophy that created it, and so using Gnu did not lead them to the free software movement. People began to look to Torvalds for leadership, and since Torvalds takes an apolitical view of software, people were not even discussing the philosophy of free software. Stallman lamented that the free software movement must struggle to make its voice heard, even as many more adopt “the practical fruit of our ideals.” If more people knew the philosophy that produced the system, at least some would be drawn to it and make their own contribution. (It should be noted that the Yorktown HS Linux Users Group changed its name to Libre Users Group, in recognition of the true origin of free software.) Stallman built the Gnu system so that “we could live in freedom, and living in freedom is what is important.” The work of the free software movement is not done: thousands of programs are needed to satisfy users.

Stallman talked about the enemies of free software, the Digital Millennium Copyright Act, software patents, and the hostile rulings of the current FCC. Stallman said Microsoft was taking out patents for the express purpose of launching lawsuits. The FCC has prohibited the use of free software to receive TV signals. There have been attempts to add non-free software onto free software. Hardware specifications are secret, so it is difficult to develop free software for hardware.

Stallman poured scorn over the trusted computer initiative, describing it as treacherous computing, for your computer would cease to be a general purpose computer and every operation may require the application developer’s explicit permission.

Stallman ended his presentation with the playful cleverness that has become the mark of all his work, as he proclaimed himself a “saint in the Church of Emacs, whose only teaching is that there is no system but Gnu and Linux is one of its kernels.” He called on the assembled audience to exorcise proprietary software from their computers, use only holy free operating systems and only free software. There was a prolonged standing ovation, unique in my experience in technology presentations.

Amazingly Stallman took questions. He had flown in from Vietnam earlier in the day; how he could be so eloquent under such circumstances is a complete mystery to Technoflak.

One young man asked him what to do if he was given school assignments in proprietary systems. Stallman suggested the student frame it as a moral issue and that his conscience would not permit him to use proprietary software. Others wanted to know how they could support the free software movement, and Stallman suggested that in addition to supporting the Free Software Foundation they also support the Electronic Frontier Foundation.

He spoke about the deliberate confusion of a term like intellectual property and drew the distinctions between patents, copyright and trademark law. He likened the idea of intellectual property law to fluid law. (We do not speak of fluid law of course, as if water, petroleum and fruit juice were governed by related laws.)

Technoflak asked him if the free software foundation was participating in the work of the federal XML work group. He said they do not get involved in standards bodies.

Technoflak has mixed feelings about Stallman’s presentation. Having supped so long on the proprietary APPLE™, this Eve has no desire to go skipping into the free software Eden. Moreover, every single client Technoflak has ever promoted has offered proprietary systems, and she is very proud to be associated with them.

But it would be an error to dismiss Stallman as a mere dreamer. The Gnu system, the system most people refer to as Linux, is a product of his philosophy, that living in freedom means using free software.

Again and again he spoke of the connection between free software and political freedom. “When governments fear the people, that is democracy; when people fear their government, that is tyranny.” Two years ago I would have scoffed at the suggestion that there was a connection, but in view of the controversy over voting machines, I don’t think we can simply dismiss the connection.

Think of the vision Indians must have had to have embraced nonviolence in the 1930’s, when the rest of the world was being sucked into the vortex of war. Think of the courage and spiritual strength that was necessary to believe the British could be made to give up power through a sustained campaign of nonviolent activism. Yet nonviolent resistance prevailed, and has done so in every society that has embraced it, from the American south, to Argentina, to the Philippines, South Africa and across Eastern Europe. Perhaps free software is in the same category, something so far outside our experience that we have a difficult time grasping it, yet once it is embraced on a sustained basis, will become so self-evident that we will wonder that we thought any other way. So, for Richard Stallman, all I can do is repeat the words of Ghandi-

first they ignore you
then they ridicule you
then they fight you
then you win.


Anonymous said...

i think you mean arpanet, not arapnet?
feel free to delete comment after editing


Anonymous said...

Did he eat anything from his foot?

cestmoi said...

so let me get this straight:
you are comparing the struggle of the gnu or linux user with that of oppressed minorities who were isolated, resettled, beaten, killed and dehumanized.

You are comparing the free software user to the ANC the NAACP and Ghandi?

I use gnu/linux (at home, at work now) and I ask you to please keep things in perspective.

Alice said...

cestmoi - only in this sense, Free Software is a movement that challenges some very powerful players, and it is counter intuitive. Certainly FOSS developers do not face anything like what people in Apartheid SA or Colonial India faced, but certainly theirs is a struggle. I have heard of a case where a FOSS developer was Jailed under charges of violating a patent. What I was saying is that this will be a long term and very uphill struggle. But as more people understand the problems posed by proprietary software, they will turn to FOSS. Or so say I.

Anonymous, thank you for catching that spelling problem.

Alice said...

Let me elaborate, it was in Germany that the FOSS developer was Jailed, and I believe that Stallman talked it about it during his presentation, but perhaps I heard about it elsewhere.

Anonymous said...

Wow. You talk about yourself in the third person? That's a sign of something, and that something ain't good.

Alice said...

Anonymous - It was a device I used when I first started blogging because it seemed comical. After a while I got tired of it. Posts written after 2005 are not in third person.