In the GNU manifesto, written in early 1984, Stallman claimed that "an initial kernel [Trix] exists but many more features are needed to emulate Unix. When the kernel and compiler are finished, it will be possible to distribute a GNU system suitable for program development".
By December of 1986, the Free Software Foundation (FSF) had "started working on the changes needed to Trix", but half a year later the FSF was "negotiating with Professor Rashid of Carnegie-Mellon University" with the objective of "working with them on the development of the Mach kernel". Stallman had become interested in the technical advantages of working with a microkernel, and CMU's Mach kernel looked a good fit, but progress continued to be slow, and there was still work to be done on the GNU toolchain.
It wasn't until three years later that the 'Gnusletter' for January 1990 admitted that "we aren't doing any kernel work. It does not make sense for us to start a kernel project now, when we still hope to use Mach".
A different place
Other ideas were mooted, including the use of Berkeley's Sprite operating system as a base for the GNU kernel, but four years after the interest in the Mach kernel had first been declared, the FSF was telling the world that "we are still interested in a multi-process kernel running on top of Mach. The CMU lawyers are currently deciding if they can release Mach with distribution conditions that will enable us to distribute it".
Somewhere around this time BSD also came into the picture. "RMS was a very strong believer, wrongly, I think, in a very greedy algorithm approach to code re-use issues," Thomas Bushnell told Dr. Peter Salus. "My first choice was to take the BSD 4.4-Lite release and make a kernel. I knew the code, I knew how to do it. It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today".
"RMS wanted to work together with people from Berkeley on such an effort. Some of them were interested, but some seem to have been deliberately dragging their feet: and the reason now seems to be that they had the goal of spinning off BSDI. A GNU based on 4.4-Lite would undercut BSDI".
As Bushnell describes it Stallman came to the conclusion that "Mach is a working kernel. 4.4-Lite is only partial. We will go with Mach".
The HURD was originally going to be called Alix, after a "sweetheart" of Stallman, who had "pointed out how her name would fit a common naming pattern for Unix system versions", and said "Someone should name a kernel after me".
Stallman "decided to surprise her with a kernel named Alix," but Bushnell preferred the name HURD. The HURD was a recursive acronym for 'Hird of Unix-Replacing Daemons' and a Hird was a 'HURD of Interfaces Representing Depth'. As Bushnell put it "We have here, to my knowledge, the first software to be named by a pair of mutually recursive acronyms".
Brewing since April
Eventually the agreement with Carnegie-Mellon was put into place, and the first official announcement of commencement of work on the HURD, based on the CMU Mach kernel, was made on 6 May 1991, by which time Torvalds had already begun work on his operating system which had been "brewing since April" of that year.
The Free Software Foundation was initially sceptical of the capabilities of Linux as a portable operating system. Initial versions only ran on the IBM 386. According to Stallman: "We heard that Linux was not at all portable (this may not be true today, but that's what we heard then). And we heard that Linux was architecturally on a par with the Unix kernel; our work was leading to something much more powerful".
The appeal of Linux to the developers who swarmed to help in its development was that it was free software and available on the kind of hardware they could afford at home. This wasn't true of BSD or the HURD. The momentum was with Linux and the community grew surprisingly fast, because of the Web and the spread of affordable hardware and media.
Free software was a world changing idea that the Linux community managed to both capture and encapsulate, and the atmosphere of do-it-yourself - anyone can do that - I can do this - you can do that - which surrounded GNU/Linux made it possible for everyone and anyone to become involved - and they did, and ported GNU/Linux to everything and anything, and if it didn't work, there was every chance that it might later.
The model that grew around Linux gave everybody the chance to take part and make a difference. You could do anything with GNU/Linux. If you couldn't write code you could write documentation, host web sites, make friends or sell t-shirts. Linux was different because everyone and anyone could become involved, and "the most important design issue is that Linux is supposed to be fun" - Linus Torvalds.