Originally Published: Friday, 22 September 2000 Author:
Published to: develop_articles/Development Articles Page: 1/1 - [Printable]

The Days Before GNU

In only ten years, possibly much shorter, the software world changed from being a cooperative place where everyone freely shared information, to being a hostile place where protocols and specifications were guarded jealously by their inventors in fear of them being divulged onto competing companies.

   Page 1 of 1  

The date is April 16, 1971, and the place is MIT, Project MAC. Abhay K. Bhushan releases RFC 114: "A File Transfer Protocol." For his protocol, he has defined that the head of each transaction should be 72 bits although the data is only 48 bits. He didn't select 72 by pure coincidence. He selected 72 because it would allow the information to appear at convenient word boundaries on machines with different word lengths (6, 8, 9, 12, ...).

There was never any doubt to him that everyone should be able to use the protocol and use it to spread information across all computers. Some ten years later, Richard M. Stallman called upon Xerox to get the specifications for a new laser printer that had been delivered to MIT. Not only did they refuse to give him the specification, but they also greedily fought to preserve their secrets by asking people to sign Non-Disclosure Agreements when they learned parts of the protocol. Stallman never did get that specification.

In only ten years, possibly much shorter, the software world changed from being a cooperative place where everyone freely shared information, to being a hostile place where protocols and specifications were guarded jealously by their inventors in fear of them being divulged onto competing companies.

This lack of free flow of information is what caused Richard Stallman to start the GNU project, something he enjoys doing even today, although he also takes an interest in other areas where peoples' freedom is being abused. Richard, or RMS as he likes to be called after his login name, began his work at MIT in the early '70s as a systems programmer.

The time-sharing system of choice at that time was ITS (Incompatible Time-sharing System). Unlike the other time-sharing systems, ITS didn't have any passwords. Everyone was free to login to the computer and use the resources to help advance the field of computing, or to make friends at far-away places using the government-funded ARPA network. When management at MIT and ARPA forced an installation of passwords on the MIT computers, RMS had to comply out of fear of losing access to the network that was so important to the free flow of information, but he did it in his own way. He chose his own password to be the empty string, so whenever you needed something from RMS, you could always login using his login name and simply press enter on the password prompt.

And he encouraged others to do the same by informing them in the computer login screen (the screen which is first displayed when you have entered your login name and password) about which password they had and that he suggested that they change to the empty string, which is much easier to remember and encourages others to join in to freely share information. At one point, he had one fifth of the users on the computer using the empty string password.

"Anybody who is forcing protection must be doing something interesting"

This quote, though written much later, tells millions about how the hackers at MIT felt at the time, be it for a locked door or a file on a computer they couldn't access. A locked door at MIT could easily be bypassed by crawling over the ceiling and a major hack was once pulled by a young hacker, who unscrewed all locks on all doors at one night, found out how they worked and then made a master key who would open any door on the floor.

At this time, John McCarthy was heading the Artificial Intelligence Laboratory at MIT where many hackers spent their days (and nights). They used a sort of a silent agreement that while John couldn't approve of what they did, he wouldn't do anything to prevent it as long as he didn't see it firsthand. When people needed something from his office, they would crawl over the ceiling, get what they wanted and get out again. John never saw anything of this, except for an occasional footprint on the wall, or a hacker taking a nap on his couch as he walked into his locked office.

When RMS left the AI Labs to work on the GNU Project, a project he initiated to create a wholly free operating system that encouraged users to share information with each other and which was free in the sense that it could be improved on by anyone, and the improvements shared with your neighbor, he was asked if he wanted to keep his key to the AI Labs. RMS agreed and began hacking away at the VAX 11/750 he had been managing, prep.ai.mit.edu. He was officially working on GNU Emacs, a powerful text editor used by many system administrators, programmers and users, and since Emacs is a large program, this accounted for the processing time and the disk usage on the VAX. The official purpose of the machine was to run a plotter to do VLSI plots, but it was only used for this a few days every year, so RMS "adopted" it.

Without many people knowing, RMS had all other developers on the GNU project using that computer, and he had all files for all software that was developed there too, together with all practical information for the GNU project, such as phone numbers and informational text files. People throughout the world used that machine to communicate with each other, to coordinate their efforts and to share the fruits of their labour.

Eventually, prep was decommissioned and GNU moved on to various other machines. Some of the earliest documents about the GNU project is documented in the mailing list archives which dates back to the mid-1983 when plans for the GNU Project were first discussed. As we enter what most people would like to call the third millennium, let's not forget that cooperation is the foundation of the free software community. And while history is nice, it is not as important as creating history today so we have something to tell our kids tomorrow.

Jonas Öberg is a webmaster and system administrator for the GNU Project. He lives in the south of Sweden where he sometimes pretends to know what he is doing.

   Page 1 of 1