首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制较小的GPL类许可证

限制较小的GPL类许可证
EN

Stack Overflow用户
提问于 2009-11-17 03:21:28
回答 6查看 1.2K关注 0票数 4

情况:

我想选择一个开源项目的许可证。

在考虑了GPL与BSD/MIT之间的关系后,我更喜欢GPL,因为它保护了软件的开源性。然而,我更喜欢限制较少的东西。

我特别高兴的是,不同版本的GPL是不兼容的!!

我希望软件保持自由和开放源码软件,但我不想让许可问题阻碍将源代码合并到其他自由和开放源码软件项目的可能性。

要求:

  1. 自由/开放源码软件
  2. 防止集成到封闭源代码软件中
  3. 并不妨碍将具有另一个许可证的开放源代码软件集成进来。

有这样的许可证吗?

潜在问题:

我知道#3和#2看起来可能有些矛盾,但我认为有一些方法可以绕过它,例如,使用许可一词,这样:

  • 如果您将使用类似gpl*许可的FOSS软件合并,您可以重新授权到该许可证。
  • 否则,您不得更改许可证。

与gpl类似的是任何要求整个项目处于相同许可之下的自由和开放源码软件许可证。

请注意:

这个问题是关于是否有这样的许可证。这不是试图创造一个。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-11-17 03:34:10

看在上帝的份上,请不要创建新的许可证(或者做任何可能创建新许可证的事情);我们已经有足够的许可证扩散了。GPL或多或少是版权自由软件许可证的标准,然后有一堆(主要是BSD/MIT)许可的自由软件许可证。您的需求(2)排除了它们,这只留下了版权:这就是GPL。

没有其他“类似GPL”的许可证在重要的使用中,您需要担心是否允许使用您的代码,所以您正在尝试解决一个不存在的问题。

如果问题确实存在,并且有一个项目在另一个许可下希望使用您的代码,那么无论如何,您可以让所有代码的贡献者显式地允许(“双重许可”)这种使用。

票数 5
EN

Stack Overflow用户

发布于 2009-11-17 05:45:33

您应该只使用双(或三重,或n元组)许可,无论您在哪种许可下释放它。双重许可是指用户可以选择在哪个许可下使用该程序。

GPL经常在双重许可下使用;大多数程序都是在"GPLv2或更高版本“下授权的,这意味着GPLv2或GPLv3。还有很多软件是在GPL和MPL或类似的许可下获得双重许可的(这通常是一个多途径许可,因为所有涉及的许可证通常都是“或更高版本的”)。

当然,MPL是一个弱的版权许可(比如LGPL),而不是像GPL那样的强版权。因此,如果您在MPL下获得双重许可,您的代码可能会用于其他专有程序,尽管对代码本身的修改必须发布。

问题中的问题是,“如果您将使用类似gpl*许可证的FOSS软件合并,您可以重新授权到该许可证。否则,您可能不会更改许可证,其中GPL --就像任何要求整个项目处于相同许可之下的自由和开放源码软件许可证一样--“是大多数许可利益冲突都不是与此类GPL类似的许可证(除了GPL之外,是否还有其他强大的版权保留自由软件许可证),而是使用MPL类许可证;也就是说,GPL要求整个程序按照GPL的条款分发,而MPL要求在MPL下分发该部分,而没有额外的限制,从而造成冲突。如果您允许它在MPL下分发,那么只要MPL许可部分保持免费,人们就可以在专有程序中使用它。

所以,你必须问问自己你对什么感兴趣。您是否对您的程序或库感兴趣,只在自由软件中使用?然后使用GPLv2或更高版本来实现最大的兼容性。您是否对您的库始终保持免费感兴趣,但希望它能够链接到GPL-不兼容的程序(包括潜在的专有程序)?然后使用LGPL、MPL或类似的许可,或者使用双重或三重许可证(例如GPLv2或更高版本、MPLV1.1或更高版本,或者LGPL v2.1或更高版本,就像大多数Mozilla源代码被许可的那样)。你想让任何人做他们想做的事吗?然后使用X11/MIT许可证(比BSD更短、更简单)或WTFPLv2 (是我见过的最短、最清晰的许可)。

如果您感到非常慷慨,您可以像SQLite这样将代码发布到公共域中,这会带来祝福,而不是每个文件中的许可证:

愿你行善而不作恶 愿你为自己找到宽恕,原谅他人。 愿你自由分享,永不索取超过你付出的东西。

我总是觉得这比大多数许可证所涉及的冗长、乏味和可怕的法律公告更令人愉快。

票数 4
EN

Stack Overflow用户

发布于 2009-11-17 03:26:00

没有办法用一个许可证来做您想做的事情,因为任何阻止某人将其重新授权到专用许可证的东西都会对开放源码许可证做同样的事情。我建议在多个许可下发布,然后添加一个部分,告诉人们如果他们想使用未列出的许可下的代码,请与您联系。

编辑:顺便说一下,GPL与有不少许可证兼容。而且,(我想)如果有人想要发布基于您的代码的东西,他们需要在GPL下发布他们的更改,但是没有什么能阻止他们获得双重授权。因此,例如,如果我使用您的源代码,我将不得不在GPL下发布我的更改,但我也可以在BSD许可下发布更改(而不更改您的代码的许可)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1746382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档