Free as in Freedom in English: Chapter 1. The Fateful Printer
Free as in Freedom in English: Chapter 2. 2001: A Hacker Odyssey
Free as in Freedom in English: Chapter 3. The Portrait of a Hacker in Youth
Free as in Freedom in English: Chapter 4. Debunking the God
Free as in Freedom in Russian: Chapter 5. Stream of Freedom
Free as in Freedom in English: Chapter 6. Emacs Commune
The Dilemma of Absolute Morality
At half past midnight on September 27, 1983, an unusual message appeared in the Usenet group net.unix-wizards signed by rms@mit-oz. The message had a short and extremely enticing title: "A New Implementation of UNIX." But instead of a ready new version of Unix, the reader discovered a call to action:
This Thanksgiving, Iām starting to write a new operating system, fully compatible with Unix, which will be called GNU (GNUās Not Unix). I will freely distribute it to anyone who wants it. I desperately need your time, money, code, equipment ā any help.
In the eyes of an experienced Unix developer, the message appeared to be a blend of idealism and high self-regard. The author was not only attempting to recreate an entire operating system from scratch, which was quite advanced and powerful, but also to improve it. The GNU system was supposed to contain all the necessary components such as a text editor, command shell, compiler, along with "a number of other things." It promised extremely attractive features that were not available in existing Unix systems: a graphical interface written in the Lisp programming language, a fault-tolerant file system, and network protocols based on MITās network architecture.
"GNU will be able to run Unix programs, but it will not be identical to the Unix system," the author wrote, "we will make all the necessary improvements that have become overdue from years of working in various operating systems."
Anticipating a skeptical reaction to his message, the author supplemented it with a brief autobiographical note under the heading: "Who am I?:"
I am Richard Stallman, the creator of the original EMACS editor, one of whose clones you have certainly encountered. I work at the MIT Artificial Intelligence Laboratory. I have extensive experience in developing compilers, editors, debuggers, command interpreters, operating systems ITS and Lisp Machine. I implemented terminal-independent screen support in ITS, as well as a fault-tolerant file system and two window systems for Lisp machines.
It so happened that Stallman's ambitious project did not kick off on Thanksgiving Day, as promised. Only in January 1984 did Richard fully dive into developing Unix-style software. From the perspective of the ITS system architect, it was akin to shifting from building Moorish palaces to constructing suburban shopping centers. However, developing the Unix system also opened up advantages. Despite its power, ITS had a weak pointāit only ran on the DEC PDP-10 computer. By the early 1980s, the laboratory had abandoned the PDP-10, and ITS, which hackers compared to a bustling city, turned into a ghost town. Unix, on the other hand, was initially designed with portability across different computer architectures in mind, so it was not at risk of similar troubles. Developed by junior researchers at AT&T, Unix slipped under corporate radars and found a peaceful home in the non-profit world of research centers. With fewer resources than their hacker counterparts at MIT, Unix developers adapted their system to work on a mishmash of hardware. Primarily, this was on the 16-bit PDP-11, which Laboratory hackers deemed unfit for serious tasks, but also on 32-bit mainframes like the VAX 11/780. By 1983, companies like Sun Microsystems had created relatively compact desktop computersā"workstations"ācomparable in power to the old PDP-10 mainframe. The ubiquitous Unix also made its home on these workstations.
Unix portability was achieved through an additional layer of abstraction between applications and hardware. Instead of writing programs in the specific machine codes of a particular computer, as hackers at the Lab did while developing programs for ITS on the PDP-10, Unix developers used the high-level programming language C, which was not tied to any specific hardware platform. The developers focused on standardizing the interfaces through which different parts of the operating system interacted with each other. As a result, a system emerged where any part could be modified without affecting all other parts or disrupting their functionality. To port the system from one hardware architecture to another, it was sufficient to redesign only one part of the system, rather than rewriting the whole thing. Experts appreciated this incredible level of flexibility and convenience, which is why Unix quickly spread throughout the computing world.
Stallman decided to create the GNU system due to the demise of ITS, the beloved creation of the AI Lab hackers. The death of ITS was a blow to them, including Richard. While the incident with the Xerox laser printer opened his eyes to the injustice of proprietary licenses, the demise of ITS pushed him from rejecting closed software to actively opposing it.
The reasons for the demise of ITS, like its code, went far back in time. By 1980, most of the Lab's hackers were already working on a Lisp machine and the operating system for it.
Lisp is an elegant programming language ideally suited for working with data whose structure is not known in advance. It was created by the pioneer of artificial intelligence research and the originator of the term 'artificial intelligence', John McCarthy, who worked at MIT in the late 1950s. The name of the language is an abbreviation of 'LISt Processing'. After McCarthy left MIT for Stanford, hackers at the Lab made some modifications to Lisp, creating its local dialect MACLISP, where the first three letters stood for the MAC project, which led to the establishment of the AI Lab at MIT. Under the guidance of system architect Richard Greenblatt, the Lab's hackers developed the Lisp machineāa specialized computer for executing programs in Lisp, as well as an operating system for this computer, which was also written in Lisp.
By the early 1980s, competing hacker groups had founded two companies to manufacture and sell Lisp machines. Greenblatt's company was called Lisp Machines Incorporated, or simply LMI. He aimed to operate without external investments and to create a purely 'hacker company'. However, most of the hackers joined Symbolics, a conventional commercial startup. By 1982, they had completely left MIT.
Those who remained could be counted on one hand, which meant that programs and machines were taking longer and longer to repair, or were not repaired at all. And worse still, according to Stallman, 'demographic changes' began at the Lab. Hackers, who had already been in the minority, nearly disappeared, leaving the Lab entirely in the hands of faculty and students, whose attitude towards the PDP-10 was openly hostile.
In 1982, the AI Laboratory replaced its 12-year-old PDP-10 with the DECSYSTEM 20. Applications written for the PDP-10 ran on the new computer without issues since the DECSYSTEM 20 was essentially an upgraded PDP-10. However, the old operating system was entirely unsuitableāITS needed to be ported to the new computer, which meant it had to be almost completely rewritten. This was at a time when almost all the hackers who could have taken on this task had left the Laboratory. So, a commercial operating system, Twenex, quickly took over the new computer. The few hackers who remained at MIT had no choice but to accept this.
"Without hackers to support the creation and maintenance of the operating system, we are doomed," said faculty members and students. "We need a commercial system backed by some company to handle the issues with it themselves." Stallman recalls that this argument turned out to be a cruel mistake, but at that moment, it sounded convincing.
Initially, hackers saw Twenex as yet another embodiment of authoritarian corporatocracy that they were eager to break. Even in the name, the hackers' disdain was reflectedāit was actually called TOPS-20, indicating its continuity with TOPS-10, another commercial system from DEC for PDP-10. However, architecturally, TOPS-20 had nothing in common with TOPS-10. It was based on the Tenex system, which was developed for PDP-10 by Bolt, Beranek and Newman. Stallman started calling the system "Twenex" simply to avoid calling it TOPS-20. "The system was far from top-tier solutions, so I couldn't bring myself to call it by its official name," Stallman recalls, "so I inserted a 'w' into 'Tenex' to make it 'Twenex'." (This name plays on the word "twenty".)
The computer running Twenex/TOPS-20 was ironically called "Oz." The reason was that the DECSYSTEM 20 required a small PDP-11 machine to work as a terminal. One hacker, upon seeing the PDP-11 connected to this computer for the first time, likened it to the grand reveal of the Wizard of Oz. "I am the great and powerful Oz!" he proclaimed. "Just don't pay attention to the little people working for me."
However, in the operating system of the new computer, there was nothing funny anymore. Security and access control were built into Twenex at a fundamental level, and its utilities with applications were also designed with security in mind. The condescending jokes about the security systems at the Laboratory turned into a serious battle for control over the computer. Administrators argued that without security systems, Twenex would be unstable and prone to errors. Hackers insisted that stability and reliability could be achieved much faster by editing the system's source code. However, they were so few in the Laboratory that nobody listened to them.
The hackers thought that they could bypass security restrictions by granting all users 'driver privileges' ā elevated rights allowing them to do much of what a regular user was prohibited from. But in this case, any user could take 'driver privileges' away from any other user, and that user could not reclaim them due to a lack of access rights. Therefore, the hackers decided to gain control over the system by stripping 'driver privileges' from everyone except themselves.
Password cracking and running a debugger during system boot yielded nothing. Failing in the 'coup d'Ʃtat', Stallman sent a message to all Laboratory employees.
'So far, the aristocrats have been defeated,' he wrote, 'but now they have prevailed, and the attempt to seize power has not succeeded.' Richard signed the message: 'Radio Free OZ', so no one would guess it was him. A great disguise, considering that everyone at the Laboratory knew Stallman's stance on security systems and his mockery of passwords. Moreover, Richard's aversion to passwords was well known far beyond MIT. Under Stallman's account, nearly all of ARPAnet ā the precursor to the internet of that time ā accessed the Laboratory's computers. One such 'tourist' was Don Hopkins, a programmer from California, who learned through hacker word-of-mouth that one could log into the famous ITS system at MIT simply by entering 3 letters of Stallman's initials as both the login and password.
"I am endlessly grateful to MIT for allowing me and many others to use their computers freely," says Hopkins. "It meant a lot to all of us."
This "tourist" policy lasted for many years while the ITS system was alive, and MIT management looked at it indulgently. But when the Oz machine became the main bridge from the Lab to ARPAnet, everything changed. Stallman still provided access to his account under the known login and password, but administrators demanded that he change the password and not give it to anyone else. Richard, citing his ethics, refused to work on the Oz machine altogether.
"When passwords began appearing on the computers of the AI Lab, I decided to stick to my belief that there should be no passwords," Stallman later said. "And since I believed that computers didn't need security systems, I shouldn't have to support these measures for their implementation."
Stallman's refusal to bow down to the great and terrible Oz machine showed that tension was growing between the hackers and the Lab management. But this tension was just a pale shadow of the conflict that raged within the hacker collective itself, which had split into two camps: LMI (Lisp Machines Incorporated) and Symbolics.
Symbolics received considerable outside funding, attracting many hackers from the Lab. They worked on the Lisp machine system both at MIT and beyond. By the end of 1980, the company hired 14 Lab employees as consultants to develop their own version of the Lisp machine. The remaining hackers, except for Stallman, worked for LMI. Richard chose not to take sides and, as usual, was on his own.
For a time, hackers hired by Symbolics continued to work at MIT, refining the Lisp machine system. They, like the hackers from LMI, used the MIT license for their code. It required returning changes to MIT but did not require MIT to distribute those changes. Nevertheless, throughout 1981, hackers adhered to a gentlemen's agreement whereby all their improvements were incorporated into the MIT Lisp machine and shared among all users of these machines. This arrangement still maintained some stability within the hacker collective.
But on March 16, 1982 - Stallman well remembers this day, because it was his birthday - the gentleman's agreement came to an end. This happened at the behest of the Symbolics management, which sought to stifle its competitor, LMI, where far fewer hackers worked. The leaders of Symbolics reasoned: if LMI has significantly fewer employees, then it follows that the collaborative work on the Lisp machine benefits it, and if this exchange of developments is stopped, LMI will be destroyed. With this aim in mind, they decided to abuse the wording of the license. Instead of making changes to the MIT version of the system that LMI could use, they began supplying the MIT with the Symbolics version of the system, which they could modify at will. It meant that any testing and editing of the Lisp machine code at MIT only benefited Symbolics.
As the person responsible for maintaining the lab's Lisp machine (for the first few months ā with the help of Greenblatt), Stallman was furious. The hackers at Symbolics provided code with hundreds of changes that caused errors. Considering this an ultimatum, Stallman disconnected the Lab's communication line with Symbolics, swore never to work on machines from that company again, and announced his commitment to working on the MIT Lisp machine to support LMI. 'In my eyes, the Lab was a neutral country, like Belgium during World War II,' Stallman recounts, 'and if Germany invades Belgium, it declares war on Germany and joins Britain and France.'
When the executives at Symbolics noticed that their latest innovations were still appearing on the MIT version of the Lisp machine, they became angry and started accusing the Lab hackers of code theft. However, Stallman did not violate copyright law in any way. He studied the code provided by Symbolics and made logical assumptions about future fixes and improvements, which he then implemented from scratch for the MIT Lisp machine. The leaders of Symbolics did not believe this. They installed spyware on Stallman's terminal that recorded everything Richard did. They hoped to gather evidence of code theft to present to the MIT administration, but even by early 1983, they had almost nothing to show. All they had were a dozen instances where the code from the two systems looked somewhat similar.
When the Lab administrators showed the evidence to Symbolics against Stallman, he refuted it, stating that the code was indeed similar but not identical. He turned the symbolism of Symbolics' management against them: if these bits of similar code were all they could dig up, it only proved that Stallman had not actually stolen any code. This was enough for the Lab managers to approve Stallman's work, which he continued until the end of 1983.
But Stallman changed his approach. To protect himself and the project from any claims by Symbolics, he completely stopped looking at their source codes. He began writing code solely based on documentation. The biggest innovations were not what he awaited from Symbolics, but what he implemented himself, later adding interfaces for compatibility with Symbolics' implementation based on their documentation. He also reviewed the change logs in Symbolics' code to understand what errors they were fixing, and he corrected those errors on his own, using different methods.
What happened strengthened Stallman's resolve. By creating analogs of the new functions from Symbolics, he persuaded the Lab staff to switch to the MIT version of the Lisp machine, which ensured a good level of testing and bug finding. The MIT version was completely open to LMI. 'I wanted to punish Symbolics at any cost,' Stallman recounts. This statement not only indicates that Richard's character is far from pacifism but also that the conflict surrounding the Lisp machine struck a nerve with him.
Stallman's desperate resolve can be understood when considering how the situation appeared to him ā as a "destruction" of his "home", meaning the hacker community and the culture of the AI Lab. Later, Levy conducted an email interview with Stallman, and Richard compared himself to Ishi ā the last known representative of the Yahi Indian tribe, which was exterminated during the Indian wars of the 1860s and 1870s. This analogy lends an epic, almost mythological grandeur to the events being described. The hackers working at Symbolics saw this in a slightly different light: their company was not destroying or exterminating, but only doing what had long needed to be done. By moving the Lisp machine into the realm of commerce, Symbolics shifted the approach to software design ā instead of tailoring them to the hard-headed templates of hackers, softer and more humane standards of managers were adopted. Stallman was viewed not as a warrior opponent defending the righteous cause, but as a bearer of outdated thinking.
Personal disputes also added fuel to the fire. Even before Symbolics emerged, many hackers had distanced themselves from Stallman, and the situation worsened significantly afterward. "I was no longer invited on trips to Chinatown," Richard recalls, "Greensblatt started a custom: when you want to go out for lunch, you go around colleagues and invite them along, or you send them a message. Somewhere around 1980-1981, I stopped getting invitations. They not only didnāt invite me, but as one person later admitted to me, they pressured others not to tell me about planned lunch trips."
Source: linux.org.ru

