我即将举办我的第一个开源项目。我将在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许可证
现在我对所有这些许可证内容都是全新的。不仅我不知道我应该选择什么牌照,而且我也不知道我应该授予和否认什么样的权利。任何有关寻找许可证的过程的帮助都表示赞赏。需要考虑什么样的事情?我应该问自己什么问题?
另外:当我将代码放在任何许可证下时,我是否放弃了任何权利?我是否还需要遵守所选的许可证?
答案 0 :(得分:28)
自由软件许可证主要有三个系列:许可,弱Copyleft和强大的Copyleft。
许可许可证(列表中的MIT,BSD和Apache)允许在专有项目中使用您的代码,而无需共享代码或代码,如果他们修改了代码。
弱Copyleft许可证(列表中的LGPL,MPL)允许在专有项目中使用您的代码,但如果他们修改了代码,他们应该在相同的许可下共享您的代码。
强大的Copyleft许可证(GPL)要求他们在相同的许可证下分发自己的代码(GPL)。
答案 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或更高版本是一个安全的默认选择。除了最后一个示例问题之外,对所有人回答“是”的人都会使用它。