我正在编写一个组合测试库,计划将其发布到公共领域。
我希望我的库对于任何希望包含它的开源项目都是免费的。我很高兴让封闭源代码的商业项目使用我的代码,但我希望他们能为这一特权付出一点代价。
因此,我的计划是双重许可--一个开源许可对所有人开放,另一个商业许可提供给付费客户。
我的问题与开源许可证有关。通常情况下,我会使用GPL,但它在这里没有作用,因为封闭源代码项目只会使用我的内部代码进行测试,而不会将其发布的产品链接到它。测试可以关起门来进行,并且包含我的库的测试工具不会被分发-所以封闭的源代码可以在不违反测试库的GPL的情况下进行测试。
我认为我需要一个许可证,它要求使用我的代码测试的任何软件都在相同的开源许可证下传播。这样的东西是已经存在了,还是我必须推出我自己的GPL变体?
发布于 2011-08-07 17:59:19
知识共享非商业性-ShareAlike应该涵盖它:
http://creativecommons.org/licenses/by-nc-sa/3.0/
非商业性-您不得将本作品用于商业目的。
Share Alike -如果您更改、转换或构建此作品,则只能在与此作品相同或相似的许可下分发生成的作品。
发布于 2011-08-07 17:53:09
查看LGPL。它大致就是库的GPL。这意味着人们可以在不发布源代码的情况下使用您的库。如果他们修改了你的库,他们仍然必须在LGPL下发布这些更改。
然而,我不明白GPL到底出了什么问题。如果你有双重许可,商业公司如果付钱给你,就不会受到GPL的影响。您可以决定限制是什么。
如果您想严格禁止商业使用( GPL不考虑这一点),请查看CC-nc变体。
发布于 2011-08-07 18:23:49
3-clause BSD license就是为了这个目的而设计的。但是,由于广告原因,此许可证与一些流行的版权保留许可证不兼容,例如GPL v2。包含两个条款的BSD许可证放弃了广告原因,并变得类似于X/MIT许可证,这两个许可证是最自由的商业友好型开源许可证,但它们涵盖了最终产品附带的代码,因此必须明确解决开发过程中第三方代码的使用问题。
尽管不建议许可扩散,但您可以创建自己的许可,精确地说明所需的条款和条件,并且此许可可以基于广泛使用的许可。
根据您指定的需求,您也可以查看Apache License,它与GPL v3兼容,但与GPL v2不兼容。
有关这个主题的更详细的讨论,您可以阅读金融稳定论坛网站上的Various Licenses and Comments about Them或维基百科上的Comparison of free software licenses。
免责声明:我不是律师,这不构成法律建议。这就是我理解这些事情的简单方式。你最好就这件事请教律师。
https://stackoverflow.com/questions/6971529
复制相似问题