Linux та GNU - Проект GNU - Фонд вільного програмного забезпечення
Багато користувачів комп'ютерів щодня запускають модифіковану версію GNU, навіть не усвідомлюючи цього. В силу особливого повороту подій версія GNU, яку сьогодні широко використовують, часто називається “Linux”, і багатьом її користувачів не відомо, що в основному це система GNU, розроблена проектом GNU.
Там дійсно є Linux і ці люди використовують її, але це тільки частина системи, якою вони користуються. Linux – це ядро – системна програма, яка виділяє ресурси машини іншим програмам, які ви запускаєте. Ядро - важлива частина операційної системи, але саме по собі воно марне; воно може функціонувати лише у складі повної операційної системи. Linux зазвичай застосовують у комбінації з операційною системою GNU: вся система є переважно GNU з додаванням Linux, тобто GNU/Linux. Усі звані дистрибутиви “Linux” насправді є дистрибутивами GNU/Linux.
Багато користувачів не розуміють, у чому різниця між ядром, тобто Linux, і системою, яку вони також називають “Linux”. Неоднозначне вживання назви не сприяє цьому. Ці користувачі часто думають, що Лінус Торвальдс розробив цілу операційну систему в 1991 році, йому тільки трохи допомогли.
Програмісти, по суті, знають, що Linux це ядро. Але оскільки вони нерідко чули, як усю систему теж називають “Linux”, вони часто уявляють собі історію, яка б виправдала найменування всієї системи по ядру. Наприклад, багато хто думає, що як тільки Лінус Торвальдс написав Linux (ядро), його користувачі озирнулися навколо в пошуках інших вільних програм, щоб працювати з ним, і виявили, що (без будь-якої особливої причини) майже все необхідне для побудови системи типу Unixвже під рукою.
Мета більшості проектів створення вільних програм — розробка певної програми для певного завдання. Наприклад, Лінус Торвальдс вирішив написати Linux, ядро типу Unix; Дональд Кнут вирішив написати TeX, програму верстки тексту; Боб Шейфлер вирішив створити віконну систему (систему X Window). Природно вимірювати внесок такого роду проекту за конкретними програмами, які прийшли із цього проекту.
Якби ми спробували виміряти таким чином внесок проекту GNU, до якого висновку ми дійшли б? Один із постачальників компакт-дисків встановив, що в їхньому “дистрибутиві Linux” програми GNU – найбільший єдиний масив – близько 28% всього вихідного тексту; до їх складу входять деякі суттєві компоненти, без яких системи не може бути; власне Linux складає близько 3%. (У 2008 році пропорції подібні: у розділі "main" gNewSense Linux становить - 1,5%, а GNU - 15%.) Отже, якби ви збиралися вибрати назву системи на підставі того, хто написав програми в цій системі, найбільш підходящим вибором одного компонента було б “GNU”.
Багато хто зробив серйозний внесок у вільні програми цієї системи, і всі вони заслуговують на вдячність за свої програми. Але причина, через яку це є цілісною системою — а не лише набором корисних програм — те, що проект GNU вирішив зробити це такою системою. Ми склали список програм, необхідних, щоб вільна система була повною, і систематично відшукували, писали чи відшукували людей для написання всього, що стояло у списку. Ми написали суттєві, але не вражаючі компоненти, тому що без них не можна отримати систему. Деякі з компонентів нашої системи (засоби програмування) стали популярні власними силами серед програмістів, але ми написали багатокомпонентів, які є засобами розробки(2). Ми навіть розробили програму для гри в шахи, GNU Chess, тому що у повній системі гри теж маємо бути.
На початок дев'яностих ми склали всю систему, крім ядра. Ми приступили до ядра, GNU Hurd, яке працює на Mach. Розробка цього ядра йшла набагато важче, ніж ми очікували; ядро GNU Hurd стало надійно працювати у 2001 році, але воно далеко не готове для загального користування.
На щастя, завдяки Linux нам не довелося чекати на Hurd. Коли Торвальдс звільнив Linux у 1992 році, це заповнило останню серйозну прогалину в системі GNU. Тоді люди змогли поєднувати Linux із системою GNU [1], щоб скласти повну вільну систему: версію GNU, яка містила також Linux; іншими словами, систему GNU/Linux.
Змусити їх добре працювати разом не було простим завданням. Деякі компоненти GNU(3) вимагали істотних змін, щоб працювати з Linux. Об'єднання в повну систему в єдиному дистрибутиві, який працював би "без припасування", було теж великою роботою. Це вимагало вирішення питань, пов'язаних із встановленням та завантаженням системи — проблема, за яку ми тоді ще не схопилися, бо у нас справа до цього поки не дійшла. Таким чином, люди, які розробили різні дистрибутиви системи, виконали велику і важливу роботу. Але це була робота, яку, за самою природою речей, обов'язково хтось виконав би.
Проект GNU підтримує системи GNU/Linux так само добре, як і саму систему GNU. ФСПО фінансував доробку розширень бібліотеки C GNU, пов'язаних з Linux, так що тепер вони добре пригнані одна до одної, і нові системи GNU/Linux використовують поточний випуск бібліотеки без змін. ФСПО фінансував також на ранній стадії розробку Debian GNU/Linux.
Сьогодні є багато різних варіантів системи GNU/Linux (часто званих дистрибутивами). Більшість з них включає невільні програми — їх розробники наслідують філософію «відкритого вихідного тексту», що асоціюється з Linux, а не філософію «вільних програм» GNU. Але є й повністю вільні дистрибутиви GNU/Linux. ФСПО надає технічні ресурси кількох із них.
Щоб створити вільний дистрибутив GNU/Linux, недостатньо просто виключити різноманітні невільні програми. В даний час звичайна версія Linux також містить невільні програми. Ці програми призначені для запису у пристрої вводу-виводу, коли завантажується система, і вони включаються у вигляді довгих послідовностей чисел у вихідний текст Linux. Таким чином, підтримка вільних дистрибутивів GNU/Linux зараз включає також підтримку вільної версії Linux.
Користуєтеся ви GNU/Linux чи ні, будь ласка, не вводите громадськість в оману двозначним вживанням назви “Linux”. Linux - це ядро, одна з необхідних складових системи. Система в цілому – це в основному система GNU із додаванням Linux. Коли ви говорите про це поєднання, будь ласка, називайте його “GNU/Linux”.
Додатки
Крім GNU був ще один проект, який незалежно зробив вільну операційну систему типу Unix. Ця система відома як BSD, вона була розроблена в університеті Каліфорнії в Берклі. Вона була невільною у вісімдесяті, але стала вільною на початку дев'яностих. Будь-яка з вільних операційних систем, що існують сьогодні, майже напевно є або варіантом системи GNU, або різновидом системи BSD.
Іноді запитують, чи є BSD теж версією GNU, подібно до GNU/Linux. Розробники BSD зробили свої програми вільними,наслідуючи приклад проекту GNU, і відкриті заклики активістів GNU допомогли переконати їх, але у вихідних текстах програм мало спільних місць з текстами GNU. Сьогодні системи BSD використовують деякі програми GNU, так само, як система GNU та її варіанти користуються деякими програмами BSD; проте загалом це дві різні системи, які розвивалися окремо. Розробники BSD не додали ядро в систему GNU, розробивши його, тому назва типу “GNU/BSD” не підійшла б до ситуації(5).
Примітки:
Примітки перекладачів
“Фонд вільного програмного забезпечення (ФСПО) – некомерційна організація, завданням якої є сприяння свободі користувачів комп'ютерів по всьому світу. Ми захищаємо права всіх користувачів програм”.
Інформацію щодо координації та пропозицій перекладів наших статей див. у “Посібнику з перекладів”.