Як уникнути GPL?


24

ВІДХОДЖЕННЯ Я не претендую на те, що я нічого не знаю про ліцензування. Насправді все, що я скажу нижче, може бути абсолютно помилковим!

Посилання:

Нещодавно я шукав гідний ігровий двигун, і, думаю, знайшов той, який мені дуже подобається, Cafu Engine .

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

Отже, моє запитання в основному, як можна уникнути GPL.

Ось приклад: Двигун id Tech, також відомий як двигун Quake, або двигун Doom, був базою для популярного двигуна Source. Однак двигун id Tech був випущений під GPL, а двигун Source є власником. Чи отримав Valve іншу ліцензію? Або вони щось зробили, щоб уникнути GPL? Чи є спосіб уникнути GPL? Або, якщо ви використовуєте вихідний код GPL як базу для іншого проекту, ви змушені використовувати GPL та надаєте вихідний код доступним для всього світу. Чи може хтось випадковий чоловік взяти двигун id Tech, змінити його за минулою точкою розпізнавання, а потім використовувати його як фірмовий двигун для комерційних продуктів? Або вони вимагають зробити це відкритим кодом.

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


3
Ви відповіли на власне питання цитатою, яку ви надали. Також джерело (HL2) не базувалося на Quake. Ви думаєте про GoldSrc (HL1).
Джастін Скілз

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

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

1
Ви також можете запитати, як ви можете викрасти вихідний код у Microsoft і піти з ним. У вас є лише два варіанти та два варіанти: грайте за правилами, які власник коду передбачає у своїх ліцензіях (іх) та / або гонорарах, або йдіть використовувати щось інше.
Шон Міддлічч

1
"Однак я відчуваю, що з відкритим кодом є своє місце, але це не в світі бурхливості". Але ви думаєте, що просто використання чийого-небудь коду і ні оплата комерційної ліцензії, ні прийняття умов альтернативного не мають свого місця у світі бізнесу? Це не стільки бізнес, скільки крадіжка. Не те , щоб це не happenened в діловому світі досить часто ... - Схоже , ви дійсно дійсно хочете з відкритим вихідним кодом ( по зрозумілим причинам ) з точки зору програміста, але маєте досить догматичне відразу проти нього з грошової точки зору . Ну, ці погляди не сумісні.
близько

Відповіді:


28
  1. Якщо ви володієте авторським правом на вихідний код, ви можете випустити цей код, скільки завгодно. Випуск його під GPL не перешкоджає випуску відповідно до іншої не обмеженої та навіть більш обмежувальної ліцензії. Я не впевнений у деталях Source / id Tech, але припускаю, що Valve домовився про власну ліцензію.

  2. Якщо ви використовуєте код GPL у своєму проекті, вам потрібно надати вихідний код користувачам. Це не означає, що вам потрібно запускати веб-сайт або зберігати його копію для надання на вимогу. Це не означає, що ви зобов’язані оприлюднювати всі зміни, як тільки ви їх вносите - лише тоді, коли ви перерозподілите програмне забезпечення, код і зміни, які ви вносите, додаються до нього. ( http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic )

  3. Якщо ви використовуєте навіть рядок коду GPL у своєму проекті, ви зараз зв'язані умовами GPL. Один (хоча і не єдиний спосіб) - це також випустити свій код під GPL (або взагалі не випускати його).
    Якщо ви модифікуєте його через точку визнання і не дотримуєтесь умов, ви, ймовірно, відійдете від нього (тобто ви не будете подані до суду), але тільки тому, що ви підете з ним, це не означає, що ви не ' t з порушенням ліцензії або зробити це правильно.

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

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

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

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


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

3
(Це все ще не заважає вам продати його чи випустити за менш обмеженою ліцензією на додаток до GPL ...) Так. Якщо я випускаю код під GPL, хтось інший не може зійти і просто ввести цей самий код у (скажімо) відкритий домен. Я досі володію цим кодом; Я зробив це доступним для інших лише на умовах GPL.
Еван Харпер

4
Незважаючи на незначні неточності, +1, оскільки в ньому згадується найочевидніше, найпростіше, швидке та найдоступніше рішення: Щоб використовувати код GPL'd без GPL, ви повинні отримати його за іншою ліцензією . Зверніться до власників авторських прав, домовляйтеся про іншу ліцензію. Це, очевидно, працює і для будь-якої іншої ліцензії.
Мартін Сойка

