GNU General Public License

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Талісман проекту GNU

GNU General Public License (Загальна публічна ліцензія GNU або Загальна громадська ліцензія GNU) — одна з найпопулярніших[1] ліцензій на вільне програмне забезпечення, створена Річардом Столменом для проекту GNU. Часто її скорочено називають GNU GPL чи просто GPL, якщо з контексту зрозуміло, про яку ліцензію йде мова (існує чимало інших ліцензій зі словами «general public license» у назві).

Концепція[ред.ред. код]

Мета GNU GPL — надання користувачеві прав копіювати, змінювати та розповсюджувати програми, і зобов'язань, згідно з якими користувачі всіх похідних програм теж отримають перераховані вище права. Принцип «спадковості» таких прав називають «копілефт» (транслітерація англійського «copyleft»), такий термін запропонував Річард Столмен. На відміну від GPL, ліцензії ПЗ власника дуже рідко надають користувачеві такі права і переважно намагаються, навпаки, обмежити їх, наприклад, встановивши заборону на відновлення сирцевого коду.

GPL — приклад сильної копілефт ліцензії, яка вимагає, щоб всі похідні роботи були доступні під тими же умовами, як і оригінал. GPL надає одержувачам комп'ютерної програми права відповідно визначенню вільного програмного забезпечення і використовує копілефт, щоб гарантувати, що ці права будуть збережені, навіть, коли робота значно змінена або до неї будуть додані будь-які частини. Це відрізняє її від до́звільних ліцензій на безплатне програмне забезпечення, прикладом яких є ліцензія BSD або ліцензія Apache.

Свобода[ред.ред. код]

GPL надає одержувачам комп'ютерних програм такі права, або «свободи»:

  • свободу запуску програми, з будь-якою метою;
  • свободу вивчення того, як програма працює, і її модифікації (попередньою умовою для цього є доступ до сирцевого коду);
  • свободу розповсюдження копій;
  • свободу поліпшення програми, і випуску поліпшень в публічний доступ (попередньою умовою для цього є доступ до сирцевого коду).

Історія[ред.ред. код]

GPL була написана Річардом Столменом в 1989, для використання з програмами, які випускаються як частина проекту GNU. Оригінальна GPL була заснована на об'єднанні ліцензій, які він використовував для ранніх версій GNU Emacs, GDB (зневаджувача GNU) i Колекції компіляторів GNU (GCC). Ці ліцензії містили умови, подібні тим, що вимагає сучасна GPL, але були специфічними для кожної програми, що робило їх несумісними. Метою Столмена було створити єдину ліцензію, яка могла використовуватися для будь-якого проекту, роблячи таким чином можливим сумісне використання коду різними програмами. Саме такою ліцензією стала перша версія GNU GPL, випущена в січні 1989 року.

Довіра до GPL зросла після ухвали в 1992 Лінусом Торвальдсом GPL, як ліцензії для ядра Linux, яке до того виходило за ліцензією, яка забороняла комерційне розповсюдження.

У 1990 році стало очевидним, що потрібна менш обмежна ліцензія, яка могла б використовуватися для деяких бібліотек ПЗ; коли версія 2 GPL була випущена в червні 1991 року, разом з нею була введена в обіг GNU Library General Public License, що також отримала номер 2, для позначення того, що ці дві ліцензії є взаємодоповнювальними. Номери версій розійшлися в 1999 році, коли була випущена LGPL версії 2.1, яка була перейменована в Lesser General Public License для уточнення її положення у філософії GNU.

Наступні 15 років члени Фонду вільного програмного забезпечення (FSF) збирали інформацію щодо лазівок, які використовували деякі продавці програмного та апаратного забезпечення для використання шляхами, протилежними намірам програмістів. Після тривалого обговорення була створена версія 3 ліцензії яку FSF офіційно випустив[2] 29 червня 2007.

Деякі спостерігачі вважають, що сильний копілефт, забезпечений GPL, був критичним до успіху Linux, надавши програмістам надію, що їх робота принесе користь всьому світу і залишиться вільною, а не буде експлуатуватися компаніями програмного забезпечення, яким не прийде в голову зробити щось корисне для суспільства.[3]

GPL v2[ред.ред. код]

Для забезпечення прав розробників і користувачів GPL накладає обов'язок поширювати сирцевий код разом з програмою і передавати користувачеві всі права, які захищає ліцензія.

