У спільнотах вільного програмного забезпечення та програмного забезпечення з відкритим вихідним кодом існують розбіжності щодо того, як слід називати операційні системи, які використовують комбінацію програмного забезпечення 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 — ще не було готове. Використання амбітної “мікроядерної” концепції архітектури ядра завело його розробників у безвихідь. Станом на 2022 рік ядро 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”. Чому ми повинні робити виняток для GNU? (прим: Тут “XYZ” — це будь-яка довільна назва)
Тисячі проектів розробляли програми, включені до сучасних систем 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” з цим принципом.
Примітка від редакції aCode
Ця стаття покликана дати вам розуміння точок зору обох сторін щодо іменування систем. Основну різницю, яку я побачив у цій дискусії, я виділив в останньому абзаці (перед цим підрозділом) жирним курсивом і зараз перефразую трохи іншими словами:
Проект GNU закликає використовувати термін “GNU/Linux”, аргументуючи це тим, що вони керуються принципами “розробки та розповсюдження вільного ПЗ” і хочуть, щоб про ці принципи дізналися більше людей. У той час як прихильники терміну “Linux” і сам Лінус Торвальдс не бачать у цьому великої проблеми чи протиріччя, виступаючи виключно за практичну сторону та популяризацію Linux-систем, а не будь-яких принципів.
Мати свої принципи та відстоювати їх дуже важливо в будь-яких сферах життя, але питання в тому, що це за принципи і чи дійсно їх власники вважають важливим саме те, про що говорять на публіку, не переслідуючи під цим інші (вагоміші саме для них) цілі.
Я не агітую і не проти ні першого, ні другого варіанта іменування Linux-систем. Вільне програмне забезпечення є важливою темою, яка історично вплинула на розвиток технологій і на те, що ми маємо зараз. Велике дякую тим, хто цим займається і займався! Метою статей рубрики “Уроки Linux” є допомогти початківцям розібратися в Linux-системах та навчитися з ними ефективно взаємодіяти. Задля збереження простоти та лаконічності (і не на шкоду FSF та ідеям вільного ПЗ) у статтях використовуватиметься термін “Linux”.
Примітка: Ця тема є важливою частиною вивчення Linux-систем і новачки повинні знати як про проект GNU, який виступає за вільне програмне забезпечення (ліцензія GNU GPL), так і про цю назву. Який термін використовувати саме вам, вирішуйте самі.


(3 оцінок, середня: 3,67 з 5)