system”, says Chassell. “And once that window was closed, people would become less interested. Which is in fact exactly what happened”.[3]
Much has been made about the GNU Project’s struggles during the 1990-1993 period. While some place the blame on Stallman for those struggles, Eric Raymond, an early member of the GNU Emacs team and later Stallman critic, says the problem was largely institutional. “The FSF got arrogant”, Raymond says. “They moved away from the goal of doing a production-ready operating system to doing operating-system research”. Even worse, “They thought nothing outside the FSF could affect them”.
Murdock, a person less privy to the inner dealings of the GNU Project, adopts a more charitable view. “I think part of the problem is they were a little too ambitious and they threw good money after bad”, he says. “Micro-kernels in the late 80s and early 90s were a hot topic. Unfortunately, that was about the time that the GNU Project started to design their kernel. They ended up with alot of baggage and it would have taken a lot of backpedaling to lose it”.
Stallman cites a number of issues when explaining the delay. The Lotus and Apple lawsuits had provided political distractions, which, coupled with Stallman’s inability to type, made it difficult for Stallman to lend a helping hand to the HURD team. Stallman also cites poor communication between various portions of the GNU Project. “We had to do a lot of work to get the debugging environment to work”, he recalls. “And the people maintaining GDB at the time were not that cooperative”. Mostly, however, Stallman says he and the other members of the GNU Project team underestimated the difficulty of expanding the Mach microkernal into a full-fledged Unix kernel.
“I figured, OK, the [Mach] part that has to talk to the machine has already been debugged”, Stallman says, recalling the HURD team’s troubles in a 2000 speech. “With that head start, we should be able to get it done faster. But instead, it turned out that debugging these asynchronous multithreaded programs was really hard. There were timing books that would clobber the files, and that’s no fun. The end result was that it took many, many years to produce a test version”.[4]
Whatever the excuse, or excuses, the concurrent success of the Linux-kernel team created a tense situation. Sure, the Linux kernel had been licensed under the GPL, but as Murdock himself had noted, the desire to treat Linux as a purely free software operating system was far from uniform. By late 1993, the total Linux user population had grown from a dozen or so Minix enthusiasts to somewhere between 20,000 and 100,000.[5] What had once been a hobby was now a marketplace ripe for exploitation. Like Winston Churchill watching Soviet troops sweep into Berlin, Stallman felt an understandable set of mixed emotions when it came time to celebrate the Linux “victory”.[6]
Although late to the party, Stallman still had clout. As soon as the FSF announced that it would lend its money and moral support to Murdock’s software project, other offers of support began rolling in. Murdock dubbed the new project Debian-a compression of his and his wife, Deborah’s, names-and within a few weeks was rolling out the first distribution. “[Richard’s support] catapulted Debian almost overnight from this interesting little project to something people within the community had to pay attention to”, Murdock says.
In January of 1994, Murdock issued the “Debian Manifesto”. Written in the spirit of Stallman’s “GNU Manifesto” from a decade before, it explained the importance of working closely with the Free Software Foundation. Murdock wrote:
The Free Software Foundation plays an extremely important role in the future of Debian. By the simple fact that they will be distributing it, a message is sent to the world that Linux is not a commercial product and that it never should be, but that this does not mean that Linux will never be able to compete commercially. For those of you who disagree, I challenge you to rationalize the success of GNU Emacs and GCC, which are not commercial software but which have had quite an impact on the commercial market regardless of that fact.
The time has come to concentrate on the future of Linux rather than on the destructive goal of enriching oneself at the expense of the entire Linux community and its future. The development and distribution of Debian may not be the answer to the problems that I have outlined in the Manifesto, but I hope that it will at least attract enough attention to these problems to allow them to be solved.[7]
Shortly after the Manifesto’s release, the Free Software Foundation made its first major request. Stallman wanted Murdock to call its distribution “GNU/Linux”. At first, Murdock says, Stallman had wanted to use the term “Lignux”-“as in Linux with GNU at the heart of it”-but a sample testing of the term on Usenet and in various impromptu hacker focus groups had merited enough catcalls to convince Stallman to go with the less awkward GNU/Linux.
Although some would dismiss Stallman’s attempt to add the “GNU” prefix as a belated quest for credit, Murdock saw it differently. Looking back, Murdock saw it as an attempt to counteract the growing tension between GNU Project and Linux-kernel developers. “There was a split emerging”, Murdock recalls. “Richard was concerned”.
The deepest split, Murdock says, was over glibc. Short for GNU C Library, glibc is the package that lets programmers make “system calls” directed at the kernel. Over the course of 1993-1994, glibc emerged as a troublesome bottleneck in Linux development. Because so many new users were adding new functions to the Linux kernel, the GNU Project’s glibc maintainers were soon overwhelmed with suggested changes. Frustrated by delays and the GNU Project’s growing reputation for foot-dragging, some Linux developers suggested creating a “fork”-i.e., a Linux-specific C Library parallel to glibc.
In the hacker world, forks are an interesting phenomenon. Although the hacker ethic permits a programmer to do anything he wants with a given program’s source code, most hackers prefer to pour their innovations into a central source-code file or “tree” to ensure compatibility with other people’s programs. To fork glibc this early in the development of Linux would have meant losing the potential input of hundreds, even thousands, of Linux developers. It would also mean growing incompatibility between Linux and the GNU system that Stallman and the GNU team still hoped to develop.
As leader of the GNU Project, Stallman had already experienced the negative effects of a software fork in 1991. A group of Emacs developers working for a software company named Lucid had a falling out over Stallman’s unwillingness to fold changes back into the GNU Emacs code base. The fork had given birth to a parallel version, Lucid Emacs, and hard feelings all around.[8]
Murdock says Debian was mounting work on a similar fork in glibc source code that motivated Stallman to insist on adding the GNU prefix when Debian rolled out its software distribution. “The fork has since converged. Still, at the time, there was a concern that if the Linux community saw itself as a different thing as the GNU community, it might be a force for disunity”.
Stallman seconds Murdock’s recollection. In fact, he says there were nascent forks appearing in relation to every major GNU component. At first, Stallman says he considered the forks to be a product of sour grapes. In contrast to the fast and informal dynamics of the Linux-kernel team, GNU source-code maintainers tended to be