Проєкт GNUПроє́кт GNU ([ɡnuː])[3] — це безкоштовне програмне забезпечення, проєкт масової співпраці, про який Річард Столмен оголосив 27 вересня 1983 року. Його мета — надати користувачам комп'ютерів свободу та контроль у використанні своїх комп'ютерів і комп'ютерних пристроїв шляхом спільної розробки та публікації програмного забезпечення, яке дає кожному право вільно запускати програмне забезпечення, копіювати та поширювати його, вивчати та змінювати. Програмне забезпечення GNU надає ці права у своїй ліцензії. Щоб гарантувати, що все програмне забезпечення комп'ютера надає його користувачам усі права на свободу (використання, спільний доступ, вивчення, змінення), навіть найбільш фундаментальна та важлива частина, операційна система (включаючи всі її численні допоміжні програми) повинне бути вільним програмним забезпеченням. Згідно з його маніфестом, основною метою проєкту було створити безкоштовну операційну систему, і включити, якщо можливо, «все корисне, що зазвичай постачається з системою Unix, щоб можна було обійтися без будь-якого програмного забезпечення, яке не є безкоштовним». Столмен вирішив назвати цю операційну систему GNU (рекурсивна абревіатура, що означає "GNU не Unix! "), заснувавши її дизайн на основі UNIX, власної операційної системи.[4] Розробка була розпочата в січні 1984 року. У 1991 році з'явилося ядро Linux, розроблене за межами проєкту GNU Лінусом Торвальдсом[5] а в грудні 1992 року воно стало доступним за версією 2 GNU General Public License.[6] У поєднанні з утилітами операційної системи, які вже були розроблені в рамках проєкту GNU, це дозволило створити першу операційну систему, яка була вільним програмним забезпеченням, широко відома як Linux.[7][8] Поточна робота проєкту включає розробку програмного забезпечення, підвищення обізнаності, політичну кампанію та обмін новими матеріалами. ПоходженняРічард Столмен оголосив про свій намір розпочати кодування проєкту GNU у повідомленні Usenet у вересні 1983 року[9] Коли проєкт GNU тільки розпочався, у них був текстовий редактор Emacs з Lisp для написання команд редактора, налагоджувач рівня джерела, генератор синтаксичних аналізаторів, сумісний з yacc, і компонувальник[10]. Система GNU вимагала власного компілятора C та інструментів, щоб бути вільним програмним забезпеченням, тому їх також потрібно було розробити. До червня 1987 року проєкт накопичив і розробив безкоштовне програмне забезпечення для асемблера, майже закінчений портативний оптимізаційний компілятор C (GCC), редактор (GNU Emacs) і різні утиліти Unix (такі як Після того, як ядро та компілятор були завершені, GNU можна було використовувати для розробки програм. Головною метою було створити багато інших програм, які будуть схожі на систему Unix. GNU міг запускати програми Unix, але не був ідентичним йому. GNU включив довші імена файлів, номери версій файлів і файлову систему, захищену від збоїв. Маніфест GNU був написаний, щоб отримати підтримку та участь інших для проєкту. Програмістів заохочували брати участь у будь-якому аспекті проєкту, який їх цікавив. Люди могли пожертвувати кошти, комп'ютерні частини або навіть власний час, щоб написати код і програми для проєкту[4]. Походження та розвиток більшості аспектів проєкту GNU (і вільного програмного забезпечення загалом) описано в детальному описі довідкової системи Emacs. (C-h g запускає команду редактора Emacs describe-gnu-project .) Це така ж детальна історія, що й на їхньому вебсайті. Маніфест GNUМаніфест GNU був написаний Річардом Столменом, щоб отримати підтримку та участь у Проєкті GNU. У Маніфесті GNU Столмен перерахував чотири свободи, необхідні для користувачів програмного забезпечення: свобода запускати програму для будь-яких цілей, свобода вивчення механіки програми та її модифікації, свобода розповсюдження копій і свобода вдосконалювати та змінювати модифіковані версії для загальнодоступних. використання[12][13]. Для реалізації цих свобод користувачам потрібен був повний доступ до коду. Щоб код залишався безкоштовним і надавав його громадськості, Столмен створив Загальну публічну ліцензію GNU (GPL), яка дозволяла програмному забезпеченню та майбутнім поколінням коду, отриманого з нього, залишатися безкоштовними для загального користування. Філософія та активізмХоча більшість результатів проєкту GNU має технічний характер, він був започаткований як соціальна, етична та політична ініціатива. Окрім виробництва програмного забезпечення та ліцензій, Проєкт GNU опублікував низку робіт, більшість з яких були авторства Річарда Столмена. Безкоштовне(вільне) програмне забезпеченняПроєкт GNU використовує програмне забезпечення, яке користувачі можуть безкоштовно копіювати, редагувати та розповсюджувати. Воно вільне в тому сенсі, що користувачі можуть змінювати програмне забезпечення відповідно до індивідуальних потреб. Спосіб отримання програмістами вільного програмного забезпечення залежить від того, де вони його отримують. Програмне забезпечення може бути надано програмісту від друзів або через Інтернет, або компанія, в якій працює програміст, може придбати програмне забезпечення. ФінансуванняДоходи від асоційованих членів, покупки та пожертвування підтримують проєкт GNU[14]. КопілефтКопілефт — це те, що допомагає підтримувати вільне використання цього програмного забезпечення серед інших програмістів. Копілефт дає юридичне право кожному використовувати, редагувати та розповсюджувати програми або код програм, якщо умови розповсюдження не змінюються. Як результат, будь-який користувач, який отримує програмне забезпечення на законних підставах, має ті самі свободи, що й інші його користувачі. Проєкт GNU та Фонд вільного програмного забезпечення іноді розрізняють «сильний» і «слабкий» копілефт. «Слабкі» програми копілефт зазвичай дозволяють розповсюджувачам пов'язувати їх разом із невільними програмами, тоді як «сильне» копілефт суворо забороняє цю практику. Більшість результатів роботи проєкту GNU випущено під сильним копілефтом, хоча деякі випущені під слабким копілефтом або за слабкою ліцензією на вільне програмне забезпечення[15][16]. Розробка операційної системиПершою метою проєкту GNU було створення цілої операційної системи вільного програмного забезпечення. Оскільки UNIX вже був широко поширений і працював на більш потужних машинах, у порівнянні з тогочасними машинами CP/M або MS-DOS ,[17] було вирішено, що це буде Unix-подібна операційна система. Пізніше Річард Столмен прокоментував, що вважає MS-DOS «іграшкою»[18]. До 1992 року проєкт GNU завершив роботу над усіма основними утилітами операційної системи, але не завершив запропоноване ними ядро операційної системи GNU Hurd. З виходом ядра Linux, розпочатого незалежно Лінусом Торвальдсом у 1991 році і випущеного під ліцензією GPL з версією 0.12 у 1992 році, вперше стало можливим запустити операційну систему, що повністю складається з вільного програмного забезпечення. Хоча ядро Linux не є частиною проєкту GNU, воно було розроблено з використанням GCC та інших інструментів програмування GNU і було випущено як безкоштовне програмне забезпечення під загальною суспільною ліцензією GNU[19]. На даний момент проєкт GNU не випустив версії GNU/Hurd, яка була би придатна для виробничого середовища з моменту початку проєкту GNU/Hurd понад 34 роки тому[20]. GNU/LinuxСтабільну версію (або варіант) GNU можна запустити шляхом поєднання пакетів GNU з ядром Linux, створюючи функціональну систему, подібну до Unix. Проєкт GNU називає це GNU/Linux, а визначальними функціями є комбінація:
На вебсайті GNU викладено список проєктів, і кожен проєкт має деталі щодо того, який тип розробника може виконати завдання, необхідне для певної частини проєкту GNU. Рівень навичок коливається від проєкту до проєкту, але всім, хто має базові знання з програмування, заохочуються до підтримки проєкту. Пакетування інструментів GNU разом з ядром Linux та іншими програмами зазвичай називається дистрибутивом (дистрибутивом) Linux. Проєкт GNU називає комбінацію GNU та ядра Linux «GNU/Linux» і просить інших зробити те ж саме[32], це призвело до суперечок щодо імен GNU/Linux. Більшість дистрибутивів Linux поєднують пакунки GNU з ядром Linux, яке містить власні двійкові блоби і ряд власних програм. Інструкції з розповсюдження вільної системи GNUGNU Free System Distribution Guidelines (Правила вільного поширення систем GNU або GNU FSDG) — це зобов'язання щодо розповсюдження системи, яке використовується для пояснення того, що означає для інсталяційного системного дистрибутива (наприклад, дистрибутив GNU/Linux) кваліфікуватися як безкоштовний (libre), а також допомагає розробникам дистрибутивів кваліфіковувати свої дистрибутиви. Здебільшого це включає дистрибутиви, які є комбінацією пакетів GNU з ядром Linux-libre (модифіковане ядро Linux, в якому видалені двійкові блоби, заплутаний код і частини коду за власними ліцензіями) і складаються лише з вільного програмного забезпечення (повністю відмовляючись від пропрієтарного програмного забезпечення) .[33][34][35] Дистрибутиви, які прийняли GNU FSDG, включають Dragora GNU/Linux-Libre, gNewSense, GNU Guix System, Hyperbola GNU/Linux-libre, Parabola GNU/Linux-libre, Trisquel GNU/Linux, Ututo та деякі інші[36]. В якості основи для FSDG були використані вказівки щодо ліцензій на розповсюдження проєкту Fedora[37]. Стратегічні проєктиЗ середини 1990-х років, коли багато компаній інвестували в розробку вільного програмного забезпечення, Фонд вільного програмного забезпечення перенаправляла свої кошти на юридичну та політичну підтримку розробки вільного програмного забезпечення. З цього моменту розробка програмного забезпечення була зосереджена на підтримці наявних проєктів і запуску нових проєктів лише тоді, коли існувала гостра загроза для спільноти вільного програмного забезпечення. Одним із найвідоміших проєктів проєкту GNU є колекція компіляторів GNU, компоненти якої були прийняті як стандартна система компілятора в багатьох Unix-подібних системах. Авторські права на більшість робіт проєкту GNU належать Фонду вільного програмного забезпечення. GNOMEРобоче середовище GNOME, було створене Проєктом GNU, оскільки інша настільна система, KDE, стала популярною, але вимагала від користувачів встановити Qt, який тоді був пропрієтарним програмним забезпеченням . Щоб запобігти спокусі встановити KDE і Qt, проєкт GNU одночасно запустив два проєкти. Одним із них був набір інструментів Harmony . Це була спроба зробити безкоштовну заміну програмного забезпечення Qt. Якби цей проєкт був успішним, умовну проблему з KDE було б вирішено. Другим проєктом був GNOME, який розглядав ту саму проблему з іншого боку. Він мав на меті зробити заміну KDE, яка не мала залежностей від пропрієтарного програмного забезпечення. Проєкт Harmony не досяг особливого прогресу, але GNOME розвивався дуже добре. Згодом фірмовий компонент, від якого залежав KDE (Qt), був випущений як безкоштовне програмне забезпечення[38]. GNU EnterpriseGNU Enterprise (GNUe) — це метапроєкт, започаткований у 1996 році[39] і його можна розглядати як підпроєкт проєкту GNU. Метою GNUe є створення безкоштовних «додатків корпоративного класу, усвідомлені даними» (планувальники корпоративних ресурсів тощо.). GNUe розроблено для збору корпоративного програмного забезпечення для системи GNU в одному місці (так само, як проєкт GNOME збирає програмне забезпечення для робочого столу). ВизнанняУ 2001 році проєкт GNU отримав нагороду USENIX Lifetime Achievement Award за «повсюдність, широту та якість його вільно доступного програмного забезпечення, яке можна розповсюджувати та модифікувати, що дозволило генерувати дослідження та комерційні розробки»[40]. Див. такожПосилання
Посилання |