Ці обмеження є предметом довгих суперечок. Альтернативною є точка зору, що виражається в різних ліцензіях, що базуються на ліцензії BSD, яка дозволяє користувачеві те, що забороняє GPL ― використання коду в невільних програмних продуктах. Ліцензії такого типу використовує значна частина вільного ПЗ, включаючи FreeBSD, Apache, BIND і інші проекти.

Разом з тим, GPL 2 також використовується безліччю програмних проектів. Парадокс полягає в тому, що, незважаючи на суперечки, які не стихають у вузьких колах, в результаті 15-річної історії розвитку в будь-якому репозиторії Linux або колекції портів FreeBSD завжди можна знайти програми, що розповсюджуються під ліцензіями обох типів.

GPL v3[ред.ред. код]

Третя версія GPL, яка, за задумом Столлмана, мала відповісти на питання, що виникли з моменту випуску другої версії, почала розроблятися в 2005 і побачила світ в липні 2007 року.

Основними змінами в ній стали пункти, що уточнюють право користувачів бути захищеними від нових погроз. Фонд вільного ПЗ вважає такими погрозами спроби патентного переслідування користувачів і розробників вільного ПЗ, обмеження прав користувачів за допомогою технологій DRM (Digital rights management), які накладають обмеження на копіювання і зміни контента, і, нарешті, засоби технічного захисту, що перешкоджають зміні користувачем ПЗ, у тому числі і того, що перебуває під вільною ліцензією. У GPL v3 додані положення для протидії тівоізаціі (прив'язки програмного забезпечення до обладнання) та укладення дискримінаційних патентних угод — патент може бути ліцензований для GPLv3 коду тільки на умовах повсюдного і безплатного використання), а також забезпечила захист від патентних позовів від постачальника GPLv3-продукту (якщо фірма постачає GPLv3 компоненти, то вона не може пред'явити судовий позов проти користувачів таких компонентів, звинувативши їх в порушенні патентів в даному ПЗ або в обході засобів захисту інтелектуальної власності).

Нова версія ліцензії викликала істотні розбіжності в співтоваристві, незважаючи на 12-місячний цикл обговорення. Найбільші питання виникли до пунктів, що стосуються заборони на використання у вільних продуктах технологій DRM. Як вважають деякі компанії і розробники, це привело б до втрати позиції Linux на ринку мультимедійних пристроїв.

Як запеклий супротивник GPL v3 виступив творець ядра Linux Лінус Торвальдс, який заявив, що ядро Linux залишиться на GPL v2 (проте не виключив можливість переходу на «третю GPL», якщо виникне небезпека виникнення двох несумісних ядер Linux).

Таким чином, співтовариство розділилося в думках відносно GPL 3, зайнявши одну з трьох позицій ― супротивники оновленої ліцензії обмежили ліцензування, додавши або зберігши примітку «тільки GPL 2»; згідні з принципами GPL 3 випустили нові версії виключно під нею; а велика частина розробників зберегла ліцензування «GPL 2 або пізнішій версії», надавши робити вибір самим користувачам.

Остаточні висновки про успіх або невдачу GPL 3 дасть практика, проте, статистика показує, що вже на початок 2008 року 2008 під GPL v3 ліцензовано понад 2000 проектів, серед яких всі розробки GNU (GCC, GnuPG, GNU Radius, GNU CoreUtils, tar, GRUB, wget), Samba, Rsync, Octave. Ще більше 6000 підтримують декілька варіантів ліцензій, які включають GPL v3.[4]

Дивіться також[ред.ред. код]

  • GNU Lesser General Public License (LGPL) — менш жорстка версія GPL, спочатку створена для бібліотек програмного забезпечення, яка дозволяє пов'язання з даною бібліотекою або програмою програми під будь-якою ліцензією, несумісною з GNU GPL.
  • Affero General Public License (GNU AGPL) — посилена версія ліцензії GPL призначена для мережевого серверного програмного забезпечення, яка вимагає щоб повний початковий код програми був доступним для будь-якого користувача мережі, який працює з цією програмою.
  • GNU Free Documentation License (GNU FDL, GFDL) — ліцензія документації, яка спочатку призначалася для використання з документацією для програмного забезпечення GNU, але також була прийнята для інших проектів, одним з найбільших з них є Wikipedia.

Джерела[ред.ред. код]

Посилання[ред.ред. код]