Як на практиці керувати файлами ліцензій при поєднанні ліцензованого коду GPL та BSD?


10

Я пишу код, який використовує одну бібліотеку з ліцензією GPL (не LGPL) та одну з ліцензією BSD на 3 пункти . Оскільки я посилаюся на бібліотеку, що має ліцензію GPL, мій код повинен бути також GPL. Як я повинен на практиці мати справу з оригіналом LICENSE.txt з BSD-бібліотеки?

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

(B) Якщо я не тільки посилався на бібліотеки, але використовував і комбінував BSD-код і GPL-код більш привабливим чином, що робити з LICENSE.txt тоді?

У тексті BSD у 3-му пункті сказано: "Перерозподіл вихідного коду повинен зберігати вищезазначене повідомлення про авторські права, цей перелік умов та наступну відмову". так що, мабуть, я повинен десь зберегти повідомлення про авторські права та перелік умов. Але тоді мені також потрібно кудись поставити txt-файл ліцензії GPL.

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

Отже, як і в яких текстових файлах я повинен на практиці організовувати текст ліцензії GPL та частини ліцензії BSD та авторські права, які я зберігаю?

EDIT: Отже, у випадку B я б взяв 3-кодовий BSD-ліцензійний код і перерозподілив його під GPL, що дозволено, оскільки 3-клавіатурна ліцензія BSD (одностороння) сумісна з GPL . Я просто запитую, як на практиці поводитися з ліцензійними текстами та текстовими файлами.


Це погана ідея. Простий веб-пошук покаже вам, чому. Але весь продукт стає GPL. Раніше з цим виникали проблеми.
Ендрю Т Фіннелл

2
@Andrew Finnell: Чому це погана ідея? Весь продукт є GPL, оскільки компонент є, але що з цим погано? Бібліотека, що має ліцензію на BSD, все ще має ліцензію на BSD. Люди не використовують ліцензії BSD, якщо вони не хочуть, щоб їх речі використовувались людьми, які хочуть використовувати більш обмежені ліцензії.
Девід Торнлі

Відповіді:


1

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

Ви отримаєте два типи файлів:

  • Спочатку файли BSD: повинні мати обидва заголовки, для моїх знань порядок не важливий, лише те, що вони там є
  • Ваші файли та оригінально файли GPL: повинні мати заголовок GPL

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

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


1

Гаразд, читання розділу 7 GPLv3 , чи дозволяє "додаткові дозволи [які] стосуються лише частини Програми" [1]. Тому зберігання деяких файлів чи каталогів під ліцензією BSD здається нормальним, оскільки я думаю, що "робити все, що ти хочеш" ліцензії BSD є "додатковим дозволом".

Також розділ 7 дозволяє "доповнити умови цієї Ліцензії умовами:" (випливає 6-бальний перелік допустимих видів умов), і всі 3 пункти (+ відмова від відповідальності) ліцензії BSD охоплюються, так що у випадку змішування BSD-коду та GPL-коду в одному файлі, можливо, мені просто потрібно буде десь поставити ADDITIONAL_TERMS.txt, що містить 3 пункти + відмову від ліцензії BSD.

(Якщо бути дуже точним, я весь час, коли я говорив про ліцензію BSD, мав на увазі 3-ліцензійну ліцензію AKA "Нова ліцензія на BSD", AKA "Модифіковану ліцензію BSD", на яку я посилався у своєму питанні.)

[1] Поки одержувачу програми буде дозволено видаляти додаткові дозволи, якщо він надалі перерозподіляє їх. І ліцензія BSD це дозволяє.


-1

Це, можливо, неможливо відповідно до численних тлумачень ліцензійних умов.

gnu.org говорить для версії 2:

Тому що це висуває конкретну вимогу, якої немає в GPL; а саме вимога щодо реклами програми. GPL заявляє:

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

Рекламне застереження передбачає саме таке подальше обмеження, і, таким чином, є несумісним із GPL.

Переглянута ліцензія BSD не містить рекламного пункту, що усуває проблему.

і для GPL v3 :

Чому оригінальна ліцензія BSD несумісна з GPL? (#OrigBSD)

Тому що це висуває конкретну вимогу, якої немає в GPL; а саме вимога щодо реклами програми. У розділі 6 GPLv2 зазначено:

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

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

Переглянута ліцензія BSD не містить рекламного пункту, що усуває проблему.

Звичайно, інші адвокати / судді можуть мати різні думки.


1
Ви впевнені, що не говорите про ліцензію BSD з чотирма пунктами? "Ні ім'я <організація>, ні імена його учасників не можуть використовуватися для схвалення або просування продуктів, отриманих із цього програмного забезпечення, без конкретного попереднього письмового дозволу." не посилається на рекламу в будь-якому вигляді або формі і фактично пов’язана з торговою маркою організації, а не авторським правом на вихідний код.
Гуванте

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