Linux и проект GNU

Ричард Столмен

Многие пользователи компьютеров ежедневно используют измененную версию системы GNU, не отдавая себе в этом отчета. События обернулись так, что версия GNU, широко применяемая в настоящее время, более известна как ``Linux'', и многие пользователи не представляют степени ее взаимосвязи с проектом GNU.

На самом деле Linux существует; это ядро, и такие люди используют его. Но нельзя использовать ядро само по себе, ядро полезно только как часть полной операционной системы. Обычно Linux применяется в комбинации с операционной системой GNU: эта система по большей части является GNU, где в качестве ядра работает Linux.

Многие пользователи не совсем понимают разницу между ядром, то есть Linux, и системой в целом, которую они также называют ``Linux''. Двоякое использование слова не помогает пониманию.

Программисты обычно знают, что Linux -- это ядро. Но поскольку обычно они слышали, что всю систему также называют ``Linux'', они зачастую придумывают историю, которая объясняла бы такое название. Например, многие верят, что как только Линус Торвальдс завершил написание ядра, его друзья поискали вокруг другие свободные программы, и ни с того ни с сего практически все необходимое для создания Unix-подобной операционной системы оказалось уже доступным.

То, что они обнаружили, не было случайностью -- это была система GNU. Доступное свободное программное обеспечение составилось в завершенную систему, потому что проект GNU работал над ее созданием с 1984 года. В Манифесте GNU поставлена цель разработки свободной Unix-подобной системы, называемой GNU. Самое Первое объявление о начале проекта GNU также обозначает некоторые первоначальные планы для этой системы. Ко времени написания Linux система была практически завершена.

Большинство проектов по написанию свободного программного обеспечения имеют целью разработку конкретной программы для конкретной задачи. К примеру, Линус Торвальдс решил написать Unix-подобное ядро (Linux); Дональд Кнут решил написать программу для форматирования текста (TeX); Боб Шифлер решил написать оконную систему (X Windows). Естественно будет измерять вклад подобного рода проектов по конкретным программам, которые из него вышли.

Что мы получим, если попытаемся таким образом измерить вклад проекта GNU? Один из производителей компакт-дисков выяснил, что в их ``дистрибутиве Linux'' программы GNU были самым большим единым составляющим, около 28% всего исходного кода, и это включало некоторые ключевые компоненты, без которых не было бы системы. Сам Linux занимал около 3%. Так что если вы хотите выбрать имя для системы, зная, кто написал программы в ней, то самым подходящим вариантом было бы ``GNU''.

Но мы не считаем, что это правильный путь рассмотрения данного вопроса. Проект GNU не был, и не является теперь, проектом по разработке конкретных программных пакетов. Он не был проектом по созданию компилятора Си, хоть мы и написали его. Он не был проектом по созданию текстового редактора, хоть мы написали и редактор. Целью проекта GNU была разработка полной свободной Unix-подобной системы.

Многие люди внесли значительный вклад в развитие программного обеспечения этой системы, и все они заслуживают признания. Но эта система стала системой -- а не просто набором полезных программ -- по той причине, что для этого и был запущен проект GNU. Мы составили перечень программ, необходимых для создания полной свободной системы, и систематически находили, писали или искали людей для написания всего, что есть в этом перечне. Мы написали важные, но не впечатляющие основные компоненты, как ассемблер и компоновщик, поскольку без них у вас не получится системы. В полной системе необходимы не только инструменты программиста; Bourne Again SHell, интерпретатор PostScript Ghostscript и библиотека GNU C не менее важны.

К началу девяностых мы собрали всю систему, кроме ядра (и мы работали также над ядром, GNU Hurd, которое работает поверх Mach). Написание этого ядра оказалась сложнее, чем мы предполагали, и мы продолжаем работу по его завершению.

К счастью, вам не обязательно дожидаться его, потому что Linux работает уже сейчас. Когда Линус Торвальдс написал Linux, он заполнил последний большой пробел. Тогда люди смогли соединить Linux с GNU и создать свободную систему: основанную на Linux систему GNU (или систему GNU/Linux, для краткости).

Объединение их в одно целое может показаться простым делом, но это была нетривиальная задача. Библиотека GNU C (также называемая glibc) потребовала значительных изменений. Интеграция полной системы в дистрибутив, который мог бы заработать ``из коробки'' -- тоже большая работа. Для этого потребовалось решить проблемы установки и первого запуска системы -- мы эти вопросы не рассматривали, поскольку еще не достигли этого момента. Те люди, кто разработал разные дистрибутивы системы, оказали сообществу значительную услугу.

Еще один проект помимо GNU независимо сделал свободную Unix-подобную операционную систему. Эта система известна как BSD, она была разработана в UC Berkeley. Создатели BSD были воодушевлены примером проекта GNU, но в действительности их работа мало перекрывалась с GNU. Сегодня в системах BSD используются некоторые программы GNU, точно так же, как в системе GNU и ее вариантах используются некоторые программы из BSD; но в целом это две разные системы, которые развивались независимо. Любая существующая на сегодняшний день свободная операционная система почти наверняка является либо вариантом GNU, либо BSD.

Проект GNU поддерживает системы GNU/Linux так же, как саму систему GNU -- даже денежными средствами. Мы оплатили переписывание относящихся к Linux расширений в библиотеке GNU C, так что теперь они хорошо интегрированы, и новейшие системы GNU/Linux используют текущий выпуск библиотеки без изменений. Мы также спонсировали ранний этап разработки Debian GNU/Linux.

Сегодня в большей части нашей работы мы пользуемся основанными на Linux системами GNU, и мы надеемся, что вы также пользуетесь ими. Но, пожалуйста, не вводите людей в заблуждение двусмысленным употреблением названия ``Linux''. Linux -- это ядро, один из важных компонентов системы. Вся система -- это GNU, в большей или меньшей степени.


© 1997, 1998 Richard Stallman
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Используются технологии uCoz