ЧАПИ

Tue, 13 Nov 2012 04:12:54 +0200
/tag/gpl, /tag/ЧАП

GNU mascot

Неофіційний переклад Мар'яна Рачинського ( rmaryan@ukr.net).

Редактор -- Наталя Каторож ( natalya_kat@ukr.net)

Оригінал англійською мовою можна прочитати за адресою http://www.gnu.org/copyleft/gpl-faq.html

Останні зміни до перекладу: 28 березня 2004

Ця сторінка містить відповіді на питання про Загальну Публічну Ліцензію GNU (GNU General Public License (GPL)), які виникають найчастіше. Дізнатися більше про інші ліцензії Фундації Вільного Програмного Забезпечення (FSF) можна на сайті FSF.

Після прочитання цих ЧАПів, Ви зможете перевірити свій рівень знань вільних ліцензій, пройшовши швидкий тест на сайті FSF.

Загальні питання про GPL, проект GNU та Фундацію Вільного Програмного Забезпечення (FSF)

Як розшифровується "GPL"?

"GPL" розшифровується як "General Public License" -- Загальна Публічна Ліцензія. Найпоширенішою такою ліцензією є GNU General Public License або скорочено -- GNU GPL. Часто її скорочують просто до "GPL", коли зрозуміло, що мова іде саме про GNU GPL.

Чи всі вільні програми зобов'язані використовувати GPL?

Не зобов'язані. Існує багато інших ліцензій вільного програмного забезпечення. Ми маємо неповний список таких ліцензій. Будь-яка ліцензія, яка забезпечує користувачам певні специфічні права, є вільною ліцензією.

Чому я повинен використовувати GNU GPL, а не якусь іншу вільну ліцензію?

Використання GNU GPL обумовлює можливість публікації вдосконалених версій тільки у вигляді вільного програмного забезпечення. Це означає, що Ви уникнете ризику конкуренції з пропрієтарною модифікованою версією вашої ж програми. Однак є особливі випадки, коли краще використовувати менш вимогливу ліцензію.

Чи все програмне забезпечення GNU використовує ліцензію GNU GPL?

Більшість програмних пакетів GNU використовує GNU GPL, але є кілька програм і частин програм GNU, які використовують менш вимогливі ліцензії, наприклад Lesser GPL (LGPL). Це робиться тільки зі стратегічних міркувань.

Чи вважається програма, що використовує GPL, автоматично частиною проекту GNU?

Будь-хто може випустити програму під ліцензією GNU GPL, але це не робить її частиною проекту GNU автоматично.

Для того, щоб програма вважалася частиною проекту GNU, вона повинна бути явно включена до цього проекту. Для цього потрібна згода і розробників програмного продукту, і представників проекту GNU. Якщо Ви хочете долучити свою програму до проекту GNU -- пишіть на maintainers@gnu.org.

Що робити, якщо я помітив, що хтось, можливо, порушує GPL?

повідомити про це. Для початку -- якомога докладніше перевірте факти. Потім -- повідомте видавця чи особу, що має авторське право і суміжні права на цю GPL-програму. Якщо це Фундація Вільного Програмного Забезпечення, напишіть до license-violation@gnu.org. В іншому випадку -- зв'яжіться з тим, хто підтримує програму. Він або сам володіє авторським правом, або знає, як знайти власника авторського права.

Загальні положення GPL

Чому GPL дозволяє користувачам публікувати програми, змінені ними?

Критично важливим аспектом вільного програмного забезпечення є свобода співпраці. Надзвичайно важливо дати користувачам право допомагати один одному, ділитися виправленнями і покращеннями програм.

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

Деколи контроль за модифікованими версіями пропонується як спосіб уникнення непорозумінь між різними версіями, створеними різними користувачами. Але досвід показує, що такі непорозуміння не викликають великих проблем. За межами проекту GNU було створено багато версій Emacs, але користувачі легко їх відрізняють. GPL вимагає, щоб автор модифікованої версії чітко вказував своє ім'я. Це дозволяє відрізнити модифіковану версію від оригіналу та інших модифікованих версій і захистити репутацію інших розробників.

Чи обов'язково згідно з GPL публікувати вихідні тексти змінених програм?

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

Але якщо Ви якимось чином розповсюджуєте модифіковану версію, GPL вимагає надавати користувачам і модифіковані вихідні тексти під ліцензією GPL.

Отже, GPL дає дозвіл розповсюджувати програми одними способами і забороняє робити це іншими, але публікувати програму чи ні -- цілком залежить від вашої волі.

Чи можна мені використовувати GPL програми та незалежні від них пропрієтарні програми одночасно на одному комп'ютері?

