使用LGPL gem如何影响我的MIT许可应用程序?


21

我正在根据MIT许可开发一个开源的ruby应用程序。我之所以使用此许可证,是因为我不想对应用程序的用户施加任何限制。我也可以阅读并理解此许可证。

我最近开始在项目中使用另一个红宝石宝石(需要“ somegem”)。该红宝石宝石已获得LGPL许可。

因为我正在使用LGPL许可的另一颗红宝石宝石,我是否需要对项目进行任何更改?我的项目不包含其他gem的源代码,并且不随我的项目一起提供。它只是作为依赖项列出,以便ruby gems可以安装它,而我的项目将从我的代码中调用它。

另外,知道是否需要“当心”许可证会很有帮助,因为使用许可证会影响我的项目的许可证。

关于此主题还有其他文章,但用不同的方式表达。由于我发现此许可证有些棘手,因此我希望得到针对我的情况的答案。

谢谢你,
Corsen


1
这似乎是律师而不是程序员的问题。(也就是说:这是一个很好的问题,精心问,有些程序员有经验...但是,这并不能使它适当的堆栈溢出,因为它有非常,非常少做节目。)
Phrogz

7
Phrogz:你太夸张了。这是一个简单的许可问题,许可文本和众多常见问题解答均明确回答了该问题。您真的不需要律师阅读。
vartec'3

Answers:


26

它不影响

LGPL-代表次级GPL(以前是指图书馆GPL)。与GPL的显着区别在于,它不会将许可强加于使用该库的软件上。仅当您要修改库或直接在软件中包含部分代码时,您的代码才必须是LGPL。另一方面,如果您仅在应用程序中使用gem,则最好将您的应用程序保留有您想要的任何许可证。

LGPL提到的部分:

一个程序,它不包含库的任何部分的派生产品,但旨在通过与库进行编译或链接来与库一起使用,该程序称为“使用库的作品”。孤立地讲,此类作品不是图书馆的衍生作品,因此不在本许可范围之内。


1
您还需要满足LGPL库的一些其他要求,特别是如果您在封闭的程序中对它的导入进行了硬编码。这样说并不意味着您需要将代码放在LGPL之下,而是需要满足一些要求。我对rubygen链接机制不确定,可能与java import相当:LGPL和Java
hakre'4

0

因为我正在使用LGPL许可的另一颗红宝石宝石,我是否需要对项目进行任何更改?我的项目不包含其他gem的源代码,并且不随我的项目一起提供。它只是作为依赖项列出,以便ruby gems可以安装它,而我的项目将从我的代码中调用它。

LGPL软件是您软件的依赖项。因此,它实际上是您软件的一部分。LGPL允许从非自由软件使用(而MIT甚至是自由软件),因此成为依赖者不会成为障碍。

但是,由于它是一个依赖项,因此,如果您分发软件,则需要提供它的源代码。我不知道ruby中的require机制是否也总是提供源。如果是这样,我想说您已经分发了资源。如果不是这样,则需要注意提供源的软件所需要的每个版本的gem。

无论如何,您可能都应该注意资源,因为第三方项目(gem)可能会脱机,并且您的项目将被破坏,因为它不再需要一个不存在的gem。

仅从程序员的角度来看,这不是法律建议。考虑到您的软件用户会向您索要资源,因为您的软件会使用该库,并且由于您是在库中编写的require "somegem",因此该库实际上可以视为发行版。发行的法律定义可能与程序员日常将文件刻录到CD-ROM上的期望不符。因此,明智的做法是在这里有一个更广泛的概念,以保持积极主动,以防万一事情没有按预期进行。


1
“如果您分发软件,则需要提供它的源代码。” 不,如果它是公开可用的,那么您不会。
vartec

1
@vartec:如果分发,则需要提供源。仅在非商业性且代码未更改的情况下,才可以将该要求委托给上游项目(请参阅GPL)。如果该库不是由您分发的(但是,在这种情况下,用户无法更改经过硬编码的设置说明,并且实际上LGPL中存在可替换的要求,因此甚至可能破坏LGPL兼容性),我认为最安全的方法是提供资源,因此很容易满足逆向工程和更换要求。
hakre'4

@vartec:公开可用意味着您不会分发。如果宝石发行商无法提供资源,则宝石的副本可能不合法。
hakre

LGPL,第4.e节“提供安装信息,但仅在根据GNU GPL第6节要求您提供此类信息的情况下,并且仅在安装和执行该版本的修改版本所必需的信息的范围内通过将应用程序与链接版本的修改版本重新组合或重新链接而产生的组合作品。”
vartec

1
@vartec:是的。4.e继续:“((如果使用选项4d0,则安装信息必须随附最小对应源和对应的应用程序代码。如果使用选项4d1,则必须以GNU GPL第6节指定的方式提供安装信息。用于传送相应的来源。)”
hakre 2012年
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.