Чи потрібна ліцензія відкритого коду MIT з відкритим кодом для оприлюднення (по ліцензії MIT)?


9

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

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

Ліцензія MIT виглядає як можливе рішення, але мені незрозуміло, чи похідні твори коду, на який поширюється ця ліцензія, ОБОВ'ЯЗКОВО повинні бути доступними для всіх публічно. Хтось може уточнити / підтвердити це? Якщо є ще одна більш відповідна ліцензія з відкритим кодом, що відповідає моїм потребам, мене теж цікавить. Дякую.


Трохи більш розгорнута дискусія тут: programmers.stackexchange.com/questions/12394/…
Dipan Mehta

Відповіді:


9

Ліцензія MIT не вимагає відкритих джерел робіт. Ви шукаєте GPL .

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


1
GPL змушує користувача публікувати похідні роботи під GPL, що призводить до занадто великих обмежень. Я хочу лише, щоб модифікації моєї бібліотеки були доступні. Чи варто використовувати LGPL?
Jérôme Verstrynge

8
У цьому випадку так - LGPL є більш підходящим.
Мураха

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

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

6

Коротка відповідь

Поєднання публічної ліцензії Eclipse та LGPL забезпечує саме те, що ви бажаєте: Модифікації вашого коду повинні бути доступними, але використання коду у більшому продукті не змушує повторне ліцензування більшого продукту. Комбінація необхідна для використання коду як у проектах GPL, так і не в GPL.

Це такий спосіб, як JGraphT. Вони передали свій проект в рамках EPL та LGPL. Мотивація та процедура описані у їхній вікі .

Довга відповідь

Я думаю, що публічна ліцензія Mozilla ( MPL ) або публічна ліцензія Eclipse ( EPL ) - це ліцензія, яку ви шукаєте, оскільки "якщо створена будь-яка похідна робота з бібліотеки (наприклад, будь-яке вдосконалення бібліотеки), вона [IS ] надається для всіх, хто має цю ж ліцензію. "

Ліцензія MPL та EPL знаходиться між GPL та MIT.

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

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

LGPL змушує користувача віддати модифікацію LGPL-частини коду.

MPL та EPL схожі на LGPL: Це також змушує користувача зробити доступне змінене джерело. "Змінене джерело" включає лише частину покритого MPL- / EPL коду. Це означає, що користувач може створити новий продукт із вашої бібліотеки. Якщо він модифікує частину MPL- / EPL, він повинен її опублікувати. Нові речі йому не потрібно публікувати.

Я вважаю, що MPL / EPL є більш придатним, оскільки LGPL прямо говорить про "бібліотеки", а MPL просто говорить про "охоплене програмне забезпечення" (що є більш широким спектром).

Однак вибір EPL спричиняє проблеми при поєднанні програмного забезпечення з програмним забезпеченням GPL: EPL не сумісний з GPL . Це не так, якщо ви просто використовуєте MPL .

Якщо ви хочете переконатися, що ваш код може використовуватися як в проектах GPL, так і в не-GPL, подвійну ліцензію на код під LGPL та EPL, як описано в короткій відповіді.

Приклади

  • JGraphT
  • зворотний зв'язок
  • qooxdoo . Вони планують "спростити та модернізувати умови ліцензування qooxdoo", і таким чином вони переходять від подвійного ліцензування до MIT.

Чи можете ви пояснити, чому ви вважаєте, що MPL відповідає критеріям, який шукає ОП?
maple_shaft

Чи має виглядати "подвійна ліцензія", якщо ви використовуєте це програмне забезпечення у продукті GPL'd, це програмне забезпечення ліцензоване вам під GPL, в іншому випадку, під MPL "? Чи є проекти, які роблять таке?
9000 р.

@ 9000 Відповідно до FAQ у GNU , код охоплюється як MPL, так і GNU. Другий абзац трохи дивний, і я не зовсім зрозумів.
коппор

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