1
0
Fork 0

Chapter 10 translation

primary v0.10
alexferman 2019-07-15 14:09:14 +00:00 committed by Mikhail Klementev
parent 82e0367d84
commit c8a2f11fc0
1 changed files with 55 additions and 59 deletions

View File

@ -10,125 +10,121 @@
\chapter{GNU/Linux}
By 1993, the free software movement was at a crossroads. To the optimistically inclined, all signs pointed toward success for the hacker culture. \textit{Wired} magazine, a funky, new publication offering stories on data encryption, Usenet, and software freedom, was flying off magazine racks. The Internet, once a slang term used only by hackers and research scientists, had found its way into mainstream lexicon. Even President Clinton was using it. The personal computer, once a hobbyist's toy, had grown to full-scale respectability, giving a whole new generation of computer users access to hacker-built software. And while the GNU Project had not yet reached its goal of a fully intact, free GNU operating system, users could already run the GNU/Linux variant.
К 1993 году движение за свободное ПО оказалось на перепутье. Оптимисты упиваются успехом -- хакерская культура заняла место под солнцем, популярность её растёт. Свежие выпуски журнала \textit{Wired} с отвязными статьями про шифрование, Usenet и свободу софта расхватывают, как горячие пирожки. Термин ``интернет'' из жаргона хакеров, инженеров и учёных бесповоротно переехал в повседневную лексику. Даже президент Клинтон нередко упоминает его в своих речах о насущных задачах страны. Персональный компьютер был когда-то игрушкой хакеров и гиков, но теперь это атрибут солидности и успеха. Созданные хакерами программы служат миллионам пользователей. Да, проект GNU пока не достиг своей конечной цели -- полностью свободной операционной системы GNU. Но у людей есть свободная система GNU/Linux, совмещающая окружение GNU и ядро Linux.
Any way you sliced it, the news was good, or so it seemed. After a decade of struggle, hackers and hacker values were finally gaining acceptance in mainstream society. People were getting it.
Всё хорошо, как ни крути. После десятилетий борьбы хакеры утвердили свои ценности, и люди приняли их.
Or were they? To the pessimistically inclined, each sign of acceptance carried its own troubling countersign. Sure, being a hacker was suddenly cool, but was cool good for a community that thrived on alienation? Sure, the White House was saying nice things about the Internet, even going so far as to register its own domain name, whitehouse.gov, but it was also meeting with the companies, censorship advocates, and law-enforcement officials looking to tame the Internet's Wild West culture. Sure, PCs were more powerful, but in commoditizing the PC marketplace with its chips, Intel had created a situation in which proprietary software vendors now held the power. For every new user won over to the free software cause via GNU/Linux, hundreds, perhaps thousands, were booting up Microsoft Windows for the first time. GNU/Linux had only rudimentary graphical interfaces, so it was hardly user-friendly. In 1993, only an expert could use it. The GNU Project's first attempt to develop a graphical desktop had been abortive.
Или нет? Есть люди, что находят массу поводов для пессимизма. Ну да, хакеры теперь на гребне волны, но хорошо ли это для других людей? Да, Белый дом в восторге от интернета и даже открыл официальный сайт whitehouse.gov, но в то же время обсуждает с бизнесом, юристами и полицией как бы взять под контроль этот информационный фронтир, новый Дикий Запад -- всемирную сеть. Да, мощности персональных компьютеров сказочно выросли, но из-за Intel на ПК господствуют несвободные программы. На каждого пользователя GNU/Linux приходятся десятки, а то и сотни пользователей несвободной Windows. Что неудивительно, если взглянуть на графические интерфейсы GNU/Linux -- неудобные и куцые. Работать в них может только очень искушённый человек, как минимум специалист. В создании графического интерфейса проект GNU терпит неудачу.
Then there was the political situation. Copyrighting of user interfaces was still a real threat -- the courts had not yet rejected the idea. Meanwhile, patents on software algorithms and features were a growing danger that threatened to spread to other countries.
Над свободным ПО висит грозовая туча авторского права. Продолжаются судебные тяжбы из-за интерфейсов, а число патентов растёт изо дня в день. И похоже что законы, которые создали такую ситуацию, вот-вот введут во многих других странах мира.
Finally, there was the curious nature of GNU/Linux itself. Unrestricted by legal disputes (such as BSD faced), GNU/Linux's high-speed evolution had been so unplanned, its success so accidental, that programmers closest to the software code itself didn't know what to make of it. More compilation album than unified project, it was comprised of a hacker medley of greatest hits: everything from GCC, GDB, and glibc (the GNU Project's newly developed C Library) to X (a Unix-based graphic user interface developed by MIT's Laboratory for Computer Science) to BSD-developed tools such as BIND (the Berkeley Internet Naming Daemon, which lets users substitute easy-to-remember Internet domain names for numeric IP addresses) and TCP/IP. In addition, it contained the Linux kernel -- itself designed as a replacement for Minix. Rather than developing a new operating system, Torvalds and his rapidly expanding Linux development team had plugged their work into this matrix. As Torvalds himself would later translate it when describing the secret of his success: ``I'm basically a very lazy person who likes to take credit for things other people actually do.''\endnote{Torvalds has offered this quote in many different settings. To date, however, the quote's most notable appearance is in the Eric Raymond essay, ``The Cathedral and the Bazaar'' (May, 1997), \url{http://www.catb.org/~esr/writings/cathedral-bazaar/}.}
Наконец, не всё ладно и в GNU/Linux. Есть юридические проблемы (с ними уже столкнулась BSD), да и сами разработчики ядра Linux не представляют себе, что делать и куда идти. GNU/Linux растёт очень бурно и завоёвывает популярность, но всё ещё больше похож на сборник хитов программирования вроде GCC, Glibc и GDB, чем на цельную операционную систему. Линус Торвальдс и его сподвижники не думают о каком-то плане развития ядра. Торвальдс теперь больше управляет, чем пишет код. Как он сам говорит о своём успехе: ``Я вообще очень ленивый и люблю поручать свою работу другим людям''.\endnote{Такие слова можно найти во многих интервью Торвальдса. Ярчайший пример -- в статье Эрика Реймонда ``Собор и базар'' (март 1997 года), \url{http://www.catb.org/~esr/writings/cathedral-bazaar/}.}
Such laziness, while admirable from an efficiency perspective, was troubling from a political perspective. For one thing, it underlined the lack of an ideological agenda on Torvalds' part. Unlike the GNU developers, Torvalds hadn't built his kernel out of a desire to give his fellow hackers freedom; he'd built it to have something he himself could play with. So what exactly was the combined system, and which philosophy would people associate it with? Was it a manifestation of the free software philosophy first articulated by Stallman in the \textit{GNU Manifesto}? Or was it simply an amalgamation of nifty software tools that any user, similarly motivated, could assemble on his own home system?
Такая лень удивительна с точки зрения продуктивности Линуса, но с политической точки зрения она удручает. Она показывает, что Торвальдсу нет дела до свободы ПО. Он создал и развивает ядро просто ради удовольствия, чего даже не скрывает. Так что же такое GNU/Linux, чем он должен стать? Воплощением философии свободного софта, что выражена в \textit{Манифесте GNU}? Или техничным сочетанием мощных программ, конструктором инструментов для опытных пользователей?
By late 1993, a growing number of GNU/Linux users had begun to lean toward the latter definition and began brewing private variations on the theme. They began to develop various ``distributions'' of GNU/Linux and distribute them, sometimes gratis, sometimes for a price. The results were spotty at best.
На исходе 1993 года стало понятно, что чаша весов клонится ко второму варианту. Пользователи вовсю создают свои варианты системы -- ``дистрибутивы'' GNU/Linux самых разных типов, раздают их бесплатно или продают. Результаты противоречивы.
``This was back before Red Hat and the other commercial distributions,'' remembers Ian Murdock, then a computer science student at Purdue University. ``You'd flip through Unix magazines and find all these business card-sized ads proclaiming `Linux.' Most of the companies were fly-by-night operations that saw nothing wrong with slipping a little of their own [proprietary] source code into the mix.''
``Тогда ещё не было Red Hat и других коммерческих дистрибутивов, -- вспоминает Ян Мёрдок, студент-информатик университета Пердью, -- на всех ресурсах, посвящённых Unix, висели россыпи объявлений со словом `Linux'. Многие эти компании были однодневками, и не видели ничего плохого в том, чтобы добавить в систему сколько угодно собственнического кода''.
Murdock, a Unix programmer, remembers being ``swept away'' by GNU/Linux when he first downloaded and installed it on his home PC system. ``It was just a lot of fun,'' he says. ``It made me want to get involved.'' The explosion of poorly built distributions began to dampen his early enthusiasm, however. Deciding that the best way to get involved was to build a version free of additives, Murdock set about putting a list of the best free software tools available with the intention of folding them into his own distribution. ``I wanted something that would live up to the Linux name,'' Murdock says.
Мёрдок -- программист Unix. Он впервые установил GNU/Linux на домашний компьютер и в полном восторге от системы. ``Это чистейшее удовольствие. Я захотел поучаствовать в общем веселье''. Мёрдока огорчает засилье криво собранных, нестабильных дистрибутивов. Он решает собрать версию системы без каких-либо сомнительных дополнений, и только из лучших образцов свободных программ. ``Хотелось чего-то, что может гордо называться Линуксом'', -- говорит он.
In a bid to ``stir up some interest,'' Murdock posted his intentions on the Internet, including Usenet's comp.os.linux newsgroup. One of the first responding email messages was from \url{rms@ai.mit.edu}. As a hacker, Murdock instantly recognized the address. It was Richard M. Stallman, founder of the GNU Project and a man Murdock knew even back then as ``the hacker of hackers.'' Seeing the address in his mail queue, Murdock was puzzled. Why on Earth would Stallman, a person leading his own operating-system project, care about Murdock's gripes over ``Linux'' distributions?
Что делали великие хакеры, собираясь основать великие проекты? Писали в Usenet, пытаясь заинтересовать людей и привлечь их к работе. То же делает и Мёрдок -- пишет о своих намерениях в группу comp.os.linux. И в числе первых ответов видит письмо с адреса \url{rms@ai.mit.edu}. Каждый хакер знает, чей это адрес, знает это и Мёрдок. Это письмо от Ричарда Столлмана -- ``хакера хакеров'' и основателя проекта GNU. Что, интересно, ему понадобилось от Мёрдока? Почему культовый хакер, командующий разработкой собственной операционной системы, отозвался на недовольство Мёрдока дистрибутивами ``Linux''?
Murdock opened the message.
``Он сказал, что фонд свободного ПО начал присматриваться к Linux, чтобы, может быть, создать собственную систему Linux [\textit{sic}]. Столлман посчитал, что мои цели сходятся с их философией''.
``He said the Free Software Foundation was starting to look closely at Linux and that the FSF was interested in possibly doing a Linux [\textit{sic}] system, too. Basically, it looked to Stallman like our goals were in line with their philosophy.''
Без всякого преувеличения, письмо знаменовало изменение стратегии Столлмана. До 1993 года он почти не обращал внимания на Linux. Когда Ричард услышал о первом выпуске ядра, он спросил знакомого хакера о качествах Линукса. Тот ответил, что Linux скроен по образу и подобию System V -- низкопробной версии Unix, и добавил, что Линукс непереносим на другие платформы.
Not to overdramatize, the message represented a change in strategy on Stallman's part. Until 1993, Stallman had been content to keep his nose out of Linux affairs. After first hearing of the new kernel, Stallman asked a friend to check its suitability. Recalls Stallman, ``He reported back that the software was modeled after System V, which was the inferior version of Unix. He also told me it wasn't portable.''
Знакомый хакер всё правильно сказал. Тогда, в 1991 году, ядро Linux работало только на процессорах семейства Intel 386, и выглядело как копия Unix для бедных. Но теперь многое изменилось. Linux оказался единственным свободным ядром операционной системы, и пока Столлман слушал отчёты о неторопливой работе над Hurd, Торвальдс с сотнями сподвижников захватывали компьютерный рынок с его многообразием платформ.
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 free kernel in the marketplace. In other words, while Stallman spent the next year and a half listening to progress reports from the Hurd developer, reporting rather slow progress, Torvalds was winning over the programmers who would later uproot and replant Linux and GNU onto new platforms.
Наступает 1993 год, проект GNU лихорадит. Разработка ядра Hurd замедляется всё сильнее из-за большого числа проблем. Журнал \textit{Wired} пишет, что проект GNU ``увяз'', хотя многие его продукты очень популярны. \endnote{Simson Garfinkel, ``Is Stallman Stalled?'' \textit{Wired} (March, 1993).} Но журнал ещё мягок в формулировках, на самом деле настрой у разработчиков проекта ещё хуже. Успех уже готового свободного ядра Linux подкосил мотивацию хакеров. ``Очевидно, что нами двигало желание заполнить пробел в свободной операционной системе, -- вспоминает Часселл, -- и как только пробел заполнился, нам стало не так интересно работать''. \endnote{Часселл считал, что у проекта GNU есть ``окно'' размером в 36 месяцев, чтобы представить свою операционную систему, после чего проект станет бессмысленным. И не он один так думал. Несмотря на то, что многие считали различные варианты BSD вроде FreeBSD или OpenBSD более быстрыми, стабильными и безопасными, чем GNU/Linux, эти системы так и не смогли привлечь заметное число пользователей, навсегда оставшись в тени Линукса. То же произошло и с GNU/Hurd. Сравнительный анализ популярности GNU/Linux и других свободных систем в 90-е годы можно посмотреть в эссе новозеландского хакера Лиама Гринвуда: ``Почему Linux популярен'' (1999), \url{http://www.freebsddiary.org/linux.php}.}
By 1993, the GNU Project's failure to deliver a working kernel was leading to problems both within the GNU Project and in the free software movement at large. A March, 1993, \textit{Wired} magazine article by Simson Garfinkel described the GNU Project as ``bogged down'' despite the success of the project's many tools.\endnote{See Simson Garfinkel, ``Is Stallman Stalled?'' \textit{Wired} (March, 1993).} 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.''\endnote{Chassell'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.
Уйма работы участников проекта GNU с 1990 по 1993 год пропадает впустую. Многие возлагают вину на Столлмана, но его старый друг Эрик Реймонд считает, что проблема куда глубже. ``Фонд свободного ПО оторвался от жизни в своих амбициях, -- говорит он, -- вместо создания операционной системы он занялся исследованием операционных систем. И что ещё хуже, они думали, что происходящее за пределами фонда не повлияет на них''.
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), \url{http://www.freebsddiary.org/linux.php}.}
Мёрдок мягче в оценках: ``По-моему, тут сыграло роль то, что они питали слабость к глобальным решениям, не обращая внимания на их эффективность. Например, микроядра -- на рубеже 80-90-х годов они считались решением всех бед, и проект GNU стал разрабатывать именно микроядро. А теперь, когда проблемы микроядер очевидны, уже слишком много сделано, чтобы выбрасывать всё и начинать с нуля''.
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 old friend of Stallman's who supported the GNU Project lukewarmly, 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.''
Столлман отвечает на это: ``Мнение Реймонда опирается на воображаемые посылки, но в одном он прав: Hurd действительно пошёл не по тому пути разработки. Вместо того, чтобы как можно быстрее сделать рабочее ядро, разработчики постоянно переписывают его огромными кусками, снова и снова, чтобы довести до идеала. Может быть, это и хорошо с академической точки зрения, но очень плохо с практической''.
Murdock 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 a lot of baggage and it would have taken a lot of backpedaling to lose it.''
Ссылается Столлман и на другие проблемы. Судебные войны, развязанные Apple и Lotus, отняли у него много времени и сил, плюс ещё заболевание рук сильно затруднило набор текста, так что Ричард пишет очень мало кода. Отдельная головная боль -- согласованность разных частей проекта GNU. ``Мы потратили очень много сил на GDB, -- говорит Столлман, -- и люди, что им занимались с самого начала, неохотно берутся за другие задачи''. Они предпочитают дальше разрабатывать GDB и помогать пользователям этой программы, глобальная цель проекта GNU их уже мало интересует.
Stallman responds, ``Although the emotions Raymond cites come from his imagination, he's right about one cause of the Hurd's delay: the Hurd developer several times redesigned and rewrote large parts of the code based on what he had learned, rather than trying to make the Hurd run as soon as possible. It was good design practice, but it wasn't the right practice for our goal: to get something working ASAP.''
Но самой жестокой проблемой Столлман называет сложность разработки микроядра, которую хакеры GNU очень сильно недооценили поначалу. ``Отлично, мы наладили взаимодействие микроядра Mach с аппаратными ресурсами, -- вспоминает Ричард, -- и кажется, что теперь-то работа пойдёт быстрее. Но не тут-то было. Оказалось, настоящие сложности -- там, где микроядро асинхронно и многопоточно взаимодействует с программами. Начались сплошные ошибки синхронизации, которые портят файлы, и это ни черта не весело. Мы убили столько времени и сил, чтобы получить очень далёкую от готовности систему''.\endnote{Источник -- речь Столлмана в центре высокопроизводительных вычислений Мауи.
Stallman cites other issues that also caused delay. The Lotus and Apple lawsuits claimed much of his attention; this, coupled with hand problems that prevented him from typing for three years, mostly excluded Stallman from programming. 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.'' They had given priority to supporting the existing platforms of GDB's current users, rather than to the overall goal of a complete GNU system.
Most fundamentally, however, Stallman says he and the Hurd developers underestimated the difficulty of developing the Unix kernel facilities on top of the Mach microkernel. ``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 bugs 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.''\endnote{See Maui High Performance Computing Center Speech.
In subsequent emails, I asked Stallman what exactly he meant by the term ``timing bugs.'' Stallman said ``timing errors'' was a better way to summarize the problem and offered an elucidating technical information of how a timing error can hamper an operating system's performance:
После этой речи я написал Столлману письмо, в котором просил объяснить, что означают эти ``ошибки синхронизации''. Столлман ответил, что это лучший способ выразить суть проблем с их микроядром, и объяснил это так:
\begin{quote}
``Timing errors'' occur in an asynchronous system where jobs done in parallel can theoretically occur in any order, and one particular order leads to problems.
``Ошибки синхронизации'' возникают в системах, где разные части выполняются параллельно, независимо друг от друга. Они могут выполняться в произвольном порядке, и некоторые порядки приводят к проблемам.
Imagine that program A does X, and program B does Y, where both X and Y are short routines that examine and update the same data structure. Nearly always the computer will do X before Y, or do Y before X, and then there will be no problem. On rare occasions, by chance, the scheduler will let program A run until it is in the middle of X, and then run B which will do Y. Thus, Y will be done while X is half-done. Since they are updating the same data structure, they will interfere. For instance, perhaps X has already examined the data structure, and it won't notice that there was a change. There will be an unreproducible failure, unreproducible because it depends on chance factors (when the scheduler decides to run which program and how long).
Представьте, что программа А делает X, а программа В делает Y, где X и Y это короткие процедуры, меняющие одну и ту же структуру данных. Когда компьютер делает сначала X, а потом Y, или наоборот -- проблем нет. Но может случиться и так, что планировщик ядра запускает программу А, в середине процедуры X он её останавливает и запускает программу B с её процедурой Y. Получается, что Y выполнен полностью, а X -- только наполовину. Но они работают с одной и той же структурой данных, что приводит к противоречию. Например, X может прочитать эту структуру в свою память и работать с нею, но Y в конце своей работы меняет эту структуру, о чём X и не подозревает, продолжая работать с уже несуществующей структурой данных. Как минимум это гарантирует сбой программы А, причём этот сбой очень трудно воспроизвести, ведь он зависит от массы случайных факторов (например, от того, в каком порядке и на какое время планировщик ядра решит запускать программы).
The way to prevent such a failure is to use a lock to make sure X and Y can't run at the same time. Programmers writing asynchronous systems know about the general need for locks, but sometimes they overlook the need for a lock in a specific place or on a specific data structure. Then the program has a timing error.
Такие сбои предотвращают блокировкой, которая исключает запуск процедуры Y, пока не закончила работать процедура X. Но разработчики асинхронных систем часто не реализуют блокировки в конкретных местах по недосмотру или из-за лени. И потому множатся ошибки синхронизации.
\end{quote}}
Over time, the growing success of GNU together with Linux made it clear that the GNU Project should get on the train that was leaving and not wait for the Hurd. Besides, there were weaknesses in the community surrounding GNU/Linux. Sure, Linux had been licensed under the GPL, but as Murdock himself had noted, the desire to treat GNU/Linux as a purely free software operating system was far from unanimous. By late 1993, the total GNU/Linux user population had grown from a dozen or so enthusiasts to somewhere between 20,000 and 100,000.\endnote{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, \url{http://www.redhat.com/about/corporate/milestones.html}.} What had once been a hobby was now a marketplace ripe for exploitation, and some developers had no objection to exploiting it with nonfree software. Like Winston Churchill watching Soviet troops sweep into Berlin, Stallman felt an understandable set of mixed emotions when it came time to celebrate the GNU/Linux ``victory.''\endnote{I wrote this Winston Churchill analogy before Stallman himself sent me his own unsolicited comment on Churchill:
Стало понятно, что проект GNU должен запрыгнуть в уходящий поезд -- не ждать ядро Hurd, а сконцентрироваться на комбинации программ GNU и ядра Linux. Однако это спорный шаг -- сообщество GNU/Linux довольно проблемно с точки зрения философии свободного ПО. Хотя само ядро лицензировано под GPL, многие представители сообщества не стремятся к полностью свободной операционной системе. На конец 1993 года численность пользователей GNU/Linux колеблется от 20 до 100 тысяч человек. \endnote{Это число может быть лишь приблизительным, отсюда такой разброс. Так, о 100 тысячах пользователей сообщал сайт компании Red Hat.} Linux вырос из игрушки в серьёзное ядро, и теперь готов к промышленному использованию, и многие не видят ничего плохого в том, чтобы запускать на нём несвободные программы. Неудивительно, что Столлман смотрит на ``победу'' GNU/Linux со смешанными чувствами -- наверное, так же Черчилль смотрел на победу над Гитлером, видя советскую армию в Берлине.\endnote{Позже Столлман прислал мне комментарий насчёт этого сравнения с Черчиллем:
\begin{quote}
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\ldots we will never surrender,'' have always resonated for me.
Вторая мировая война и связанная с ней воля к победе были очень сильными чувствами, когда я рос. Заявления Черчилля вроде ``мы будем биться с ними на суше, мы будем биться с ними на побережье\ldots и никогда не сдадимся'' всегда волновали меня.
\end{quote}}
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.
Столлман опоздал к пирушке победителей, но всё ещё очень влиятелен. Фонд свободного ПО объявляет о финансовой и моральной поддержке проекта Мёрдока, и вслед за этим его окатывает волна поддержки из других источников. Мёрдок называет свой проект Debian -- сокращение от имени его жены Деборы и его собственного имени Ян -- и уже через несколько недель выкатывает первую версию дистрибутива. ``Поддержка Ричарда буквально катапультирует Debian к пику внимания сообщества'', -- говорит Мёрдок.
In January of 1994, Murdock issued the \textit{Debian Manifesto}. Written in the spirit of Stallman's \textit{GNU Manifesto} from a decade before, it explained the importance of working closely with the Free Software Foundation. Murdock wrote:
В январе 1994 года Мёрдок составляет \textit{Манифест Debian}. В духе столлмановского \textit{Манифеста GNU} он объясняет важность тесного сотрудничества с фондом свободного ПО:
\begin{quote}
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 [\textit{sic}] 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.
Фонд свободного программного обеспечения чрезвычайно важен для будущего проекта Debian. Тот простой факт, что этот фонд распространяет дистрибутив, говорит миру, что Linux [\textit{sic}] -- не коммерческий продукт, и не должен быть таковым, но не значит, что Linux не может соперничать с коммерческими продуктами. Если вы не согласны с этим -- объясните рационально успех GNU Emacs и GCC, которые не относятся к коммерческим продуктам, но серьёзно влияют на рынок по факту.
The time has come to concentrate on the future of Linux [\textit{sic}] 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 \textit{Manifesto}, but I hope that it will at least attract enough attention to these problems to allow them to be solved.\endnote{See Ian Murdock, \textit{A Brief History of Debian}, (January 6, 1994): Appendix A, ``The Debian Manifesto,'' \url{http://www.debian.org/doc/manuals/project-history/ap-manifesto.en.html}.}
Пришло время позаботиться о будущем Linux [\textit{sic}], а не о деструктивном обогащении за счёт Linux и его сообщества. Может быть, разработка и раздача Debian не решат поднятой в \textit{Манифесте} проблемы, но, надеюсь, хотя бы привлечёт к ней достаточно внимания.\endnote{Ian Murdock, \textit{A Brief History of Debian}, (January 6, 1994): ``The Debian Manifesto,'' \url{http://www.debian.org/doc/manuals/project-history/ap-manifesto.en.html}.}
\end{quote}
Shortly after the \textit{Manifesto's} release, the Free Software Foundation made its first major request. Stallman wanted Murdock to call its distribution ``GNU/Linux.'' At first, Stallman proposed the term ``Lignux'' -- combining the names Linux and GNU -- but the initial reaction was very negative, and this convinced Stallman to go with the longer but less criticized GNU/Linux.
Вскоре после выхода \textit{Манифеста} фонд свободного ПО делает первый важный запрос. Столлман просит Мёрдока называть систему ``GNU/Linux''. Сначала, впрочем, Ричард предлагает комбинированный вариант -- ``Lignux'', но это название никому не нравится, и Столлман возвращается к более длинному, но не такому критикуемому названию GNU/Linux.
Some dismissed Stallman's attempt to add the ``GNU'' prefix as a belated quest for credit, never mind whether it was due, but Murdock saw it differently. Looking back, Murdock saw it as an attempt to counteract the growing tension between the GNU Project's developers and those who adapted GNU programs to use with the Linux kernel. ``There was a split emerging,'' Murdock recalls. ``Richard was concerned.''
Мёрдок принимает просьбу Столлмана, однако многие продолжают игнорировать приставку ``GNU'', считая её попыткой запоздало приписать себе заслуги. Сам Мёрдок так не считает. По его словам, это попытка примирить разработчиков проекта GNU с теми программистами, что адаптируют программы GNU к ядру Linux. ``Был серьёзный раскол, -- вспоминает он, -- и он беспокоил Ричарда''.
By 1990, each GNU program had a designated maintainer-in-charge. Some GNU programs could run on many different systems, and users often contributed changes to port them to another system. Often these users knew only that one system, and did not consider how to keep the code clean for other systems. To add support for the new system while keeping the code comprehensible, so it could be maintained reliably for all systems, then required rewriting much of the changes. The maintainer-in-charge had the responsibility to critique the changes and tell their user-authors how to redo parts of the port. Generally they were eager to do this so that their changes would be integrated into the standard version. Then the maintainer-in-charge would edit in the reworked changes, and take care of them in future maintenance. For some GNU programs, this had happened dozens of times for dozens
of different systems.
В 1990 году у каждой программы GNU уже был сопровождающий специалист. Многие программы GNU могут работать в разных операционных системах, и пользователи регулярно добавляют в код этих программ возможности для работы на других системах. Но многие пользуются лишь одной операционной системой, и их правки кода часто вызывают проблемы на других платформах. Сопровождающие отклоняют такие правки, прося переделать их. Если пользователь хочет, чтобы его правки попали в общую версию, то ему приходится выполнять требования сопровождающего. После чего сопровождающий принимает правки и далее обслуживает их уже сам. Эта процедура в различных программах GNU повторяется десятки раз для десятков различных систем.
The programmers who adapted various GNU programs to work with the kernel Linux followed this common path: they considered only their own platform. But when the maintainers-in-charge asked them to help clean up their changes for future maintenance, several of them were not interested. They did not care about doing the correct thing, or about facilitating future maintenance of the GNU packages they had adapted. They cared only about their own versions and were inclined to maintain them as forks.
Но программистов, работающих над адаптацией программ GNU к ядру Linux, волнует лишь их собственная система. Когда сопровождающие GNU просят их переделать правки для стабильной работы в других системах, те игнорируют просьбы. Их не заботит правильность кода с точки зрения многоплатформенности и дальнейшей поддержки программ GNU. Они скорее выделят разработку программы в новую ветку, не связанную с проектом GNU, чем будут тратить время на проблемы GNU.
In the hacker world, forks are an interesting issue. Although the hacker ethic permits a programmer to do anything he wants with a given program's source code, it is considered correct behavior to offer to work with the original developer to maintain a joint version. Hackers usually find it useful, as well as proper, to pour their improvements into the program's principal version. A free software license gives every hacker the right to fork a program, and sometimes it is necessary, but doing so without need or cause is considered somewhat rude.
Ветвление разработки программы для хакера -- неоднозначное действие. Конечно, хакерская этика не ограничивает программиста в возможности копировать код и создавать новые версии программ, но хакеры считают более правильным отсылать все правки кода разработчику оригинальной версии. Улучшать сообща основную версию программы удобнее и полезнее для всех. Свободные лицензии не запрещают создавать ответвления, но делать это без явной необходимости считается дурным тоном.
As leader of the GNU Project, Stallman had already experienced the negative effects of a software fork in 1991. Says Stallman, ``Lucid hired several people to write improvements to GNU Emacs, meant to be contributions to it; but the developers did not inform me about the project. Instead they designed several new features on their own. As you might expect, I agreed with some of their decisions and disagreed with others. They asked me to incorporate all their code, but when I said I wanted to use about half of it, they declined to help me adapt that half to work on its own. I had to do it on my own.'' The fork had given birth to a parallel version, Lucid Emacs, and hard feelings all around.\endnote{Jamie Zawinski, a former Lucid programmer who would go on to head the Mozilla development team, has a web site that documents the Lucid/GNU Emacs fork, titled, ``The Lemacs/FSFmacs Schism.'', at \url{http://www.jwz.org/doc/lemacs.html}. Stallman's response to those accusations is in \url{http://stallman.org/articles/xemacs.origin}.}
На посту лидера проекта GNU Столлман уже сталкивался с печальными последствиями ветвления кода. В 1991 году компания Lucid нанимает несколько программистом для улучшения GNU Emacs, они пишут ряд новых функций и предлагают их Столлману. Как это обычно бывает, половину этих функций Ричард принимает, а другую половину отклоняет. Программисты настаивают на том, чтобы Столлман принял все функции, но он говорит, что может принять лишь половину, да и то лишь после доработки. Тогда программисты Lucid вообще отказываются помогать ему даже с этой одобренной половиной функций, и ветвят код GNU Emacs, выпуская собственную версию -- Lucid Emacs. Это вызывает бурю эмоций в сообществе.\endnote{Джейми Завински, бывший программист компании Lucid, впоследствии ставший главой разработчиков Mozilla, аргументированно защитил создание Lucid Emacs в статье ``The Lemacs/FSFmacs Schism.'', at \url{http://www.jwz.org/doc/lemacs.html}. Столлман ответил на эти аргументы собственной статьёй здесь \url{http://stallman.org/articles/xemacs.origin}.}
Now programmers had forked several of the principal GNU packages at once. At first, Stallman says he considered the forks to be a product of impatience. In contrast to the fast and informal dynamics of the Linux team, GNU source-code maintainers tended to be slower and more circumspect in making changes that might affect a program's long-term viability. They also were unafraid of harshly critiquing other people's code. Over time, however, Stallman began to sense that there was an underlying lack of awareness of the GNU Project and its objectives when reading Linux developers' emails.
Теперь же программисты делают ответвления сразу нескольких важнейших программ GNU. Поначалу Столлман считает, что так проявляется лихорадочная нетерпеливость, которая характерна для всего динамичного сообщества Linux. В отличие от них, сопровождающие проекта GNU вносят изменения куда медленнее и вдумчивее, анализируя их с точки зрения долгосрочной стабильности. Но со временем, читая электронные письма программистов GNU/Linux, Ричард понимает, что причина в расхождении их целей с целями проекта GNU.
``We discovered that the people who considered themselves `Linux users' didn't care about the GNU Project,'' Stallman says. ``They said, `Why should I bother doing these things? I don't care about the GNU Project. It [the program]'s working for me. It's working for us Linux users, and nothing else matters to us.' And that was quite surprising, given that people were essentially using a variant of the GNU system, and they cared so little. They cared less than anybody else about GNU.'' Fooled by their own practice of calling the combination ``Linux,'' they did not realize that their system was more GNU than Linux.
``Мы видим, что людям, которые называют себя `пользователями Linux', неинтересен проект GNU, -- рассказывает Столлман, -- они говорят: `Почему я должен этим заниматься? Мне плевать на GNU. У меня программа работает, у других пользователей Linux она работает, а остальное нас не волнует'. Удивительно -- люди используют одну из версий системы GNU, и им всё равно на проблемы GNU''. Называя систему ``Линуксом'', они сами себя запутали и забыли, что их система больше GNU, чем Linux.
For the sake of unity, Stallman asked the maintainers-in-charge to do the work which normally the change authors should have done. In most cases this was feasible, but not in glibc. Short for GNU C Library, glibc is the package that all programs use to make ``system calls'' directed at the kernel, in this case Linux. User programs on a Unix-like system communicate with the kernel only through the C library.
Ради того, чтобы сохранить единство свободного сообщества, Столлман просит сопровождающих делать то, что должны делать разработчики -- исправлять правки кода в пользу поддержки множества платформ. Как правило, это помогает, но с glibc такой номер не проходит. GNU C Library, glibc -- стандартная библиотека языка С во многих системах. Через неё общаются программы с ядром системы -- так было заведено в Unix, так заведено в Unix-подобных системах. Понятное дело, что в разных системах это общение через glibc проходит по-разному, но во всех системах glibc должна работать одинаково хорошо.
The changes to make glibc work as a communication channel between Linux and all the other programs in the system were major and ad-hoc, written without attention to their effect on other platforms. For the glibc maintainer-in-charge, the task of cleaning them up was daunting. Instead the Free Software Foundation paid him to spend most of a year reimplementing these changes from scratch, to make glibc version 6 work ``straight out of the box'' in GNU/Linux.
Разработчики Linux адаптируют glibc к своему ядру и предлагают массу изменений в эту библиотеку -- как обычно, очень ``эгоистичных'' изменений, который учитывают только их ядро. Сопровождающий glibc говорит, что исправить их все слишком сложно, и тогда фонд свободного ПО нанимает его почти на год, чтобы он с нуля воссоздал функциональность для Линукса. Так появляется 6 версия glibc, для которой GNU/Linux уже ``родная'' система.
Murdock says this was the precipitating cause 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.''
Именно после этого Столлман настаивает, чтобы в название системы Debian добавили приставку GNU. ``Нам удалось избавиться от другой ветки glibc, но уже понятно, что сообщество Linux может в любой момент пойти своим путём'', -- говорит Мёрдок.
While some viewed it as politically grasping to describe the combination of GNU and Linux as a ``variant'' of GNU, Murdock, already sympathetic to the free software cause, saw Stallman's request to call Debian's version GNU/Linux as reasonable. ``It was more for unity than for credit,'' he says.
Многие считают, что называть комплект программ GNU и ядра Linux ``вариантом'' GNU -- потакать алчной политике, но Мёрдок уже открыто симпатизирует проекту GNU. Он говорит, что просьба Столлмана справедлива. ``Это больше желание сохранить единство, чем отдать почести''.
Requests of a more technical nature quickly followed. Although Murdock had been accommodating on political issues, he struck a firmer pose when it came to the design and development model of the actual software. What had begun as a show of solidarity soon became a running disagreement.
После этого начался поток просьб технического характера. Мёрдок, полностью соглашаясь с GNU в политике, жёстко возражает Столлману в проектировании и разработке программ. Солидарность тонет в разногласиях.
``I can tell you that I've had my share of disagreements with him,'' says Murdock with a laugh. ``In all honesty Richard can be a fairly difficult person to work with.'' The principal disagreement was over debugging. Stallman wanted to include debugging information in all executable programs, to enable users to immediately investigate any bugs they might encounter. Murdock thought this would make the system files too big and interfere with distribution. Neither was willing to change his mind.
``Признаться, мы с ним постоянно спорили, -- смеётся Мёрдок, -- работать с Ричардом бывает трудно''. Так, они принципиально не согласны друг с другом касательно отладки. Столлман хочет включить отладочную информацию во все программы, чтобы пользователям легче было находить ошибки. Мёрдок считает, что это сделает программы большими и медленными. Уступать не хочет никто.
In 1996, Murdock, following his graduation from Purdue, decided to hand over the reins of the growing Debian project. He had already been ceding management duties to Bruce Perens, the hacker best known for his work on Electric Fence, a Unix utility released under the GPL. Perens, like Murdock, was a Unix programmer who had become enamored of GNU/Linux as soon as the operating system's Unix-like abilities became manifest. Like Murdock, Perens sympathized with the political agenda of Stallman and the Free Software Foundation, albeit from afar.
В 1996 году Мёрдок заканчивает университет и передаёт правление растущим проектом Debian в руки Брюса Перенса -- хакера, который создал программу Electric Fence для Unix. Перенс, как и Мёрдок, влюбился в GNU/Linux, как только попробовал его. Как и Мёрдок, он симпатизирует проекту GNU, хотя и не так сильно.
``I remember after Stallman had already come out with the \textit{GNU Manifesto}, GNU Emacs, and GCC, I read an article that said he was working as a consultant for Intel,'' says Perens, recalling his first brush with Stallman in the late 1980s. ``I wrote him asking how he could be advocating free software on the one hand and working for Intel on the other. He wrote back saying, `I work as a consultant to produce free software.' He was perfectly polite about it, and I thought his answer made perfect sense.''
``После того, как Столлман выпускает \textit{Манифест GNU}, создаёт GNU Emacs и GCC, я вдруг читаю статью, где говорится, что он работает консультантом в Intel, -- вспоминает Перенс первый контакт со Столлманом в конце 80-х годов, -- я пишу ему, мол, как ты можешь бороться за свободу ПО и работать при этом в Intel? Он отвечает мне только: `Я консультирую их насчёт свободного ПО'. Исчерпывающий и вежливый ответ''.
Перенс -- выдающийся разработчик, и его тревожат баталии Мёрдока и Столлмана о программировании. Став лидером проекта, он решает дистанцировать Debian от фонда свободного ПО. ``Я думаю, нам ни к чему микроменеджмент Ричарда''.
As a prominent Debian developer, however, Perens regarded Murdock's design battles with Stallman with dismay. Upon assuming leadership of the development team, Perens says he made the command decision to distance Debian from the Free Software Foundation. ``I decided we did not want Richard's style of micro-management,'' he says.
Столлман озадачен и огорчён этим, но теперь он воспринимает это с мудрой сдержанностью. Выждав время, чтобы все остыли, Ричард пишет Перенсу, что не стоит рвать отношения, и что просит лишь называть систему GNU/Linux, больше ничего. ``Я решил, что это хорошо, и согласился, -- говорит Перенс, -- все вздохнули с облегчением''.
According to Perens, Stallman was taken aback by the decision but had the wisdom to roll with it. ``He gave it some time to cool off and sent a message that we really needed a relationship. He requested that we call it GNU/Linux and left it at that. I decided that was fine. I made the decision unilaterally. Everybody breathed a sigh of relief.''
Идут годы, и Debian получает репутацию хакерской версии GNU/Linux, подобной Slackware. Но в Slackware есть несвободные программы, и Debian после отхода от GNU тоже включает в коллекции программ собственнический софт. Хотя он явно помечен как nonfree или несвободный, и вынесен в отдельную секцию, предлагать такие программы -- всё равно, что одобрять их. Проект GNU больше не может рекомендовать Debian и Slackware людям.
Over time, Debian would develop a reputation as the hacker's version of GNU/Linux, alongside Slackware, another popular distribution founded during the same 1993-1994 period. However, Slackware contained some nonfree programs, and Debian after its separation from GNU began distributing non-free programs too.\endnote{Debian Buzz in June 1996 contained non-free Netscape 3.01 in its Contrib section.} Despite labeling them as ``non-free'' and saying that they were ``not officially part of Debian,'' proposing these programs to the user implied a kind of endorsement for them. As the GNU Project became aware of these policies, it came to recognize that neither Slackware nor Debian was a GNU/Linux distro it could recommend to the public.
Но вне хакерских сообществ это всё мало кому интересно. GNU/Linux захватывает рынок, который когда-то занимал Unix. В Северной Каролине появляется компания Red Hat и начинает строить бизнес исключительно на основе GNU/Linux. Исполнительный директор Red Hat -- Роберт Янг, именно он в интервью \textit{Linux Journal} спросил Торвальдса, не жалеет ли тот о переводе ядра под GPL. Уверенный ответ Линуса впечатлил Янга настолько, что он пересмотрел свои представления о Линуксе. Янг задумался, нельзя ли создать компанию на основе того же, что делает Debian -- поставки свободного ПО. Ведь в 1990 году Майкл Тиманн и Джон Гилмор создали компанию Cygnus Solutions, которая зарабатывает на поддержке свободных программ. Может, у Red Hat тоже получится заработать на поддержке GNU/Linux?
Outside the realm of hacker-oriented systems, however, GNU/Linux was picking up steam in the commercial Unix marketplace. In North Carolina, a Unix company billing itself as Red Hat was revamping its business to focus on GNU/Linux. The chief executive officer was Robert Young, the former \textit{Linux Journal} editor who in 1994 had put the question to Linus Torvalds, asking whether he had any regrets about putting the kernel under the GPL. To Young, Torvalds' response had a ``profound'' impact on his own view toward GNU/Linux. Instead of looking for a way to corner the GNU/Linux market via traditional software tactics, Young began to consider what might happen if a company adopted the same approach as Debian -- i.e., building an operating system completely out of free software parts. Cygnus Solutions, the company founded by Michael Tiemann and John Gilmore in 1990, was already demonstrating the ability to sell free software based on quality and customizability. What if Red Hat took the same approach with GNU/Linux?
``Западная научная традиция гласит, что мы стоим на плечах гигантов, -- говорит Янг, повторяя слова Торвальдса и Ньютона, -- бизнес тоже говорит, что не нужно изобретать колесо, чтобы двигаться вперёд. Прелесть GPL в том, что вы помещаете код в общественное достояние. \endnote{Здесь Янг слишком вольно притянул ``общественное достояние'', которое вообще означает ``не защищённое авторским правом''. GPL требует, чтобы код был защищён авторским правом, поэтому код под GPL не может быть общественным достоянием.} Допустим, вы независимый производитель софта, и вам для своего приложения нужна программа дозвона. Зачем создавать её заново? Просто используйте программу PPP из Red Hat Linux. Нужна графическая библиотека? Берите GTK. Так вы получаете уже готовые компоненты, причём самые качественные компоненты на рынке. И вы больше не тратите силы и деньги на воссоздание инструментов с нуля. Вы сразу решаете задачи клиентов''. Впрочем, Янг тоже не прочь включить собственнические программы в систему.
``In the western scientific tradition we stand on the shoulders of giants,'' says Young, echoing both Torvalds and Sir Isaac Newton before him. ``In business, this translates to not having to reinvent wheels as we go along. The beauty of [the GPL] model is you put your code into the public domain.\endnote{Young uses the term ``public domain'' loosely here. Strictly speaking, it means ``not copyrighted.'' Code released under the GNU GPL cannot be in the public domain, since it must be copyrighted in order for the GNU GPL to apply.} If you're an independent software vendor and you're trying to build some application and you need a modem-dialer, well, why reinvent modem dialers? You can just steal PPP off of Red Hat [GNU/]Linux and use that as the core of your modem-dialing tool. If you need a graphic tool set, you don't have to write your own graphic library. Just download GTK. Suddenly you have the ability to reuse the best of what went before. And suddenly your focus as an application vendor is less on software management and more on writing the applications specific to your customer's needs.'' However, Young was no free software activist, and readily included nonfree programs in Red Hat's GNU/Linux system.
Янг -- не единственный, кого волнуют деловой потенциал свободного ПО. Осенью 1996 года компании вовсю принюхиваются к аппетитным запахам с кухни открытого программного кода. Процессор Intel 386, глобальная сеть и веб-сайты накатили на рынок огромными волнами, но всего через год или два накатит настоящее цунами в виде GNU/Linux. Её приближение некоторые чувствуют уже сейчас.
Young wasn't the only software executive intrigued by the business efficiencies of free software. By late 1996, most Unix companies were starting to wake up and smell the brewing source code. The GNU/Linux sector was still a good year or two away from full commercial breakout mode, but those close enough to the hacker community could feel it: something big was happening. The Intel 386 chip, the Internet, and the World Wide Web had hit the marketplace like a set of monster waves; free software seemed like the largest wave yet.
Для Мёрдока это цунами видится и наградой, и наказанием Столлману -- человеку, который столько лет своей жизни вложил в движение за свободное ПО. Как и многие пользователи Linux, Мёрдок помнит, с чего всё начиналось. Как Торвальдс говорил, что изначально Linux был ``просто игрушкой'', и как признавался Таненбауму, что если бы тогда появилось ядро GNU, то он быстро забросил бы Linux. \endnote{Это цитата из знаменитого ``флейма'' Торвальдса и Таненбаума, что разгорелся после выхода ядра Linux. Защищая свой выбор монолитного ядра, Торвальдс писал, что делал Linux, чтобы получше изучить свой компьютер. ``Если бы ядро GNU было готово прошлой весной, я бы и не подумал делать своё ядро''. Источник: Chris DiBona, \textit{Open Sources} (O'Reilly \& Associates, Inc., 1999): 224.} Мёрдок видит, как много возможностей упущено. И как ещё больше возможностей находят люди из глубин интернета.
For Ian Murdock, the wave seemed both a fitting tribute and a fitting punishment for the man who had spent so much time giving the free software movement an identity. Like many Linux aficionados, Murdock had seen the original postings. He'd seen Torvalds' original admonition that Linux was ``just a hobby.'' He'd also seen Torvalds' admission to Minix creator Andrew Tanenbaum: ``If the GNU kernel had been ready last spring, I'd not have bothered to even start my project.''\endnote{This quote is taken from the much-publicized Torvalds-Tanenbaum ``flame war'' following the initial release of Linux. In the process of defending his choice of a nonportable monolithic kernel design, Torvalds says he started working on Linux as a way to learn more about his new 386 PC. ``If the GNU kernel had been ready last spring, I'd not have bothered to even start my project.'' See Chris DiBona et al., \textit{Open Sources} (O'Reilly \& Associates, Inc., 1999): 224.} Like many, Murdock knew that some opportunities had been missed. He also knew the excitement of watching new opportunities come seeping out of the very fabric of the Internet.
``Работать над Linux в первые годы было весело, -- вспоминает Мёрдок, -- с другой стороны, с ним работали, чтобы только переждать, пока не появится ядро Hurd -- это видно, если почитать обсуждения в группе comp.os.minix. Если бы Hurd появился быстрее, о Linux бы все забыли''.
``Being involved with Linux in those early days was fun,'' recalls Murdock. ``At the same time, it was something to do, something to pass the time. If you go back and read those old [comp.os.minix] exchanges, you'll see the sentiment: this is something we can play with until the Hurd is ready. People were anxious. It's funny, but in a lot of ways, I suspect that Linux would never have happened if the Hurd had come along more quickly.''
Но вот кончился 1996 год, и любые ``если бы'' потеряли смысл. Окно размером в 36 месяцев захлопнулось, и теперь даже если появится ядро Hurd, оно останется в тени Linux. Шансы, что его заметит кто-то кроме гиков, очень малы. Linux как будто бы выполнил задачу проекта GNU, заняв последний пробел свободной операционной системы. Только для большинства пользователей вся эта система -- Линукс. На их компьютерах стоят несвободные программы, и они не видят в этом ничего плохого.
By the end of 1996, however, such ``what if'' questions were already moot, because Torvalds' kernel had gained a critical mass of users. The 36-month window had closed, meaning that even if the GNU Project had rolled out its Hurd kernel, chances were slim anybody outside the hard-core hacker community would have noticed. Linux, by filling the GNU system's last gap, had achieved the GNU Project's goal of producing a Unix-like free software operating system. However, most of the users did not recognize what had happened: they thought the whole system was Linux, and that Torvalds had done it all. Most of them installed distributions that came with nonfree software; with Torvalds as their ethical guide, they saw no principled reason to reject it. Still, a precarious freedom was available for those that appreciated it.
И всё-таки мечта хакеров GNU сбылась -- полностью свободная система существует, как бы тернист ни был путь пользователя к ней.
\theendnotes
\setcounter{endnote}{0}