Выбрать главу

The friend’s report was correct. Built to run on 386-based machines, Linux was firmly rooted to its low-cost hardware platform. What the friend failed to report, however, was the sizable advantage Linux enjoyed as the only freely modifiable operating system in the marketplace. In other words, while Stallman spent the next three years listening to bug reports from his HURD team, Torvalds was winning over the programmers who would later uproot and replant the operating system onto new platforms.

By 1993, the GNU Project’s inability to deliver a working kernel was leading to problems both within the GNU Project and within the free software movement at large. A March, 1993, a Wired magazine article by Simson Garfinkel described the GNU Project as “bogged down” despite the success of the project’s many tools.[2] Those within the project and its nonprofit adjunct, the Free Software Foundation, remember the mood as being even worse than Garfinkel’s article let on. “It was very clear, at least to me at the time, that there was a window of opportunity to introduce a new operating 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.

вернуться

2.

See Simson Garfinkel, “Is Stallman Stalled?” Wired (March, 1993).

вернуться

3.

Chassel’s concern about there being a 36-month “window” for a new operating system is not unique to the GNU Project. During the early 1990s, free software versions of the Berkeley Software Distribution were held up by Unix System Laboratories’ lawsuit restricting the release of BSD-derived software. While many users consider BSD offshoots such as FreeBSD and OpenBSD to be demonstrably superior to GNU/Linux both in terms of performance and security, the number of FreeBSD and OpenBSD users remains a fraction of the total GNU/Linux user population.

To view a sample analysis of the relative success of GNU/Linux in relation to other free software operating systems, see the essay by New Zealand hacker, Liam Greenwood, “Why is Linux Successful” (1999).

вернуться

4.

See Maui High Performance Computing Center Speech.

вернуться

5.

GNU/Linux user-population numbers are sketchy at best, which is why I’ve provided such a broad range. The 100,000 total comes from the Red Hat “Milestones” site, http://www.redhat.com/about/corporate/milestones.html.

вернуться

6.

I wrote this Winston Churchill analogy before Stallman himself sent me his own unsolicited comment on Churchilclass="underline"

World War II and the determination needed to win it was a very strong memory as I was growing up. Statements such as Churchill’s, “We will fight them in the landing zones, we will fight them on the beaches . . . we will never surrender”, have always resonated for me.

вернуться

7.

See Ian Murdock, “A Brief History of Debian”, (January 6, 1994): Appendix A, “The Debian Manifesto”.

http://www.debian.org/doc/manuals/project-history/apA.html