Каким образом GPL-совместимые лицензии, такие как MIT, можно использовать в программах GPL без соблюдения положений об авторском леве?


19

В настоящее время я изучаю возможности и последствия создания ссылок на библиотеку GPL для приложения в коммерческом контексте.

Из того, что я понял о GPL, до тех пор, пока приложение используется внутри компании, нет необходимости выпускать его код (даже если копия перемещается в контролируемую дочернюю компанию).

Что я не понимаю, так это следующий пункт из FAQ:

Если библиотека выпущена под лицензией GPL (не LGPL), означает ли это, что любое программное обеспечение, которое ее использует, должно быть под лицензией GPL или GPL-совместимой лицензией ? Да, потому что программное обеспечение в том виде, в котором оно работает, включает библиотеку.

Если я взгляну на GPL-совместимые лицензии , некоторые из них (например, продвинутые), похоже, не навязывают выпуск кода. Его использование создаст ситуацию, когда вы сможете соответствовать лицензии GPL, не соблюдая при этом обязательство обнародовать свой код (что выглядит не очень правдоподобно).

(NB: есть компоненты в Adobe Photoshop, лицензируемые в рамках boost, и я не думаю, что код доступен по запросу)

Наиболее разумным объяснением было бы то, что я что-то упустил ... Не могли бы вы сказать мне, где я допустил ошибку?


1
+1 за объяснение только потому, что зачем вам вообще использовать это слово в предложении
Джимми Хоффа

@JimmyHoffa +1 за вашу любовь к языку.
Рашит

1
Где вы узнали, что Boost был GPL? У него есть собственная лицензия. Стандартное правило гласит, что GPLv2 не смешивается с проприетарным программным обеспечением. На этом сайте есть недельный вопрос о том, как это обойти. Мы должны запретить все вопросы GPL.
Эндрю Т Финнелл

Я вижу, он сказал, что Boost совместим с GPL. Остальная часть моего комментария стоит.
Эндрю Т Финнелл

Ответы:


26

Каким образом GPL-совместимые лицензии, такие как MIT, можно использовать в программах GPL без соблюдения положений об авторском леве?

Краткий ответ: это не так. Они станут объектом авторского права.

Длинный ответ:

В статье Википедии о совместимости лицензий есть хороший раздел о совместимости с GPL :

Многие из наиболее распространенных лицензий на свободное программное обеспечение, такие как оригинальная лицензия MIT / X, ... «совместимы с GPL». Таким образом, их код может быть объединен с программой под GPL без конфликта ( новая комбинация будет применять GPL ко всему ).

[выделение добавлено]

И более подробно из FAQ FSF по совместимости GPL :

Это означает, что другая лицензия и GNU GPL совместимы; Вы можете объединить код, выпущенный под другой лицензией, с кодом, выпущенным под GNU GPL, в одной более крупной программе.

И просто для наглядности, вот комментарии ФСФ по различным лицензиям

Комментарий FSF по поводу повышения лицензии

Это слабая, неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

Это означает, что все, что лицензируется в Boost, легко включается в GPL.

Где это становится сложно

Допустим, у нас есть проект, Fooлицензированный под Boost, и проект, Barлицензированный под GPL, и который хочет использовать Foo.

Bar+Fooразрешено, так как лицензии совместимы, и выпуск Bar+Fooдолжен быть GPL, как Barи GPL. Foo, сам по себе и без Bar или Bar+Foo , по-прежнему доступен под лицензией Boost. Говорят иначе, Bar+Fooлицензия никак не влияет на Fooсебя.

Полученная лицензия на комбинацию проектов является событием прямого действия только для комбинации. Это не ретроактивное событие.

Так что, если кто-то хочет взять Fooи сделать что-то еще с этим, он все еще может сделать это без предоставления GPL с авторским левом. Однако, если они берут Bar+Foo, удаляют Barи используют только +Fooтогда, они все еще связаны условиями GPL, так как Bar+Fooбыл GPL'd.

Ваш другой вопрос:

Из того, что я понял о GPL, до тех пор, пока приложение используется внутри компании, нет необходимости выпускать его код (даже если копия перемещается в контролируемую дочернюю компанию).

На это прямо отвечает FAQ FSF GPL по распространению исходного кода

GPL не требует от вас выпуска вашей измененной версии или какой-либо ее части. Вы можете вносить изменения и использовать их в частном порядке, даже не выпуская их. Это относится и к организациям (включая компании); организация может создать модифицированную версию и использовать ее для внутреннего использования, даже не выпуская ее за пределами организации.

Дочерние компании, находящиеся в полной собственности, считаются частью материнской организации, так что вы по закону будете в чистом виде. FSF указал бы, что вы нарушаете дух свободного программного обеспечения.


