2014-07-21 38 views
1

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

他们是否必须在LGPL或GPL下发布他们的应用程序呢?

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

< https://stackoverflow.com/a/16544649/1677988说的没关系>>对不起,我弄错了,oSIP用在linphone中 - 不是相反的方式!

+0

这个问题似乎是题外话,因为它是关于许可。 –

回答

-1

如果它包含在GPL下发布的代码,您不能在除GPL以外的任何许可下合法发布它。这意味着你不能发布任何使用它作为LGPL的东西。

操作系统无关紧要。如果您包含的是GPL许可的代码,则必须使用GPL编码整个代码。

+0

感谢您的快速响应。这也适用于在LGPL组件中使用GPL-Library? – Toubey

+0

经过进一步的研究 - 是的。 – Toubey

+0

@ gabe-sechan GPL和LGPL比这更微妙。看到我的答案。 –

-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代码。

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

/HTH,IANAL TINLA

PS:我做了这个一个社区维基所以它可以增强...

相关问题