open-source - 是否有哪个 OSS 许可证与哪个许可证兼容的图表?

标签 open-source licensing

我对各个 OSS 许可证有相当好的了解,但当我想在不同许可证下使用代码时,我总是遇到麻烦。 BSD 与 Ms-PL、Apache 2 与 GPLv3 等。

是否有某种“匹配图表”列出哪些许可证与哪些许可证兼容?

最佳答案

自由软件基金会维护着 list of licenses ,分为 GPL 兼容、GPL 不兼容和非自由。这可以帮助回答最常见的问题,即许可证是否兼容 GPL。由于没有许多其他自由软件许可证要求整个衍生作品像 GPL 那样在同一许可证下分发,因此只要代码保留在不同的库或源文件中,其他许可证之间的兼容性问题通常较低。

就 Ms-PL 而言,您也可以使用 FSF 列表来确定其兼容性。 Ms-PL 是一个(非常)弱 Copyleft 许可证(Ms-RL 稍强,但仍被归类为弱 Copyleft)。这意味着在其下分发的代码必须保留在其下,从而使其与 GPL 不兼容,但只要您遵循每个许可证和单独许可的代码的条款,您通常可以将其链接到宽松或其他弱 Copyleft 许可证下的代码驻留在单独的库中。它可能不兼容的唯一许可证是强 Copyleft 许可证,例如 GPL 和 AGPL。 (标准免责声明:我不是律师,这不是法律建议。如果您需要法律建议,您应该咨询合格的律师)。

对于一组更有限的许可证,您可以查看此 Free-Libre / Open Source Software (FLOSS) License Slide作者:大卫·惠勒(David Wheeler)(转载如下)。箭头表示可以组合两个许可证,并且组合后的作品可以有效地被视为在箭头末尾具有许可证,可能还具有从箭头开头的许可证中获取的一些附加限制。

License compatibility chart
(来源:dwheeler.com)

以下段落是对此主题的一般性咆哮,与您的问题相关但不直接相关

确定许可证兼容性的困难以及简单地理解各种许可条款的后果是许可证扩散如此糟糕的原因。如果可能的话,请尝试使用常见的、易于理解的许可证,例如 GPL、LGPL、BSD 2 条款或 3 条款、MIT/X 联盟许可证或公共(public)领域专用许可证。无论你做什么,都不要发明自己的许可证。如果必须,请使用您所参与的项目的通用许可证,以保持与该项目中其余代码的兼容性。如果您遵循这些规则,将有助于减少困惑并提高许可证兼容性。

关于open-source - 是否有哪个 OSS 许可证与哪个许可证兼容的图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1978511/

相关文章:

asp.net-mvc-3 - ASP.NET MVC 3 jquery.validate.unobtrusive.js 的许可证?

licensing - NSIS 使用条款

java - 您对 Maven 的印象是什么?

drupal - 最好的 Drupal Survey 模块是什么

open-source - 展示 TDD 和 SOLID 原则的开源项目

c# - 我应该在哪里存储许可证文件?

licensing - 我可以使用维基百科的内容吗?

xml - 用于 Linux 的开源命令行工具,用于区分忽略元素顺序的 XML 文件

基于.Net 的开源社交网站?

c++ - 轻量级、可移植的 C++ 纤程,MIT 许可证