Так. Це приклад "випадкового поєднання" ("mere aggregation"), який описано в тексті GPL. Тут явно дозволено таке поєднання, але це лише узаконення того, чого, на нашу думку, все одно не вдалося б уникнути.

Що означає "written offer valid for any third party"?

Чи означає це, що хто завгодно, незалежно від обставин, може отримати вихідні тексти будь-якої GPL програми?

"Valid for any third party" означає, що будь-хто, хто читає текст ліцензії, може вимагати від Вас виконання всіх умов цієї ліцензії.

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

У GPL сказано, що модифіковані версії, якщо вони були опубліковані, повинні бути доступними для будь-якої третьої сторони ("licensed ... to all third parties"). Що це за третя сторона?

Секція 2 тексту GPL вказує, що модифіковані версії, які Ви розповсюджуєте, повинні бути надані будь-якій третій стороні під ліцензією GPL. "Будь-яка третя сторона" означає абсолютно будь-кого, але це не значить, що Ви зобов'язані фізично щось робити для них, вони просто можуть отримати від Вас версію програми лише на умовах ліцензії GPL.

Чи зобов'язаний я вимагати визнання своїх авторських прав на зміни, внесені мною до GPL програми?

Ви не зобов'язані якимось чином вимагати визнання своїх авторських прав чи реєструвати свій твір. У більшості країн набуття авторських прав відбувається автоматично, отже якщо Ви хочете випустити програму без копірайту, Ви повинні чітко вказати, що ця програма є програмою загального користування (public domain).

Незалежно від того, чи хочете Ви мати копірайт на ваші зміни чи ні, модифікована версія GPL програми повинна поширюватися вцілому під GPL.

Якщо у програмі поєднано код загального користування (public domain) і GPL код, чи можу я взяти частину коду загального користування і випустити його не під GPL?

Ви можете це зробити, якщо Ви чітко відрізняєте яка, саме частина є кодом загального користування (public domain). Якщо код було надано у загальне користування самим розробником, він залишається кодом загального користування незалежно від того, де його було використано.

Чи дозволяє мені GPL продавати копії програм за гроші?

Так. GPL дозволяє робити це будь-кому. Право продавати копії є частиною визначення вільного програмного забезпечення. Нема жодного обмеження на ціну, яку Ви можете виставити, за винятком єдиної особливої вимоги -- при поширенні лише двійкового коду, в комплекті завжди має бути пропозиція про надання вихідних текстів програми.

Чи дозволяє мені GPL отримувати оплату за завантаження програм з мого сайту?

Так. За поширення копій програми Ви можете отримувати оплату будь-якого розміру. Якщо Ви надаєте доступ до файлів з двійковим кодом на якомусь сервері, то повинні надати "еквівалентний доступ" до отримання вихідних текстів -- тобто, ціна за завантаження вихідних текстів не повинна перевищувати ціни завантаження двійкових файлів.

Чи дозволяє мені GPL вимагати в будь-кого, хто отримав мою програму, якихось додаткових виплат чи повідомлень?

Ні. Фактично вимоги такого роду зроблять програму не вільною. Якщо люди повинні платити при отриманні копії програми чи посилати комусь якесь повідомлення, така програма не є вільною. Див. визначення вільного програмного забезпечення.

GPL -- це ліцензія вільного програмного забезпечення. Тому вона дозволяє людям використовувати і навіть розповсюджувати програми, не примушуючи їх платити комусь за це право.

Якщо я поширюю GPL програму за гроші, чи зобов'язаний я крім цього надавати до неї вільний безоплатний доступ?

Ні. Але якщо хтось заплатив Вам за копію програми, GPL дозволяє їм поширювати програму далі за гроші або безплатно. Наприклад, хтось може заплатити Вам за копію, а потім зразу ж викласти цю копію для загального доступу на своєму сайті.

Чи дозволяє мені GPL обмежувати поширення модифікованої програми або бета-версії програми договором про нерозголошення?

Ні. GPL дозволяє кожному, хто отримав від Вас копію при бажанні поширювати її у незмінному чи модифікованому вигляді. GPL не дає Вам права поширювати ваші роботи з якимись додатковими заборонами.

Чи дозволяє мені GPL розробляти модифіковану програму, якщо я обмежений договором про нерозголошення?

Так. Наприклад, Ви можете підписати контракт про виконання кодування і домовитися із замовником не поширювати ваші зміни, аж поки замовник не дозволить Вам цього. Така ситуація є припустимою, оскільки насправді нема факту поширення GPL коду із якимись додатковими обмеженнями.

