Last week I noted that the GNU project was celebrating its 30th anniversary. I thought it might be interesting to hear what Richard Stallman had to say about the environment in which he came up with the idea for GNU. What follows is part of a long interview I conducted with him in 1999, when I was carrying out research for "Rebel Code". Most of this is unpublished, and offers what I hope is some insights into the hacker culture at MIT, where Stallman was working.
His role there was to add capabilities to the operating system for the AI Lab's Digital PDP-10 minicomputer. The software was called ITS, the Incompatible Time-Sharing system – a conscious dig at the earlier Compatible Time-Sharing system, CTSS, which had been used to develop Multics, the progenitor of Unix.
One of the most important programs he wrote at this time was the editor Emacs. The first version was written in 1975, and originally only used at MIT. Later, it started to spread further afield, and it was then that Stallman started to think more deeply about the importance of sharing.
It was a general rule to share things [at MIT], but I made it more of an explicit principle than most people did. You see, I had absorbed that general practice and thought about it and said: ‘This is the right way.' I was talking about sending copies [of Emacs] to people who were not part of our community and didn't have the experience of it at all, and so I didn't take for granted that they would want to share, so I said that this was how we should do things.
There are other aspects of our way of life that other people there in earlier generations of hackers thought about that I found inspiring. For example, instead of trying to deal with the issue of people causing trouble on the computer through security, the older hackers had had a very different idea, which was teach people to feel a sense of responsibility.
They had compared the usual way of running a shared computer system where there are certain people who are privileged and they have power over what other people can do, and nobody else, and they control what you can do on the computer and you have no recourse against them. This was called fascism – this was what all the hackers called it. And because they didn't want to be under a fascist system, they had decided to implement the Incompatible Time Sharing system with no security. They felt that if they implemented security they would giving the administrators a tool to control them with. So instead of using security to forcible stop people from doing anti-social things such as crashing the computer, they used social controls.
So for example there was a command you could type that would cause the system to shutdown in five minutes. And anybody could do this – there was no privilege you had to have: you have to run the lock program, and then you type ‘5 kill'. And it said: ‘Do you really want the system to go down?' You'd type ‘Yes', and then it would say: ‘Please type in a message to send to the other users', and you'd type in a message. And that would schedule a shutdown. And you'd see: ‘System going down in 5 minutes, shutdown specified by so-and-so'.
While I was there, another command was added to cancel a shutdown. So if somebody who wasn't supposed to bring about a shutdown did so for no good reason, somebody else would cancel it, assuming that there was somebody else logged in. If nobody was logged in, then the shutdown might happen. But once we had the Net, there was typically somebody logged in from somewhere who would cancel the shutdown if it wasn't for any good reason. People from anywhere that there was the Arpanet could log in on our computers – we didn't have passwords.
Now for a first year or so of the Arpanet everybody had guest accounts, they'd say: ‘Anybody, just come log in on our computer'. Then as soon as the slightest misbehaviour occurred, everybody else responded by shutting off the guest accounts. We didn't. And we went on for years and years letting anybody log in while everyone else in the late 70s was saying: 'the Arpanet is too big now, you can't do that any more' - we just kept doing it.
We had an interesting program called Output Spy that would let you watch anybody else's output. Now if there were just a few people that could do this, it would be tyrannical. But when anybody can do this to anybody else, it's an equaliser.
And the interesting thing happened that tourists [those from outside MIT, accessing via Arpanet] loved to run this program. We hackers of the lab had work to do, we would have found it boring to just keep spying on other people except on a special unusual occasion – you know, if you were going to play a joke on somebody. But normally we wouldn't do that, because we had other things to interest us.
But lots of tourists found spying on other people fascinating. Especially spying on other tourists. You see, any tourist who was misbehaving was caught by the other tourists. And anybody who was going to crash the machine made the tourists pretty angry because they appreciated using the machine, they didn't want it to be down. If the computer's down you can't have any fun with it. So the tourists exerted social control on each other to treat the system with respect.
[Output Spy] was a good way of learning. You could learn about other commands you could do. Not only that, but you send somebody a message saying: ‘You know, the best way to do what you just wanted to do is to type this.' It was so much fun to do that, especially when the feature was newly implemented.
We had plenty of ways of finding out how users used the system. You can just watch them, you're talking to somebody while he's typing and you can see what he does. And sometimes I would ask people a question – you know, I'm thinking about making this change, and what do people think, which would be more useful? And why? You don't just want to count up the number who like and the number who don't, but what you want to understand why some people like it, and why some people don't, because one group might have an important reason, and for the others it might just be a tiny convenience. So there were lots of ways to learn about how people used the system; the spying feature was much more useful for playing jokes on people.
That's the hacker spirit, you know, we had fun writing programs, we had fun playing hacks on each other.
In my next column, I'll give Stallman's own description of the dramatic events that led up to his decision to start the GNU project.