Есть три программных проекта: A, B и C.
А публикуется для всех и лицензируется по лицензии GPL.
B расширяет A, также публикуется, но не имеет информации о лицензии или по ошибке лицензируется в соответствии с LGPL. По сути это нарушает лицензию A, не будучи GPL. Исходный код B по-прежнему доступен.
C расширяет B. Может ли C быть опубликован под лицензией GPL? Мотивация будет: «A - это GPL, любая производная тоже должна быть GPL, поэтому B - это GPL и C тоже может быть GPL».
licensing
open-source
gpl
Andrej
источник
источник
Ответы:
Во-первых, B нарушает GPL на A. Но это не совсем ваша проблема и не имеет отношения к вопросу здесь (кто знает, может быть, B получил лицензию LGPL от A на свой код, чтобы она могла быть выпущена под LGPL? ).
Вопрос «Можете ли вы создать часть программного обеспечения GPL на основе кода LGPL?» Ответ на это просто «да».
LGPL является менее строгим, чем GPL (таким образом, почему B нарушает лицензию на A, если не были приняты другие условия), но также позволяет довольно легко вернуть его в проект GPL.
Из лицензии LGPL:
Это часть лицензии. Вы можете легко создать программное обеспечение GPL на основе кода LGPL.
Существуют некоторые различия версий, на которые вам следует обратить внимание, чтобы убедиться, что код лицензирован правильно и в соответствии с верной версией GPL.
Если информация о лицензии не предоставлена, вы не имеете права распространять ее. B не должен был распространяться, но его вклады не лицензируются по лицензии с открытым исходным кодом. Возможно, это был внутренний проект, который был опубликован, или какое-то другое событие.
Он не представлен по лицензии, совместимой с расширением с помощью GPL. Рассмотрим ситуацию, когда компания, используя программное обеспечение GPL для внутреннего использования (приемлемо - не является нарушением), по ошибке обнародовала свой репо.
В этом случае вполне возможно, что проект C нарушает собственно нарушение авторских прав (добавленный B материал, который не лицензирован по лицензии GPL, поскольку его не следовало распространять в первую очередь).
Один не может заставить лицензию на источнике чужого. Это либо в соответствии с лицензией, либо в нарушение ее. Если это является нарушением, то, как указано в лицензии:
Нарушение GPL не означает, что материал находится под лицензией GPL, а означает, что он не может быть распространен.
источник
Есть правообладатели: авторские права на произведения, созданные A, авторские права на дополнения B, а также авторские права на любые изменения, сделанные C. C должен проверить, имеет ли он разрешение на использование программного обеспечения, на которое A и B имеют авторские права.
А был лицензирован по лицензии GPL. Я совершенно уверен, что GPL дает вам разрешение на использование произведений A на условиях GPL, даже если вы получили их от B, который неправильно лицензировал их. Возможны практические проблемы: например, вы должны быть в состоянии предоставить исходный код. Если вы получили программное обеспечение без исходного кода, у вас нет возможности опубликовать его в соответствии с условиями GPL.
B был лицензирован под другой лицензией. B должен был быть лицензирован по GPL, но не был. Если лицензия B дает вам больше прав, чем GPL, у вас фактически нет этих прав на код A - B не может дать вам дополнительные права на код A. Вы можете использовать код А в соответствии с условиями GPL, потому что А это разрешил, и дополнительный код Б в соответствии с лицензией Б.
Если B выпустила свой код по более строгой лицензии, чем GPL, то B, скорее всего, будет нарушать авторские права. Вы не можете использовать код B под лицензией GPL. Это часто путают: GPL не может заставить B делать что-либо. Это только дает B выбор: публиковать таким образом, и это юридически нормально, или публиковать другим способом, и это незаконно. B имеет право делать что-то незаконное и страдать от последствий (предъявляется иск за нарушение авторских прав). У вас нет прав на код B, который B не дал вам.
источник
Технически, можно расширить библиотеку GPL с помощью кода, который сам не покрывается лицензией GPL. Загвоздка в том, что когда вы распространяете созданную вами производную работу, вы должны соблюдать все требования, которые накладывает на вас GPL.
В вашей ситуации это означает, что возможно иметь библиотеку A под лицензией GPL и новый код в библиотеке B под лицензией LGPL. Объединенная работа (библиотека B) эффективно распространяется по лицензии GPL и может распространяться как таковая, поскольку лицензия LGPL совместима с лицензией GPL (вы можете использовать код лицензии LGPL в проекте, лицензированном по лицензии GPL).
В этой ситуации совершенно нормально иметь новый код в библиотеке C под лицензией GPL, а в результате - и под лицензией GPL.
источник