用户可以将LGPL许可为GPL或GPL许可为AGPL吗?


9

LGPL(为方便讨论,我们将假设所有版本均为3),它是GPL的限制较少的版本,同样的,AGPL是GPL的限制较高的版本,但是可以使用LGPL代码,添加(或不添加),并将其重新许可为GPL或AGPL;GPL代码可以修改为AGPL并获得许可吗?

Answers:


4

关于LGPL和GPL,是的,LGPL设计为可在GPL应用程序中使用,并且GPL适用于整个应用程序,因此具有原始LGPL代码的整个应用程序将为GPL。

您实际上无权“许可”您未写的任何内容。但是,如果您采取一些措施并进行更改,那么您正在创建派生作品。您可以选择如何许可衍生作品,但只能在您包含的代码的条件下。所以,你可以结合GPL和AGPL代码到一个工作,它看起来像在AGPL将适用于整个。我认为与LGPL相似。但是,您不能仅采用GPL代码并将其设置为AGPL,因为这会增加限制,而且我认为您不能为GPL工作添加限制。

显然,这很麻烦,您应该将您的特定问题交给律师。


我知道这不是程序员,而是律师,但是老实说,我不喜欢与律师交谈,并且认为这三个许可证均由GNU基金会以某种方式支持,他们可能比我更深入地认识到它们之间的交叉使用。能够找到。
DavidJFelix

2
@DavidJFelix-我听到了,但是版权的内容比一堆简单的规则要复杂得多。例如,法律将考虑版权所有者的意图。我希望它是黑白的,但不是。
Scott Whitlock

@DavidJFelix如果您拥有代码的版权,则可以将其重新授权给所需的任何许可证,甚至可以关闭源代码。请注意,以前版本的代码仍在原始许可下。
OnesimusUnbound,2011年

什么回合AGPL?如果您在GPL项目中使用AGPL代码,您是否仍然可以让整个应用程序仅遵守GPL规则?
2013年

无论如何,您通常都无法拥有版权,因为您可能不得不询问以前贡献过版权的所有人,甚至只是拼写错误。
SOFe

7

您不能重新许可别人的代码,但是可以在与您使用的所有代码的所有许可兼容的许可下发布代码。例如,一个GPL项目可以使用获得GPL,LGPL,BSD和MIT许可证许可的代码。(取决于版本)

有关许可证相互兼容的信息,请参阅GPL常见问题解答

您还应该注意以下与GPL兼容的许可证。


4

未经他人许可,您无法重新许可他人的代码。期。


5
但是GPL和LGPL中有明确的权限,可让您转换为其他许可证。因此,尽管您在技术上是正确的,但实际上,可以根据AGPL重新许可这些许可下的那些代码。
肖恩·麦克米兰

2
@Sean:不,没有转换为其他许可证的权限。具有与其他许可证上的代码组合的权限。您不能只接受某人的LGPL代码并将其重新发布为AGPL代码。
vartec

4
可以,但是由于您可以根据合并许可提取合并作品的任何部分,因此可以有效地重新许可。如果A是LGPL,而B是GPL,则AB在GPL下被释放;然后,您可以将B从合并的工作中删除,从而在GPL下留下有效的A。
肖恩·麦克米兰

2
@SeanMcMillan我猜想最终的作品必须包含版权和许可信息,其中包含根据LGPL许可的项目A的一部分。因此,仍然允许人们从该GPL工作中提取纯A部分,并在LGPL(我想是IANAL)下重新分配。
KajMagnus

0

您不能更改他人代码的许可。如果您使用的是LGPLed库X,则无法阻止人们继续在LGPL下使用X。

检查GPL FAQ中的问题,它指定LGPL 2.1和更高版本明确允许在某些GPL版本下进行许可。这意味着LGPL 2.0代码无法按照您的建议重新获得许可。

您当然可以制作自己的作品,包括这些作品,并可以在与使用的LGPL兼容的任何许可下进行许可,但是LGPL组件将继续为LGPL(除非您利用2.1及更高版本中的条款)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.