Ви також можете надати ваші зміни замовнику на умовах ліцензії GPL, але погодитися не поширювати їх, поки замовник не дозволить цього. Це також не буде порушенням GPL, оскільки в такій ситуації нема факту поширення GPL коду із якимись додатковими обмеженнями.

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

Я хочу прославитися своєю роботою. Я хочу, щоб люди знали, що це створив саме я. Чи є можливість отримати визнання, використовуючи GPL?

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

Чому GPL вимагає долучення копії тексту GPL до кожної копії програми?

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

Можливо хтось волів би дати посилання на ліцензію в Інтернеті замість наведення самого тексту ліцензії, але Ви в цьому випадку не можете бути впевненими, що це посилання буде правильним через п'ять чи десять років. Можливо, за двадцять років теперішні Інтернет-посилання не використовуватимуться взагалі.

Єдиний спосіб гарантувати всім, хто отримав копію програми — можливість ознайомитися з ліцензією незалежно від змін в будові Інтернету, -- це включення тексту ліцензії до складу програми.

А що, якщо твір не набагато більший, ніж текст самої ліцензії?

Якщо програма є аж такою короткою, Ви можете обрати для неї не GNU GPL а якусь просту ліцензію, що дозволяє виконувати будь-які дії над копією програми.

Чи можна опустити преамбулу GPL або частину з настановами щодо використання GPL у власних програмах, просто щоб зекономити місце?

І преамбула, і настанови є невід'ємною частиною GNU GPL, їх не можна пропускати. Фактично, GPL захищена ліцензією, яка дозволяє копіювання GPL лише вцілому без жодних пропусків (Ви можете використати ті ж юридичні терміни і створити іншу ліцензію, але це вже не буде GNU GPL).

Преамбула разом з інструкціями -- це не більше, ніж 5000 символів, а, отже, це менше третини загального розміру GPL. Викидання фрагментів не дасть суттєвого зменшення розмірів програмних пакетів, хіба що за умови коли програми дуже малі. В такому випадку можемо порадити використання простої ліцензії, яка дозволяє виконувати будь-які дії над отриманою копією.

Що означає, що дві ліцензії є сумісними?

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

Для деяких комбінацій ліцензій важливим є сам спосіб поєднання складових. Наприклад, ліцензії можуть дозволяти лінкування двох модулів, але не дозволяти об'єднання вихідних текстів цих програм в один модуль.

Що означає, що ліцензія є сумісною з GPL?

Це означає, що Ви можете поєднувати в одній програмі код, опублікований під іншою ліцензією, з кодом, опублікованим під GNU GPL.

GPL дозволяє такі поєднання за умови, що результуюча програма поширюватиметься під GNU GPL. Інша ліцензія є сумісною з GPL тільки тоді, коли вона сама також це дозволяє.

Я пишу вільні програми, використовуючи не вільні бібліотеки. Які юридичні проблеми можуть виникнути при використанні GPL?

Якщо бібліотеки, які Ви використали підпадають під наступне правило з GPL:

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

Ви не повинні робити нічого особливого, щоб мати право на їхнє використання; вимога поширювати всі вихідні тексти програми не стосується таких бібліотек, навіть якщо Ви поширюєте двійковий код, що їх включає. Таким чином, якщо бібліотеки, які Ви використовуєте, постачаються у складі головних файлів пропрієтарної операційної системи, GPL дозволяє використання таких бібліотек без жодних додаткових умов.

Якщо Ви хочете зв'язати вашу програму з бібліотекою, яка не підпадає під це правило, то Ви повинні додати своє власне доповнення до ліцензії на вашу програму як додаток до GPL. Наступне доповнення до ліцензії дає дозвіл на використання бібліотеки FOO при компілюванні вашої програми:

Copyright (C) рік <ім'я автора> Ця програма -- вільне програмне забезпечення. Ви можете розповсюджувати її та/або вносити зміни відповідно до умов Загальної Публічної Ліцензії GNU у тому вигляді, у якому вона була опублікована Фундацією Вільного Програмного Забезпечення, 2ї версії Ліцензії, або (на Ваш розсуд) будь-якої більш пізньої версії.

Ця програма розповсюджується із сподіванням, що вона виявиться корисною, але БЕЗ БУДЬ-ЯКОЇ навіть УЯВНОЇ ҐАРАНТІЇ КОМЕРЦІЙНОЇ ПРИДАТНОСТІ чи ВІДПОВІДНОСТІ БУДЬ-ЯКОМУ ПЕВНОМУ ЗАСТОСУВАННЮ. Зверніться до Загальної Публічної Ліцензії GNU за подробицями.

