我应该使用什么OSS许可证?

时间:2009-09-14 16:23:15

标签: open-source licensing

我正在考虑启动一个OSS项目,并希望得到一些建议。

我想使用许可证允许免费使用该项目用于个人和非营利性使用,但允许我收取商业许可证(与http://www.extjs.com/company/dual.php类似或类似)。

有人可以建议或链接到一些关于如何处理这个问题的文章吗?提前谢谢。

3 个答案:

答案 0 :(得分:3)

正如开源定义所描述的那样,如果您想保持开源,则无法限制项目的使用。换句话说:您不能禁止开源应用程序的商业用途。因此,您可以选择满足您需求的其他(非开源)许可,或者您选择其他方式。

一种可能性是仅在开源许可下发布源,并拥有另一个二进制发行许可。据我所知,这对Java来说是正确的。如果你的应用程序的构建有点复杂,那就行得很好。

您可以根据GPL许可证发布您的应用。这并不禁止商业用途。但是如果创建了一些衍生作品,它也必须是GPL许可的。这适用于不是单独使用的库或类似的东西,但是在合并的产品中。 编辑:正如DrJokepu所提到的,在Web服务器堆栈中使用GPL框架将有助于避免发布您自己的源代码。这就是为什么GPL的一个扩展是Affero GPL,即使你没有发布它,也需要你在相同的许可证(AGPL)下发布你的工作,但只使用它来建立一个公共网页。因此,对于Web服务,您需要AGPL才能获得相同的结果。

答案 1 :(得分:1)

您不能使用OSI认证的开源许可证并禁止商业用途。

如果您想要做的是阻止某人使用您的软件并将其版本作为某种收缩包装软件出售,您可以使用GPL风格的许可证。为了获得最大的兼容性,我建议您自行决定使用GPLv2 +(Gnu通用公共许可证,第2版或更高版本)。有了这个许可证,有人可以出售你的软件,但他们必须明确表示任何人都可以获得资源,并且可以自由地重新分发。我认为,这将涵盖人们想要禁止作为商业用途的大部分内容。

答案 2 :(得分:1)

制作开源软件的书籍在dual licensing上有很好的部分。它概述了单个实体(如基金会“拥有”项目来源的版权的方法。

基金会选择在两种不同的许可方案下提供源,一种是封闭的,另一种是开源的。对于您的特定情况,您需要确保坚持使用强大的copyleft许可证(例如GPL)来阻止freely可用源代码的商业衍生作品。

然而,正如其他人所指出的那样,这并不妨碍商业实体使用您的软件,只是将您的工作卖给别人。在某些情况下,这很有效,但奇怪的是,许多组织宁愿购买东西而不是下载并免费使用。这些组织需要与供应商签订具有法律约束力的合同以及某种形式的支持。即当您销售软件时,实际上您正在销售一大堆其他服务作为“收缩包装”产品。

现在,代码如何保持关闭和销售,以及根据GPL许可证发布?整个安排的法律部分的思维弯曲是,IP对基金会的贡献是根据GPL许可。相反,开发人员根据“贡献者协议”将其知识产权提供给基金会,该协议将其变更的版权传递给基金会,并允许基金会在两个不同的许可下发布代码。最后一点需要注意的是双重许可的重大缺点,有时开发人员对贡献者协议不感兴趣,他们希望只有开源许可下才能进行更改,而不是其他任何内容。相当多的贡献者协议开始,但here is the one that sun uses for MySQL