如何找到适合我项目的开源许可证?

时间:2010-02-20 18:16:46

标签: open-source licensing

我即将举办我的第一个开源项目。我将在codeplex上托管它,我可以在以下许可证之间进行选择:

  

Apache License 2.0,Common Development   和分发许可证(CDDL),   Eclipse公共许可证(EPL),GNU   通用公共许可证(GPL)v2,GNU   图书馆通用公共许可证(LGPL),   微软公共许可证(Ms-PL),   Microsoft Reciprocal License(Ms-RL),   Mozilla公共许可证1.1(MPL),新版本   BSD许可证和MIT许可证

现在我对所有这些许可证内容都是全新的。不仅我不知道我应该选择什么牌照,而且我也不知道我应该授予和否认什么样的权利。任何有关寻找许可证的过程的帮助都表示赞赏。需要考虑什么样的事情?我应该问自己什么问题?

另外:当我将代码放在任何许可证下时,我是否放弃了任何权利?我是否还需要遵守所选的许可证?

3 个答案:

答案 0 :(得分:28)

自由软件许可证主要有三个系列:许可,弱Copyleft和强大的Copyleft。

许可许可证(列表中的MIT,BSD和Apache)允许在专有项目中使用您的代码,而无需共享代码或代码,如果他们修改了代码。

弱Copyleft许可证(列表中的LGPL,MPL)允许在专有项目中使用您的代码,但如果他们修改了代码,他们应该在相同的许可下共享您的代码。

强大的Copyleft许可证(GPL)要求他们在相同的许可证下分发自己的代码(GPL)。

我建议不要在列表中选择其他许可证以防止许可证扩散。您可以在维基百科,FSFOSI中阅读有关免费软件许可证的更多信息。

答案 1 :(得分:2)

这给出了很好的概述

http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html

有一个工具可以帮助您选择Creative Commons网站

http://creativecommons.org/choose/

我们所有的代码许可都需要这样的东西!

答案 2 :(得分:1)

您应该授予或拒绝哪些权利?

  • 你对使用你的程序的人感到满意吗?
  • 您是否对修改程序的人感到满意?
  • 您对销售计划的人感到满意吗?
  • 您是否对销售程序修改的人感到满意?
  • 对于将您的程序作为封闭源出售的人,您感到满意吗?

这是您需要自己解答的问题。

BTW,在我看来,GPL v2或更高版本是一个安全的默认选择。除了最后一个示例问题之外,对所有人回答“是”的人都会使用它。