GNU/Linux или Linux? Спор об именовании
Обновл. 29 Июн 2021 |
В сообществах свободного программного обеспечения и программного обеспечения с открытым исходным кодом существуют разногласия по поводу того, как следует называть операционные системы, использующие комбинацию программного обеспечения GNU и ядра Linux: «GNU/Linux» или «Linux»?
Сторонники термина «Linux» утверждают, что данный термин гораздо чаще используется пользователями и средствами массовой информации и что он служит общим термином для систем, сочетающих Linux-ядро с программным обеспечением из множества других источников.
Термин «GNU/Linux» продвигается Фондом свободного программного обеспечения (сокр. «FSF» от англ. «Free Software Foundation») и его основателем Ричардом Столлманом. Они аргументируют это тем, что проект GNU внес основной вклад не только во многие компоненты операционной системы, использовавшиеся в последующей разработке современных Linux-систем, но и в связанную с ними философию свободного программного обеспечения.
Некоторые дистрибутивы операционных систем, содержащих ядро Linux, используют имя, продвигаемое FSF, например, Debian GNU/Linux, Trisquel GNU/Linux и Parabola GNU/Linux-libre. А вот компания Red Hat, владеющая дистрибутивами RHEL, Fedora, CentOS и др., предпочитает называть свои операционные системы используя термин «Linux».
Что такое «Linux»?
«Linux» сам по себе является просто ядром — основной частью операционной системы. Остальное же программное обеспечение, такое как: набор компиляторов GNU Compiler Collection (сокр. «GCC»), используемый для компиляции ядра, оболочка командной строки bash, сами команды, окружение рабочего стола и программное обеспечение, которое работает поверх окружения рабочего стола, например, браузер Mozilla Firefox, — всё это создано разными группами разработчиков.
Что такое «GNU»?
В 1983 году Ричард Столлман, в рамках проекта GNU (акроним от «GNU is not Unix»), начал разработку полноценной, Unix-совместимой операционной системы, состоящей из свободного программного обеспечения. К 1991 году проект GNU завершает создание многих частей операционной системы GNU, включая: набор компиляторов GCC, оболочку командной строки bash, различных утилит оболочки, текстовый редактор Emacs и многое другое.
Однако основная часть операционной системы — ядро GNU Hurd — еще не было готово. Использование амбициозной «микроядерной» концепции архитектуры ядра завело его разработчиков в тупик. По состоянию на 2021 год ядро GNU Hurd уже много лет находится в состоянии, далеком от стабильной версии. Из активных проектов существует дистрибутив Debian GNU/Hurd, а в 2010 году появился новый дистрибутив на базе GNU/Hurd и Arch Linux — Arch Hurd. В 2020 году дистрибутив GNU Guix стал поддерживать GNU Hurd. Но широкого использования, как и стабильной версии/поддержки ядро GNU Hurd не имеет до сих пор.
Роль ядра Linux
В 1991 году Линус Торвальдс выпустил первую версию ядра Linux, которое рассматривалось проектом GNU как «последняя недостающая часть» для их операционной системы. Объединяя ядро Linux, программное обеспечение GNU и X Window System, получалась полностью свободная операционная система. С этого момента и берут свое начало первые споры о том, как следует называть подобные дистрибутивы.
Аргументы сторонников термина «GNU/Linux»
Люди, которые используют термин «Linux», преуменьшают, по словам Столлмана, значение проекта GNU, представляющего собой разработку полноценной свободной операционной системы, акцентирующей свое внимание на философии разработки и распространения свободного ПО. В то время как ядро Linux являлось лишь «наполнителем» для его системы.
«Многие люди внесли значительный вклад в свободное программное обеспечение нашей системы, и все они заслуживают похвалы. Но причина, по которой это является интегрированной системой, а не просто набором полезных программ, заключается в том, что именно проект GNU намеревался сделать её единой. Мы составили список программ, необходимых для полноценной свободной операционной системы, и начали создавать (или находили людей, которые могли создать) программы из этого списка.
[…] На Линуса Торвальдса частично повлияла речь о GNU в Финляндии в 1990 году. Возможно, что даже и без этого влияния он мог бы написать ядро, подобное Unix, но, вероятнее всего, оно бы не относилось к свободному программному обеспечению».
Первоначально Столлман предложил использовать название LiGNUx, содержащее упоминание как проекта GNU, так и ядра Linux. Но в дальнейшем, по причине неблагозвучия первого варианта, был придуман другой — GNU/Linux.
«Программа в Unix-подобной операционной системе, которая распределяет машинные ресурсы и взаимодействует с оборудованием, называется «ядром». GNU обычно используется в связке с ядром, называемым Linux. А значит, данная комбинация представляет собой операционную систему именно «GNU/Linux». Миллионы людей используют GNU/Linux, но по ошибке называют её просто «Linux».
— сообщается на главной странице официального сайта проекта GNU.
Некоторые люди считают, что основатель GNU и FSF затеял всё это только для раздувания своего эго, на что Столлман в 2001 году заявил следующее:
«[…] Многие думают, что я, таким образом, тешу свое самолюбие, но я же не прошу вас называть систему «Stallmanix», верно?»
Из интервью Столлмана в 2005 году:
«Ядро Linux не было разработано с целью либеризации киберпространства, и мотивы для создания ядра Linux не дали нам полноценной системы GNU/Linux.
Сегодня десятки миллионов пользователей используют операционную систему, разработанную для того, чтобы они могли иметь свободу, но они этого не осознают, потому что думают, что система — это Linux, и что она была разработана студентом «просто ради веселья».
Аргументы сторонников термина «Linux»
Сторонники термина «Linux» утверждают, что было бы ошибкой фокусироваться только на GNU, поскольку среднестатистический дистрибутив содержит программное обеспечение от различных организаций и может именоваться «Mozilla/KDE/Apache/GNU/Linux» с аналогичным обоснованием.
Важной причиной принятия термина «Linux» является наличие программ, не относящихся к проекту GNU (HTTP-сервер Apache, GUI, дисплейный сервер и пр.), присутствующих в дистрибутиве, созданном на базе ядра Linux.
«В этом автобусе много людей; я не слышу криков поддержки о том, что GNU важнее многих других компонентов; нельзя убрать колесо (двигатель или сиденья) и в итоге получить полноценное транспортное средство. Я рекомендую вам радоваться, что у нас есть автобус»,
— пишет Джим Геттис, один из основателей X Window System.
Сам же Линус Торвальдс сообщает:
«На самом деле не имеет значения, как люди называют Linux, до тех пор, пока воздается должное тому, кто это заслужил (речь про обе стороны). Лично я буду настойчиво продолжать называть это «Linux».
Выдержки из официального сайта проекта GNU
Примечание: Выдержки взяты из FAQ на странице https://www.gnu.org/gnu/gnu-linux-faq.html официального сайта проекта GNU.
Почему вы называете систему, которой мы пользуемся, «GNU/Linux», а не «Linux»?
Большинство дистрибутивов операционных систем, основанных на Linux как на ядре, являются в основе своей модифицированными версиями операционной системы GNU. Мы начали разработку GNU в 1984 году, несколькими годами ранее, чем Линус Торвальдс начал писать свое ядро. Нашей целью было разработать полную свободную операционную систему. Конечно, мы не разрабатывали все её части сами, но мы прокладывали дорогу. Мы разработали большинство основных компонентов, сформировав самый крупный единый вклад в систему в целом. Общий план развития тоже был нашим. Справедливости ради мы должны получить упоминание по меньшей мере на равных.
Разве для сообщества не было бы лучше, если бы вы не разделяли людей просьбой называть именно «GNU/Linux»?
Когда мы просим людей говорить «GNU/Linux», мы не разделяем людей. Мы лишь просим их отдать должное проекту GNU за операционную систему GNU. Этим мы не критикуем никого и никого не отталкиваем.
Разве проект GNU не поддерживает свободу слова каждой личности и право называть систему так, как она хочет?
Да, конечно, мы убеждены, что у вас есть свобода слова и право называть операционную систему так, как вам угодно. Мы просим людей называть систему «GNU/Linux» для того, чтобы быть справедливыми по отношению к проекту GNU, популяризовать ценности свободы, которые отстаивает GNU, а также проинформировать других людей, что эти ценности свободы дали жизнь этой системе.
Проблема с «GNU/Linux» в том, что название слишком длинно. Зачем мне мучиться и говорить «GNU»?
Сказать «GNU» можно за какую-нибудь секунду. Если вы цените систему, которую мы разработали, разве вы не можете уделить одну секунду тому, чтобы выразить признание нашей работы?
Поскольку Linux является второстепенной составляющей, было бы ли фактически неверно называть систему просто «GNU»?
Было бы неблагородно просить людей перестать признавать какие бы то ни было заслуги Линуса Торвальдса. Он действительно написал важный компонент системы. Мы хотим, чтобы нам отдавали должное за начало и продолжение разработки системы, но это не значит, что мы должны относиться к Линусу так же, как те, кто называет систему «Linux», относятся к нам. Мы в корне не согласны с его политическими взглядами, но мы встречаем это разногласие уважительно и открыто, а не пытаемся преуменьшить заслуги Линуса и его вклад в систему.
К настоящему времени систему дополнили многие другие проекты, однако они не настаивают на том, чтобы мы называли её «XYZ/Linux» (прим: Здесь «XYZ» — это любое произвольное название). Почему мы должны делать исключение для GNU?
Тысячи проектов разрабатывали программы, включенные в современные системы GNU/Linux. Все они заслуживают благодарности за свой вклад, однако они не являются основными разработчиками системы в целом, поэтому они не просят, чтобы на них ссылались, как на одного из основных разработчиков.
GNU отличается от них, потому что это нечто большее, чем просто привнесенная программа и даже большее, чем набор привнесенных программ. GNU — это тот каркас, на котором была построена вся система.
К настоящему времени многие компании сделали вклад в эту систему; разве это не значит, что мы должны называть её «GNU/Red Hat/Novell/Linux»?
GNU нельзя сравнивать с Red Hat или Novell; это не компания, не организация и даже не вид деятельности. GNU — это операционная система. (Когда мы говорим о проекте GNU, речь идет о проекте по разработке системы GNU.) Система GNU/Linux основана на GNU, и именно поэтому «GNU» должно присутствовать в её названии.
Почему «GNU/Linux», а не «Linux/GNU»?
Упоминать главную составляющую первой — это правильно и корректно. Вклад GNU в систему не только больше, чем Linux, но и был произведен раньше, чем Linux. На самом деле всё это движение начали мы. Кроме того, «GNU/Linux» отражает тот факт, что Linux представляет низкий уровень, а GNU заполняет технически более высокие уровни.
Однако, если вы предпочитаете называть систему «Linux/GNU», это намного лучше, чем то, что люди обычно делают — они полностью игнорируют GNU и создают видимость, что вся система и есть Linux.
Почему вы так долго ждали, прежде чем просить людей называть ее «GNU/Linux»?
А мы, собственно, и не ждали. Мы начали обращаться к разработчикам и дистрибьюторам в частном порядке по этому поводу в 1994 году, а в 1996 году провели более открытую кампанию. Мы будем продолжать столько, сколько потребуется.
Поскольку многое в GNU пришло из Unix, не должна ли GNU отдавать должное Unix, употребляя «Unix» в своем названии?
В действительности GNU ничего не почерпнула из Unix. Unix была (и остается) несвободной, так что использование кода её программ в GNU было бы незаконным. Это не случайно. Именно поэтому мы разработали GNU: поскольку у вас не могло быть свободы при пользовании Unix или любой другой операционной системы тех дней, нам нужна была свободная система, чтобы заменить её. Мы не могли копировать программы или даже их части из Unix; всё приходилось писать заново.
Почему бы все равно не называть систему «Linux», укрепляя этим положение Линуса Торвальдса как «парня с обложки» нашего сообщества?
Линус Торвальдс — «парень с обложки» (выражение других людей, не наше) для своих целей, а не для наших. Цель Торвальдса — сделать систему более популярной, и он верит в то, что её ценность для общества состоит исключительно в практических достоинствах, которые она предоставляет: её возможностях, надежности и доступности. Он никогда не выступал за свободу сотрудничества как этический принцип, поэтому общественность и не связывает названия «Linux» с этим принципом.
Примечание от редакции Ravesli
Данная статья призвана дать вам понимание точек зрения обеих сторон по поводу именования систем. Основную разницу, которую я увидел в этой дискуссии, я выделил в последнем абзаце (перед данным подразделом) жирным курсивом и сейчас перефразирую немного другими словами:
Проект GNU призывает использовать термин «GNU/Linux», аргументируя это тем, что они руководствуются принципами «разработки и распространения свободного ПО» и хотят, чтобы об этих принципах узнали больше людей. В то время как сторонники термина «Linux» и сам Линус Торвальдс не видят в этом большой проблемы или противоречия, выступая исключительно за практическую сторону и популяризацию Linux-систем, а не каких-либо принципов.
Иметь свои принципы и отстаивать их очень важно в любых сферах жизни, но вопрос в том, что это за принципы и действительно ли их владельцы считают важным именно то, о чем говорят на публику, не преследуя под этим другие (более значительные именно для них) цели.
Я не агитирую и не против ни первого, ни второго варианта именования Linux-систем. Свободное программное обеспечение является важной темой, которая исторически повлияла на развитие технологий и на то, что мы имеем сейчас. Большое спасибо тем, кто этим занимается и занимался! В статьях рубрики «Уроки по Linux» целью является помочь новичкам разобраться в Linux-системах и научиться с ними эффективно взаимодействовать. Ради сохранения простоты и лаконичности (и не в ущерб FSF и идеям свободного ПО) в статьях будет использоваться термин «Linux».
Примечание: Данная тема является важной частью изучения Linux-систем и новички должны знать как о проекте GNU, который выступает за свободное программное обеспечение (лицензия GNU GPL), так и об этом споре именования. Какой термин использовать именно вам, решайте сами.
Источник