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

有帮助吗?

解决方案

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

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

其他提示

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

  1. 是目前最自由的许可证。它只是说您不对任何麻烦负责,并可选择强制人们在衍生品中包含您原创作品的版权声明。
  2. 它允许闭源衍生品,我认为这是一件好事:公司有时无法在 GPL 下开展工作(他们自己可能会使用具有受限许可证的第三方的产品或组件)。

当你在野外遇到 GNU/GPL 群体时,他们通常都是极端分子。

这可能会引发无休止的讨论,但在决定使用哪种许可证时,我会坚持一个原则: 不要创建一个新的!!

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

其他建议:

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

你总是可以使用最好的一个, 世界贸易组织联合会. 。我在我的大多数学校项目中都使用了它,因为它们无论如何都不是那么好。

当然,维基百科基本上拥有您需要了解的所有信息。但困难的部分是知道从哪里开始。我建议首先阅读有关 阿帕奇许可证GNU通用公共许可证, ,这是同一个故事的两个受欢迎的方面,每个方面都为与代码相关的人员提供不同的自由。

但简而言之:Apache 许可证允许任何人对您的代码执行任何操作,包括获取代码并在闭源产品中使用它。它为任何获取代码的人提供了 自由 用它做他们想做的事。

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

我有点惊讶地看到没有提到 开源倡议 作为有关存在哪些开源许可证的信息来源。它可能不进行比较,因此其他网站也值得检查。

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

我最近开始研究适用于相当大的作品的许可类型。所有开源许可证的选择数量以及内容、限制(或不限制)和限制令人眼花缭乱。我在发布的答案中找到了几个很好的链接,但我没有看到任何指向 开源倡议按字母顺序排列的许可证列表, ,所以我将其包含在这里。

我们也有类似的困境。在我们公司,我们决定在一个框架上投入大量时间,最终希望将其发布到开源社区。该业务是使用开源工具(apache、php 等)构建的,是时候回馈了。我们决定采用 LGPL/MPL 双重许可证。这样,我们就可以纳入社区的修复/改进,同时仍然保护在其上运行的应用程序(尤其是我们的应用程序)免于被迫开源。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top