11
Ця відповідь та всі коментарі пропускають одну важливу умову: умови розповсюдження GPL застосовуються до розповсюдження , а не до використання . Якщо ви використовуєте тисячу рядків коду GPL у своєму внутрішньому інструменті (який ви не поширюєте), то все-таки умови GPL не зв'язані.
MSalters

1
"ви, мабуть, уникнете". Хммм, я просто люблю тепле і нечітке відчуття, яке отримую з цієї відповіді.
Тревор Бойд Сміт

64

Ви уникаєте GPL, сплачуючи розробникам за комерційну ліцензію.


27
+1, я думаю, що капітан Очевидний якось не зареєстрований на stackexchange :)
teodron

1
+1, хоча для точності ви захистили дозвіл на використання коду без GPL. Це не обов'язково означає, що вам доведеться платити (хоча це часто і буде).
Килотан

насправді ви говорите це так, як завжди буде комерційна альтернатива для кожної ліцензії GPL на землі; це залежить від стратегії власника цього коду.
user827992

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

1
Майже, "Ви уникаєте GPL, сплачуючи розробникам за копію коду, який не має обтяження GPL (щось на зразок MIT)."
Джонатан Дікінсон

10

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


3
-1. Ви уникаєте GPL: адже вони дають вам зовсім іншу ліцензію. Ви також не крадете їх код - якщо ви пройдете кроки, які вони просять вас (наприклад, виплачуючи гроші).
Джонатан Дікінсон

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

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

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

2
@Jonathan. ОП каже, що zie нічого не знає про ліцензії, тому я підозрюю, що її страх перед GPL не є "обґрунтованим".
TRiG

8

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

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

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


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

5

Є багато непорозумінь з приводу того, що насправді є і насправді означає GPL, і я виявляю таке у вашому запитанні:

все, що ви робите з двигуном, вимушене в GPL

Це насправді зовсім не так. Джерело двигуна напевно залишається під GPL, але він повинен прочитати поширені запитання щодо GPL, зокрема його частини, що стосуються виходу програми GPL, які, на мою думку, є актуальними тут: http: // www. gnu.org/licenses/gpl-faq.html#GPLOutput

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

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

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

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

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

IANAL тощо


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

Я вважаю, що в двигуні цілком можливо GPL, але вміст гри не має бути. Вміст гри не є кодом і не "прив'язується" до двигуна так само, як це робить код; карти, текстури, моделі тощо не зв’язуються таким чином з двигуном. На жаль, поширені запитання щодо GPL щодо цього незрозумілі (що є поважною причиною бажати уникати використання GPL).
Максим Мінімус

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

4

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

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

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

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


Цілком гарна загальна відповідь - проте в цьому випадку очевидно, що вони приймають оплату за копії коду з іншою ліцензією. +1 (я також даю більш загальні відповіді :)).
Джонатан Дікінсон,

4

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

Те, що вони надали код якійсь стороні під GPL, встановлює обмеження GPL для цієї сторони , але воно не може встановлювати обмежень для власника коду .

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

Таким чином, якщо весь код у "Cafu Engine" написаний співробітниками Cafu, у вас немає проблем з GPL. Якщо ви отримуєте комерційну ліцензію від Cafu, то ліцензія GPL взагалі не стосується вас .


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

Я цього не припускав. Цікаво, що змусило вас так подумати.
Sandman4

Ваш останній абзац майже так говорить, тому що він прирівнює "персонал Кафу" до "Ви".
Килотан

@Kylotan Відредагував останній абзац, щоб зробити його більш чітким. Неможливо сказати це належним чином, кожен бажає краще сформулювати це слово.
Sandman4

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

2

Є один із способів "уникнути" GPL або (практично) будь-якої іншої ліцензії. Зробіть виконання чистої кімнати.

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

Так було створено BIOS для оригінальних клонів ПК; BIOS був єдиним бітом, який IBM не дозволяв копіювати іншим.

Це не означає, що ви захищені від судових позовів .. патенти та лайно "виглядайте і відчувайте" все ще там, і принаймні в США кожен може подати до суду будь-кого без особливих причин (або принаймні так здається. .)


1

Що стосується питання щодо двигуна Quake: код можна випустити під GPL, а також під іншими ліцензіями. Valve ліцензував Quake, сплачуючи гроші на iD. Пізніше всім у світі було надано ліцензію GPL (sic) на використання вихідного коду Quake. Коли iD GPLed двигун, вони не конвертували заднім числом інші ліцензії в GPL; це було б неможливо. Насправді, iD все ще може ліцензувати движок Quake за іншою ліцензією, якщо вони хочуть, оскільки вони мають оригінальні авторські права.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.