在GPL应用程序中允许非gpl插件/模块的正确方法是什么?

时间:2009-11-14 18:10:30

标签: plugins licensing content-management-system gpl

我开发了一个开源CMS,它是根据GPLv3许可的,我想打开插件/模块架构,供任何人贡献自己的扩展。但是,我想让贡献者可以自由选择他们想要扩展的许可证,而不是强迫他们使用主应用程序的许可证。

我的理解是普通的GPL许可证会迫使他们将扩展版本作为GPL代码发布,但由于这些是扩展而不是应用程序的核心功能,我不清楚GPL的立场是什么,或者如果有更合适的开源许可证。

3 个答案:

答案 0 :(得分:4)

我认为标准的做法是在你的许可证中写一个例外条款。海湾合作委员会这样做,for example

  

作为特殊例外,您可以将此文件用作免费软件的一部分         图书馆没有限制。具体来说,如果其他文件实例化         模板或使用此文件中的宏或内联函数,或者编译         这个文件并将其与其他文件链接以生成可执行文件         文件本身不会导致生成的可执行文件被覆盖         GNU通用公共许可证。但是,此例外不会         使可执行文件可能被覆盖的任何其他原因无效         GNU通用公共许可证。

答案 1 :(得分:0)

图表here总结了各种不同的FOSS许可证以及关于专有软件链接的第一栏评论。它看起来并不是特别新的,并且不包括许可证版本,但它仍然可以开始。

答案 2 :(得分:0)

由于您拥有该代码,您拥有版权并可以在以后将许可证更改为LGPL(较小的gpl或库gpl)或bsd / mit许可证,在这种情况下更多许可。

仅仅因为您最初将代码许可为GPL并不意味着您将来必须继续将其作为GPL许可。

如果你打算在一个修改过的GPL下发布它,那么把它称为GPL是不正确的,因为它违反了所有GPL规则..所以为什么称它为修改后的GPL,如果它不是真的是gpl灵魂许可证?

你遇到的是GPL的问题..它可以像病毒一样感染并感染你并不意味着它感染的代码。这是选择gpl的一个很好的理由,因为它不像其他许可证那样提供自由,例如MIT / BSD。