我是一名软件工程师,而非律师,我的大学不提供任何面向许可软件的课程。事实上,他们的法律相关课程缺乏(但数量正在缓慢增长)。我在哪里可以了解开源许可证以及如何选择它们?
答案 0 :(得分:17)
这里有很多描述: http://www.gnu.org/licenses/license-list.html#SoftwareLicenses
决定使用哪一个可能是政治性的,但最终应由您对该软件的计划/愿望决定。如果您想确保它始终是免费的,请选择GPL或其他“Copyleft”许可证。如果您不介意某些商业用途,请选择另一个与之兼容的产品。
答案 1 :(得分:16)
我几乎总是最终使用MIT或BSD(它们是等效的),因为它
那,当您在野外遇到它们时,GNU / GPL群体通常都是极端分子。
答案 2 :(得分:12)
这可以创造无休止的讨论,但是在决定使用什么许可时,我会坚持一个原则:不要创建新的一个!!
无论你的合法人员有多么有说服力,因为没有现有的许可证完全符合你项目的独特需求,你应该自己编写,或者甚至只是“略微修改”现有的许可证,把他当成一个程序员来找你争论他只是 HAS 使用GOTO语句,因为该语言中的其他内容都不起作用。
其他建议:
选择一个主要用途(请参阅http://freshmeat.net/stats/#license)
请参阅David A. Wheeler关于为何选择与GPL兼容的许可证的讨论 - http://www.dwheeler.com/essays/gpl-compatible.html。
答案 3 :(得分:8)
如果您正在寻找有关免费和开源许可证的信息,请使用有用的比较图表:http://en.wikipedia.org/wiki/Comparison_of_free_software_licences
答案 4 :(得分:5)
你总是可以使用最好的一个,WTFPL。我在我的大多数学校项目中使用它,因为它们不是很好。
答案 5 :(得分:3)
当然,维基百科基本上拥有您需要了解的所有信息。但困难的是要知道从哪里开始。我建议首先阅读Apache License和GNU 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双重许可证。这样,我们可以整合来自社区的修复/改进,同时仍然保护在其上运行的应用程序(尤其是我们的应用程序)不被强制转为开源。