这是我第一次创建一个开源项目,我决定(基于this question)在Google Code上托管它。现在,我被问到我想使用哪些开源许可证。我对挖掘它们并不感兴趣,所以:
我应该选择哪一个?
答案 0 :(得分:18)
根据我的理解,BSD,MIT和Apache许可证都允许其他人/公司在封闭源商业项目中使用源代码,只要它们提供确认即可。 GPL要求使用该代码的任何项目也将作为GPL发布。 GPL将减少可以合法使用您的代码的人数,但它有助于保持公众的改善。这些是我认为最重要的差异。您的意见决定哪一个最适合您的项目。
(编辑:你真的应该阅读许可证,但是,“我理解的”是不正确的。)
答案 1 :(得分:12)
将每一个分配给骰子上的数字并给它一个滚动。如果你不想花时间阅读每一个并自己决定哪一个最适合你,那么掷骰子和使用别人为你建议的骰子之间真的没什么区别。
答案 2 :(得分:6)
当然,最重要的考虑因素是选择与您的项目目标和理念兼容的许可证。如果您的软件旨在与其他一些开源软件一起使用,请尽可能使用相同的许可证,或者至少使用兼容的许可证。如果您不希望未经您的许可将您的代码用于非自由软件,则更喜欢GPLv3(或GPLv2)。如果您希望尽可能广泛地使用您的代码,甚至允许其他人在不同或封闭的许可下分发代码,则更喜欢Apache v2(或MIT或新BSD)。
可以在http://en.wikipedia.org/wiki/Comparison_of_free_software_licences找到开源许可的摘要。阅读维基百科关于任何感兴趣的许可的文章,以获取更多详细信息。一旦您暂时选择了一个,请阅读许可本身以确保没有任何意外。如果有一部分你不舒服,请选择另一部分。
答案 3 :(得分:5)
您应该阅读关于每个许可证并选择最适合的许可证。 再次阅读,了解情况。没有其他简单的方法可以选择许可证。
答案 4 :(得分:3)
看看this
它包含了很多关于开源许可证的内容
答案 5 :(得分:1)
这个问题可能会导致来自不同阵营的众多不同且相当激烈的答案。有些人认为BSD / MIT许可证是最好的方式,其他人认为GPL是最好的许可证。
可以说这实际上取决于项目的目标是什么,以及您对许可对第三方施加的限制或缺乏限制的个人感受。
只有你能真正回答这个问题。
如果你强迫我回答,我很可能会选择BSD许可证。