开发一个使用GPL V2下发布的源代码的组件,然后在LGPL V2.1下发布 - 这个组件的用户怎么样?

时间:2014-07-21 15:51:34

标签: android ios gpl lgpl

假设我正在开发一个组件(PhoneGap-Plugin或类似的),例如对于iOS或Android应用程序,它使用GPL V2涵盖的源。现在我已经非常清楚我将在LGPL V2.1下发布该组件。但是,如果有人使用我的组件呢?

他们是否必须根据LGPL甚至GPL发布他们的应用程序?

我已阅读LGPL/GPL licensing - 但这个是关于在iOS / Android中使用它。

< https://stackoverflow.com/a/16544649/1677988说没关系。>> - 抱歉,我弄错了,oSIP用于linphone - 而不是相反!

2 个答案:

答案 0 :(得分:-1)

如果它包含根据GPL发布的代码,除了GPL之外,您不能在任何许可下合法发布。这意味着您无法释放任何将其用作LGPL的内容。

操作系统并不重要。如果您包含获得GPL许可的代码,那么整个代码必须是GPL。

答案 1 :(得分:-1)

GPL或LGPL是否扩展到重用这些许可下的代码的应用程序?

简短的回答是它取决于具体情况。

这是我的答案:

关于你的' LGPL应用与GPL代码:

我要考虑的第一个测试是链接:您的应用程序代码是直接链接(静态还是动态)与GPL组件?答案是针对特定技术的,可能会因语言和平台而异。如果是的话,会有一些GPL影响。例如,如果您的应用程序将GPL许可组件作为单独的未修改可执行文件从您的应用程序在其自己的进程中启动,那么通常没有"链接"但是什么被认为是GPL计划的正常使用。请注意,在GPL中没有这种链接本身的概念,但这仍然是一种常见的测试。

我要考虑的第二个测试是修改:您是否修改了GPL许可组件?如果是,如果这些修改有助于您更好地与此GPL组件接口而不管链接,那么可能会产生一些GPL影响。

请注意,GPL 2.0中没有一般义务发布使用GPL 2.0下的GPL许可组件的源代码。相反,我会说如果您对上面的测试1或2做出回答是肯定的,则您的代码必须根据GPL或根据与GPL兼容的许可提供,主要提供类似的自由。 FSF发布这样的清单。 LGPL 2.1与GPL 2.0明确兼容,因此您可以使用LGPL 2.1。

关于'他们的'应用程序与您的LGPL和GPL应用程序:

如果有人在他们的应用中重新使用您的应用,他们是否也必须根据LGPL或GPL发布他们的应用?

它又取决于:上面的测试1和2将首先应用。 如果您对应用的测试1和2的回答是肯定的,那么您的应用将受到类似GPL的条款的约束。如果他们在他们的应用程序中重复使用GPL和您的LGPL 2.1代码,那么GPL也可以申请它们,这取决于他们如何重用您的代码。

关于他们使用您自己的LGPL许可代码,相同的测试将适用于扭曲:LGPL隐含地区分静态和动态链接,并且在修改方面有其他条件。

在那里,我要考虑的第三个测试是静态与动态链接:他们的应用程序代码是静态地还是动态地与你的LGPL代码链接?答案是技术特定的,可能因语言和平台而异。如果是静态的,会有一些LGPL的影响。 例如,如果您的应用程序包含LGPL许可的本机库,并且他们将代码静态链接到此库,那么他们的代码将受LGPL的约束,他们将不得不制作 - 其他东西 - 他们的源代码可用条款被认为与LGPL兼容并提供类似的自由。同样,FSF发布了一份清单。 如果他们的代码动态链接到您的LGPL代码,那么通常认为LGPL库的正常使用和LGPL不会影响他们的代码。

我要考虑的第四个测试是再次修改:他们是否修改了你的LGPL库?如果是,LGPL可能会根据修改的性质和程度适用于他们的代码。

当然,在所有情况下,即使您对所有四项测试都回答“否”,GPL的条款仍然适用于GPL代码,LGPL的条款仍然适用于LGPL代码。 / p>

这是一个很长的答案,但这不是一件简单的事情!

/ HTH,IANAL TINLA

PS:我把它变成了一个社区维基,所以它可以被增强......