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 року ухвалив ліцензувати ядро Linux на умовах GPL (до того воно виходило за ліцензією, що забороняла комерційне розповсюдження).

У 1990 році стало очевидним, що потрібна ліцензія з меншими обмеженнями, яка могла б використовуватися для деяких бібліотек ПЗ. Коли в червні 1991 року була випущена версія 2 GPL, разом з нею була введена в обіг GNU Library General Public License (GNU LGPL), що також отримала номер 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 v3, зайнявши одну з трьох позицій:

  • супротивники оновленої ліцензії обмежили ліцензування, додавши або зберігши примітку «тільки GPL v2»;
  • згідні з принципами GPL v3 випустили нові версії виключно під нею;
  • а велика частина розробників зберегла ліцензування «GPL v2 або пізніша версія», надавши робити вибір самим користувачам.

Остаточні висновки про успіх або невдачу GPL 3 надасть практика, проте статистика показує, що вже на початок 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.

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

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