3
Интересно: Если работник с использованием в неопубликованную модифицированную версию в компании, будет он иметь право на получение исходного кода от компании?
ОООНР

@ GlenH7: спасибо за ваше очень полезное объяснение (особенно часть «Где все становится сложнее»)
Луи Мораццани

2
@unor - Нет, это будет частное использование Компанией (сотрудник является частью компании, а не отдельным лицом).
iheanyi

«Однако, если они берут Bar + Foo, удаляют Bar и используют только + Foo, тогда они все еще связаны условиями GPL, поскольку Bar + Foo был GPL'd». Вы уверены? Foo все еще был лицензирован по лицензии Boost. Насколько я понимаю, лицензия Boost не должна быть удалена, даже в сочетании с кодом GPL. («Предоставленное выше [...] предоставление лицензии, данное ограничение и последующий отказ от ответственности должны быть включены во все копии Программного обеспечения, полностью или частично, а также во все производные работы Программного обеспечения [...]»)
lesderid

2
@ GlenH7 Конечно, но разрешат ли им лицензию в Fooсоответствии с GPL? Сублицензирование было бы хорошо, но тогда они также должны были бы сохранить лицензию Boost Bar+Foo, не так ли?
lesderid

8

Под «GPL-совместимой» они подразумевают лицензию, которая не конфликтует с GPL. Менее ограничительная лицензия, такая как лицензия Boost, «совместима» с GPL, потому что она не запрещает пользователям кода делать что-либо, что GPL позволит пользователю. Таким образом, лицензия Boost позволяет людям свободно копировать, что является обязательным требованием GPL.

Примером лицензии, которая не является «совместимой», может быть лицензия, которая требует от первоначальных авторов платы за распространение копий пользователями. Поскольку GPL явно разрешает как бесплатное, так и платное распространение, эта более ограничительная лицензия не будет совместимой.

Другими словами, GPL гласит: «Вы должны разрешить $ A, $ B и $ C». Любая лицензия, которая допускает $ A, $ B, $ C, а также $ D и $ E, совместима. Лицензия, которая допускает $ A и $ B, но не $ C, не будет.


4
Итак, новая, комбинированная работа полностью лицензирована по GPL, верно? Но оригинальный код, лицензированный под MIT, все еще может распространяться отдельно под MIT, не нарушая GPL, правильно?
Роберт Харви

1
IANAL, но да, вот как это работает.
Фабио Фракасси

4
« потому что он не запрещает пользователям кода делать что-либо, что GPL позволит пользователю », - а также потому, что это не мешает пользователю делать что-либо, что GPL потребует от него.
Росс Паттерсон

2
Незначительные мелочи, но GPL на самом деле не запрещает взимать плату за что-либо; см. gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
Maximus Minimus

1
Я уверен, что GPL позволяет кому-либо взимать плату за распространение, но не позволяет людям требовать, чтобы другие взимали плату, если они распространяют сами. Другими словами, я могу взять с вас плату за копию, но я не могу требовать, чтобы вы отправили мне платеж, если вы передадите копию третьему лицу.
Gort the Robot

1

Вы не ошиблись: ответ на часто задаваемый вопрос был неполным. Следует сказать, что объединенная программа должна быть лицензирована по лицензии GPL, а не по лицензии, совместимой с GPL. С тех пор это было исправлено (см. Ниже: я подчеркнул важный бит):

Да, потому что программа на самом деле ссылки на библиотеку. Таким образом, условия GPL применяются ко всей комбинации. Модули программного обеспечения, которые связаны с библиотекой, могут находиться под различными GPL-совместимыми лицензиями, но работа в целом должна быть лицензирована под GPL . См. Также: что значит сказать, что лицензия «совместима с GPL»?

Ранее я говорил, что «если библиотека выпущена под лицензией GPL, то любое программное обеспечение, использующее ее, должно находиться под самой лицензией GPL из-за ее так называемой« вирусной »природы. Нельзя использовать разрешающую GPL-совместимую лицензию, такую ​​как boost. «. Под «программным обеспечением, которое его использует» я имел в виду объединенные модули и библиотеку.


Я считаю, что это распространенное недоразумение. Нет необходимости выпускать вашу часть кода под лицензией GPL, если она имеет совместимую лицензию. Лицензия с вашей стороны также может быть более разрешительной, но не менее, чем GPL. Только объединенные остатки работают под GPL, поэтому дополнительные ограничения на GPL применяются только тогда , когда один использует свой код вместе с подключенной библиотекой GPL. См. Gnu.org/licenses/gpl-faq.html#GPLModuleLicense
ert

1
Да все верно. Мой первоначальный ответ мог быть неверно истолкован. К счастью , все это спорный вопрос теперь, как Gnu обновили свой FAQ , чтобы сказать то , что нужно.
Беннет МакЭлви
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.