你如何选择开源许可证?

时间:2008-09-03 15:12:39

标签: open-source licensing

我是一名软件工程师,而非律师,我的大学不提供任何面向许可软件的课程。事实上,他们的法律相关课程缺乏(但数量正在缓慢增长)。我在哪里可以了解开源许可证以及如何选择它们?

10 个答案:

答案 0 :(得分:17)

这里有很多描述: http://www.gnu.org/licenses/license-list.html#SoftwareLicenses

决定使用哪一个可能是政治性的,但最终应由您对该软件的计划/愿望决定。如果您想确保它始终是免费的,请选择GPL或其他“Copyleft”许可证。如果您不介意某些商业用途,请选择另一个与之兼容的产品。

答案 1 :(得分:16)

我几乎总是最终使用MIT或BSD(它们是等效的),因为它

  1. 那里是最自由的许可证。它只是说你不对任何麻烦负责,并且可选地强迫人们在衍生品中包含你原创作品的版权声明。
  2. 它允许闭源衍生产品,这是我认为好的东西:公司有时根本无法在GPL下进行工作(他们可能自己使用来自第三方的产品或组件,但许可证有限)
  3. 那,当您在野外遇到它们时,GNU / GPL群体通常都是极端分子。

答案 2 :(得分:12)

这可以创造无休止的讨论,但是在决定使用什么许可时,我会坚持一个原则:不要创建新的一个!!

无论你的合法人员有多么有说服力,因为没有现有的许可证完全符合你项目的独特需求,你应该自己编写,或者甚至只是“略微修改”现有的许可证,把他当成一个程序员来找你争论他只是 HAS 使用GOTO语句,因为该语言中的其他内容都不起作用。

其他建议:

答案 3 :(得分:8)

如果您正在寻找有关免费和开源许可证的信息,请使用有用的比较图表:http://en.wikipedia.org/wiki/Comparison_of_free_software_licences

答案 4 :(得分:5)

你总是可以使用最好的一个,WTFPL。我在我的大多数学校项目中使用它,因为它们不是很好。

答案 5 :(得分:3)

当然,维基百科基本上拥有您需要了解的所有信息。但困难的是要知道从哪里开始。我建议首先阅读Apache LicenseGNU GPL,它们是同一个故事的两个受欢迎的方面,每个方面都为与代码相关的人提供不同的自由。

但简而言之:Apache许可证允许任何人对您的代码做任何事情,包括接受它并在封闭源代码产品中使用它。它让任何正在使用自由代码的人用它做他们想做的事。

另一方面,GNU GPL允许您的代码用于也在GPL下分发的项目中。在这种情况下,您可能会编写一些代码并阻止专有公司使用您的工作。在这里,您将自由赋予代码本身,它将始终用于“免费”目的。

答案 6 :(得分:3)

我有点惊讶地发现Open Source Initiative没有提到有关哪些开源许可证存在的信息来源。它可能不进行比较,因此其他站点也值得检查。

答案 7 :(得分:1)

更实际的原因也会影响您对许可的选择 - 如果您想使用GPL库,您必须自己使用GPL,或者如果您打算将软件作为大型项目的一部分,那么您需要查看他们的要求

答案 8 :(得分:1)

我最近开始调查适用于相当重要的工作的许可类型。所有开源许可证的选择数量和内容,限制(或不限制)和限制令人困惑。我在发布的答案中找到了几个很好的链接,但我没有看到任何指向Open Source Initiative's alphabetical list of licenses的内容,所以我把它包含在这里。

答案 9 :(得分:0)

我们遇到了类似的困境。在我们公司,我们决定在框架上投入大量时间,最终希望将其发布到开源社区。该业务是使用开源工具(apache,php等)构建的,是时候回馈了。我们决定使用LGPL / MPL双重许可证。这样,我们可以整合来自社区的修复/改进,同时仍然保护在其上运行的应用程序(尤其是我们的应用程序)不被强制转为开源。