GPL and plugins

时间:2010-08-15 作者:User

插件开发中心说:“您的插件必须与GPLv2兼容。”。但我发现Topsy插件在GPLv3下。http://www.gnu.org/licenses/rms-why-gplv3.html 声明GPLv2和GPLv3不兼容。那么这应该被允许吗?我想使用Topsy插件中的一些代码。那么,我应该在GPLv2或GPLv3下发布插件吗??

4 个回复
最合适的回答,由SO网友:EAMann 整理而成

如果您遵循规则(您永远不想一开始就打破规则),那么您编写并提交到存储库的任何WordPress插件都必须获得GPLv2许可。去年发生了一场巨大的讨论风暴,因为示例自述文件错误地说;GPL,版本2或任何更高版本“。。。这就是为什么一些插件采用GPLv3路线。

一旦有人指出插件必须使用版本2获得许可,才能符合WordPress core的许可,许多插件重新获得版本2的许可,一些被拒绝的插件则从存储库中删除。不幸的是,相当多的飞机在雷达下飞行,错过了更新。

我的建议是:

请与Topsy的开发人员联系,要求他们重新许可插件,或者明确允许您使用他们的一些代码,并根据GPLv2许可您的版本,等待Topsy的确认,然后再在您自己的系统中使用他们的任何代码

更新在通过电子邮件、论坛、IRC和Trac进行大量讨论后,核心团队澄清,WP存储库中托管的任何插件都必须获得与GPLv2兼容的许可。这意味着,在大多数情况下,插件应该是显式的GPLv2或GPLv2+(“或任何更高版本”)。

这是为了防止插件代码意外滚动到核心中的可能性。Core被明确许可为GPLv2+,因此任何滚入项目的代码都必须能够以相同的方式获得许可。

但是,您仍然可以将您的私有托管插件许可为GPLv3。这仍然符合;或任何更高版本“;核心的规定,同时保持独立(因为它不位于同一位置)。

SO网友:Sudhanshu

GPL指出,如果您的代码需要原始核心才能运行,那么它必须遵循相同的许可证。

但是,如果将代码分为两部分,其中一部分执行core functionality (理想情况下,它可以与任何框架一起使用,有点像一个库),第二个interacts with wordpress 还有你的图书馆,你可以使用任何你喜欢的图书馆许可证。只有具有wordpress的部件必须遵循相同的许可证。

一个很好的例子是Google Reader使用feed(这是一个API),但由于它是一个单独的二进制文件,所以它可以使用任何许可证。

SO网友:WraithKenny

此处已对此进行了澄清:http://core.trac.wordpress.org/browser/trunk/license.txt WordPress核心是GPLv2+

repo要求“您的插件必须与GPLv2兼容”是任意的,并且不是基于任何许可结果。此外,它只适用于在wordpress上托管插件。org repos,而不是插件是否合法。GPLv3插件没有“错误”或违反任何许可。(你问题的第一部分已经回答了。)

(GPL本身有一个特定的条款,规定如果你没有明确明确地将术语限制在特定的版本,那么它是隐含的“可升级的”链接许可证的版本不是这方面的具体或明确限制。)

如果您同时使用GPLv2+(而不是“仅GPLv2”)和GPLv3代码,那么如果您释放它,则必须释放GPLv3代码。

至于你的问题:如果你使用Topsy的一部分your code must be released GPLv3 (以后也可以选择)如果您释放它。

更新:WordPress。org现在允许您在其repo中托管GPLv3插件(至少从2012年5月开始)。

https://make.wordpress.org/plugins/2012/05/11/cross-posted-from-the-main-development-blog-the/

SO网友:MikeSchinkel

问得好。从技术上讲,GPLv3与GPv2不兼容。如果你采取MattMullenweg的立场,那么Topsy插件就错了。我的猜测是,如果Matt知道他会从存储库中提取Topsy的插件,直到他们通过GPLv2重新授权。

但是,您不能强制Topsy重新许可(尽管您可以要求他们重新许可;这可能是最佳选择)至于“是否应该允许?”问题是“谁会拒绝?”唯一可以拒绝的是起诉Topsy改变它的人。当然,马特可以通过从插件库中取出它来施加营销压力。但除非和/或直到其中一件事发生。。。

所以你现在处境艰难。你不能在没有GPLv3许可的情况下真正使用Topsy代码,如果你这样做了,你也不能真正创建WordPress插件,因为它与GPLv2不兼容(根据Matt对GPLv2的解释)

OTOH,这不是建议,只是我的夸夸其谈,你可以忽略GPLv3的问题,使用Topsy的代码,让芯片落在可能的地方。你不太可能会被起诉,甚至不会有人抱怨你这样做,除非你的插件有大笔钱,我猜不会是这样的?如果你确实得到了Topsy的停牌,那么Matt也肯定会成为你的盟友,给Topsy带来市场压力。至少这是我的猜测。:)

结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?