GNU/Linux чи Linux: як правильно називати ОС?
«Правильно використовувати назву GNU/Linux, а не просто Linux».
Впевнені, що після цих слів у частини наших читачів неабияк «спалахне» від давнього і не закритого питання. Якби ми написали зворотне — ефект був би той самий, тільки від іншої групи ентузіастів. І у кожної з цих двох спільнот є свої беззаперечні аргументи.
То як правильно називати те, без чого ми не уявляємо свого життя: GNU/Linux чи Linux? Нумо розбиратися.
Якщо у вас вже є своя відповідь — пишіть її у коментах під матеріалом. Бо ніщо так не тішить авторку, як холівар під її текстом 😏
Джерела конфлікту GNU/Linux
Одна з найбільших суперечок в опенсорсній спільноті пов’язана з назвою операційної системи GNU/Linux. Велике сімейство ОС створили з використанням:
- ядра Linux, яке розробив Лінус Торвальдс у 1991 році,
- програмного забезпечення GNU, створеного FSF під керівництвом Річарда Столмена.
Дискусія полягає в наступному: називати таку ОС GNU/Linux чи просто Linux?
Трохи історії
У середині 80-х років Річард Столмен заснував рух за вільне програмне забезпечення. Він хотів сприяти розробці опенсорсного ПЗ, яке будь-хто міг використовувати, змінювати чи поширювати. Це вилилося у заснування Фонду вільного програмного забезпечення (FSF), який створив підструктуру для ОС GNU. FSF вдалося закодувати весь необхідний матеріал для операційної системи, яка тепер відома як ПЗ GNU.
Однією з проблем, що зупинила подальший розвиток проєкту — нестабільність ядра Hurd, розробленого для ОС GNU. Ядро Linux, що розробив Лінус Торвальдс, заповнило цю прогалину. Відтоді розробники почали використовувати ядро Linux разом із ПЗ GNU та іншими матеріалами для створення власних дистро.
Іншими словами, місію Столмена зі створення «вільної» операційної системи швидко перевершили інші люди. У певному сенсі гетьман FSF став жертвою того, що сам збирався побудувати. Проєкт GNU, як носій ідеалістичного бачення світу Столмена, був змішаний із суспільством FLOSS, що швидко розвивалося.
Початок конфлікту
Протягом багатьох років назва Linux була неофіційно прийнятою масами ентузіастів для позначення операційних систем на основі ядра Linux та ПЗ GNU. Люди тоді й не думали, що Linux і GNU — це різні речі. І саме тут бере початок наш холівар.
Причина, чому назва така важлива для FSF, полягає в тому, що GNU — ідеологічний проєкт створення «вільної» операційної системи та просування концепції «вільного» програмного забезпечення. Відмова від GNU означає втрату повідомлення та змішування з усіма іншими видами концепцій — відкритим кодом, безплатним ПЗ, технологіями загалом тощо.
Люди, які думають, що вся система — це Linux, зазвичай плутаються і приписують цим розробникам роль в історії нашої спільноти (ред. FSF), якої вони насправді не відігравали. Тоді вони надають надмірної ваги поглядам цих розробників.
— пише Річард Столмен щодо GNU/Linux.
Іншими словами, головна турбота Столмена — це поширення та підтримка його ідеології. За його словами, якщо в системі буде назва «GNU», то це автоматично додасть більшої ваги його поглядам. FSF також зможе стверджувати, що багато сучасних операційних систем на базі Linux представляють ідеологічний проєкт Столмена.
Технічна сторона питання: склад ОС
Сучасне вільне програмне забезпечення та опенсорсні операційні системи складаються з ПЗ багатьох різних авторів, включаючи розробників:
- ядра Linux,
- ПЗ GNU,
- проєкту X Window System тощо.
Настільні та серверні дистрибутиви використовують такі компоненти GNU, як: GNU C Library (glibc), GNU Core Utilities (coreutils) і оболонку Bash.
У 2002 році під час аналізу вихідного коду Red Hat Linux 7.1, типового дистрибутива Linux, Девід А. Вілер виявив, що загальний розмір пакетів із проєкту GNU набагато більший, ніж ядро Linux.
Пізніше, у 2011 році, під час аналізу основного репозиторію випуску Natty (дистрибутива Ubuntu), дослідники виявили, що він складається на 8-13% з компонентів GNU. Діапазон залежить від того, чи GNOME вважається частиною GNU. І лише 6-9% займає ядро Linux (9%, якщо включити його прямі залежності).
З іншого боку, є смартфони (типу Android від Google), маршрутизатори та пристрої VoIP. Вони розроблені з урахуванням економії простору та використовують ядро Linux із невеликою кількістю компонентів GNU або без них. Наприклад, ОС Android створили на базі Linux і вона не використовує жодних компонентів або бібліотек GNU.
Хочете отримувати дайджест з цікавими новинами, розкладом курсів та нашими вакансіями? Підпишіться на нашу імейл розсилку 💌
Аргументи на користь GNU/Linux
FSF виправдовує назву «GNU/Linux» насамперед тим, що проєкт GNU спеціально розробляв повну систему, у якій ядро Linux заповнило лише одну з останніх прогалин. Велика кількість компонентів і вихідного коду GNU, що використовуються в таких системах, є другорядним аргументом.
У 2010 році Столмен заявив, що присвоєння назви — це не просто питання рівного згадування проєкту GNU. За його словами, оскільки систему частіше називають Linux, люди схильні «думати, що це все Linux, що все це розпочав Торвальдс у 1991 році, і вони думають, що все походить від його бачення життя, і це справді серйозна проблема».
В Alpine Linux заявили, що GNU/Linux є правильною назвою, коли йдеться про дистрибутиви Linux, які базуються на glibc і GNU coreutils. Це стосується, приміром, Debian та Fedora.
У відповідь на поширений аргумент: чому б тоді не згадати усіх причетних до ОС? Приміром: GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv. FSF визнає, що багато людей зробили внесок у GNU/Linux і що коротка назва не може згадати всіх з них. Але й один Linux згадувати — зась.
Аргументи на користь Linux
Основною причиною прийняття назви «Linux» є наявність матеріалів, що не належать до GNU (сервер зображення, HTTP-сервер Apache, GUI), присутніх у повному дистрибутиві, створеному на основі ядра Linux. Захисники назви «Linux» кажуть, що операційна система, побудована на основі ядра Linux, має називатися Linux.
Я вважаю, що GNU/Linux виправдана назва… Але, так само я вважаю, що і Red Hat Linux, SuSE Linux чи Debian Linux — це добре. Бо якщо ви насправді створили свій власний дистрибутив Linux, ви можете обрати його назву. А от називати Linux «GNU Linux», я вважаю, просто смішно.
— коментар Торвальдса з документального фільму Revolution OS.
У редакційній статті в Linux Journal висловили поширене припущення, що Столмен захищає комбіновану назву через бажання поніжитися в променях слави Linux: «Можливо, Столмен розчарований через те, що Лінус отримав славу за те, що сам Столмен хотів зробити».
«Я не чую аргументів на підтримку того, що ПЗ GNU важливіше за всі інші компоненти. Не можна забрати колесо, і в кінцевому підсумку отримати функціональний автомобіль. Або двигун чи сидіння. Рекомендую радіти, що у нас є автобус», — пише Джим Гетті, засновник X Windows System.
У загальному вживанні назва «Linux» сама по собі часто використовується як стандартний приклад концепції програмного забезпечення або іншого вмісту, який можна вільно змінювати та розповсюджувати, навіть без згадки GNU.
То як називати ці ОС?
Цілком можливо, що перші дистрибутиви Linux були просто варіаціями GNU. Крім Linux і X Window System, переважна більшість кодової бази дійсно походить від проєкту Столмена. Проте час ішов, технологія розвивалася далі, визначення операційних систем розширились тощо.
У 2022 році аргументи Столмена звучать застаріло. Багато важливих діячів спільноти «вільного» програмного забезпечення визнали їх неактуальними. Тому багато в чому слід покладатися на бачення автора дистро, котрий і буде його нарікати.
То в чому ми зараз впевнені точно?
- Впевнені точно І. Назва GNU/Linux неприйнятна, коли мова йде про деякі вбудовані системи, такі як смартфони. Тут ядро Linux використовується з невеликою кількістю компонентів GNU або без них.
- Впевнені точно ІІ. GNU/Linux — правильна назва, коли йдеться про дистрибутиви Linux, які засновані на glibc і GNU coreutils. Тобто тепер, Debian GNU/Linux та Fedora GNU/Linux.
- Впевнені точно ІІІ. Проєкту GNU слід віддати належне за його значний внесок в ОС, яку зазвичай називають «Linux». Та Столмен і FSF не мають підстав стверджувати, що дистрибутиви, які використовують пакети GNU, є лише варіаціями GNU.
То як ви будете називати ОС: GNU/Linux чи Linux? Пишіть у коментарях 👇