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

Open source 如何找到适合我的项目的开源许可证?,open-source,licensing,Open Source,Licensing,我即将主持我的第一个开源项目。我将在codeplex上托管它,我可以在以下许可证中进行选择: Apache许可证2.0,通用开发 和分销许可证(CDDL), Eclipse公共许可证(EPL),GNU 通用公共许可证(GPL)v2,GNU 图书馆通用公共许可证(LGPL), 微软公共许可证(Ms PL), 微软互惠许可证(Ms RL), Mozilla公共许可证1.1(MPL),新 BSD许可证和MIT许可证 现在我对所有这些授权的东西都是全新的。我不仅不知道我应该选择什么样的许可证,而且我也不

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

Apache许可证2.0,通用开发 和分销许可证(CDDL), Eclipse公共许可证(EPL),GNU 通用公共许可证(GPL)v2,GNU 图书馆通用公共许可证(LGPL), 微软公共许可证(Ms PL), 微软互惠许可证(Ms RL), Mozilla公共许可证1.1(MPL),新 BSD许可证和MIT许可证

现在我对所有这些授权的东西都是全新的。我不仅不知道我应该选择什么样的许可证,而且我也不知道我应该授予和拒绝什么样的权利。在寻找许可证的过程中,如有任何帮助,我们将不胜感激。什么样的事情需要考虑?我应该问自己什么问题


另外:当我将代码放在这些许可证下时,我是否失去了任何权利?我也需要遵守所选的许可证吗?

自由软件许可证有三个主要家族:许可、弱copyleft和强copyleft

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

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

强copyleft许可证(GPL)要求它们在同一许可证(此处为GPL)下分发自己的代码


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

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

  • 你对任何人使用你的程序感到满意吗
  • 你对任何人修改你的程序感到满意吗
  • 你对任何人出售你的程序感到满意吗
  • 你对任何人出售你程序的修改感到满意吗
  • 你对有人把你的程序作为封闭源代码出售感到满意吗
这是你需要自己回答的问题


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

这给出了一个很好的概述

有一个工具可以帮助您在CreativeCommons网站上进行选择


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

好的和简洁的回答。您可能想更改“披露”一词,并补充说所有这些许可证都坚持归属,因此,如果您只想这样做,您将始终“获得信用”。如果您不希望您的代码用于锁定的专有项目,请使用GPL,如果相反,您不希望限制专有软件使用您的代码,请使用一个许可证(MIT/BSD/Apache)。当我将代码放在这些许可证下时,是否会失去任何权利?我也需要遵守所选的许可证吗?我认为你不正确,因为所有这些许可证都坚持归属。据我所知,仅当您分发源代码时,许可证(至少列出的许可证)才需要归属,但二进制文件不需要归属。@bitbonk如果您没有失去任何权利,您将放弃它们;-)您不需要遵守所选的许可证,但您不能撤销已根据其条款发布的软件版本的许可证。对不起我的英语:-)我明白了吗?当我把代码放在这些许可证下时,我是否失去了任何权利?我是否也需要遵守所选的许可证?您是所有者。您授予其他人在特定条件下使用您的作品的许可。这个问题似乎离题了,因为它是关于许可的。