Ви мали отримати копію Загальної Публічної Ліцензії GNU разом з цією програмою. Якщо Ви не отримали копії ліцензії, напишіть за адресою

Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

Додатково, як особливий виняток, <ім'я автора> дає дозвіл на зв'язування коду цієї програми з кодом бібліотеки FOO (або зі зміненими версіями FOO, якщо вони використовують таку ж ліцензію як FOO), і поширення утвореної комбінації цих двох складових. Ви повинні дотримуватися вимог ліцензії GNU General Public License у всьому іншому, що не стосується бібліотеки FOO. Якщо Ви модифікуєте цей файл, то Ви маєте також право розширити рамки доповнення чи переписати його, хоча робити це і не обов'язково. При бажанні Ви можете навіть вилучити це доповнення взагалі у своїй версії, якщо бібліотека FOO більше не буде потрібною, або Ви хочете заборонити під'єднання бібліотеки FOO до своєї версії програми.

Лише ті, хто володіють авторським правом на дану програму, можуть дозволяти винятки такого плану. Якщо Ви написали програму власноруч, і ваш роботодавець чи навчальний заклад не претендують на авторські права, Ви є власником авторських прав на цю програму а, отже, саме Ви можете дозволити такі винятки для своєї програми. Але якщо Ви використали частини коду, запозичених з інших GPL програм, тоді Ви не маєте права дозволяти такі винятки для чужого коду. Вам доведеться отримати згоду від власників авторських прав на ці програми.

Коли інші люди модифікують програму, вони не зобов'язані дозволяти ті ж винятки, що були дозволені для початкової програми -- вони мають право вибору у цьому питанні.

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

Тому подумайте, чи можна якось уникнути використання цієї бібліотеки. Чи можете ви, наприклад, написати вільного замінника цієї бібліотеки.

Якщо програму вже написано з використанням не вільної бібліотеки, то цілком можливо, що вже надто пізно щось міняти. Можливо, краще випустити програму як є, ніж не випускати її взагалі, але не забудьте вказати в README, про те, що для цієї програми необхідна пропрієтарна бібліотека це недолік і наголосіть, що було б непогано змінити програму так, щоб вона робила те ж саме, але без використання не вільних бібліотек.

Крім того, напишіть нам (tasks@gnu.org) про не вільну бібліотеку, що Ви використали і яку роль вона відіграє у вашій програмі. Ми можемо посприяти щоб хтось написав вільну бібліотеку, яка робитиме те, що Вам треба.

Що я повинен зробити, щоб отримати авторське право на мою програму з метою подальшого її поширення згідно з ліцензією GPL?

Згідно з Бернською конвенцією, будь-який твір автоматично стає об'єктом авторського права як тільки його буде записано на матеріальні носії. Таким чином, Ви не зобов'язані робити нічого особливого, щоб набути авторських прав на свою програму, якщо ніхто інший не претендує на визнання себе автором вашої програми.

Однак, реєстрування авторського права в США є дуже хорошою ідеєю. Реєстрація є вагомим аргументом при розв'язуванні спірних питань.

Є випадки, коли ваш роботодавець чи навчальний заклад можуть претендувати на авторські права на програму, написану Вами, якщо Ви писали цю програму на їхнє замовлення. Чи є ці претензії справедливими, чи ні залежить від дуже багатьох обставин: місцевих законів, контракту, який Ви підписали з роботодавцем, видом робіт, які Ви виконували. Якщо Ви маєте якісь сумніви щодо цього питання -- порадьтеся з юристом.

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

А що, якщо мій навчальний заклад захоче зробити мою програму своїм власним пропрієтарним програмним продуктом?

На сьогодні багато університетів пробують підзаробити, закриваючи доступ до знань та інформації, які вони досліджують, фактично поводячись майже як звичайнісінькі комерційні структури (див. "The Kept University", Atlantic Monthly, March 2000, за загальним оглядом проблем і побічних ефектів такого підходу).

Якщо Ви вважаєте цілком ймовірним, що ваш навчальний заклад може не дозволити випустити вашу програму як вільне ПЗ, дуже важливо потурбуватися про це якомога раніше. Чим ближча програма до завершення, тим більше адміністрація схилятиметься до думки, що треба Вас позбутися і завершити роботу без Вас. На ранніх етапах Ви матимете більший вплив.

Отже, ми рекомендуємо Вам звернутися до адміністрації ще тоді, коли програма є на половину готовою з пропозицією випустити Вашу програму під вільною ліцензією або відмовитись від роботи. Не вважайте це блефом. Для остаточної перемоги Вам, можливо, доведеться сказати: "Або моя програма буде вільною, або не народиться ніколи!"