Open source 有哪个OSS许可证与哪个兼容的图表吗?

Open source 有哪个OSS许可证与哪个兼容的图表吗?,open-source,licensing,Open Source,Licensing,我对各个OSS许可证有相当好的理解,但当我想在不同的许可证下使用代码时,我总是遇到麻烦。BSD与Ms PL、Apache 2与GPLv3等 是否有某种“匹配图表”列出哪些许可证与哪些许可证兼容? < P>自由软件基金会维护一个分类为GPL兼容、GPL不兼容和非自由的。这有助于回答最常见的问题,即许可证是否与GPL兼容。由于没有多少其他自由软件许可证像GPL一样要求在同一许可证下分发整个衍生作品,因此只要代码保留在不同的库或源文件中,其他许可证之间的兼容性问题通常较低 就Ms PL而言,您可能还可

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


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

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

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

对于更有限的一组许可证,您可以查看David Wheeler的文章(复制如下)。箭头表示可以组合两个许可证,并且组合的作品可以有效地被视为在箭头的末尾有许可证,可能在箭头的开头有一些额外的限制


(来源:)

下面这段话是关于这个话题的一般性咆哮,与你的问题相关但不直接相关


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

回答您关于对Ms PL兼容许可证感兴趣的评论:

大多数许可证都与之兼容。你最好去维基百科输入一个许可证名称。若它被列为并没有copyleft,那个么它和Ms PL兼容,因为Ms PL要求所有发布的源代码派生代码都在Ms-PL下


我就是这样做研究的

我同意最后的说法,尽管对我来说,我特别想寻找与Ms PL兼容的许可证。我发现GPL的方式限制太多,所以更多的是关于BSD/Apache/Ms PL/Ms RL/MPL/LGPL…根据该图表,APL 2.0与LGPL v2不兼容?这似乎与我极为矛盾。这些网站对“衍生”作品有标准的定义吗?如果我只使用一个不变的二进制数,我的功是导数吗?如果我使用OSS库进行纯粹的通信,比如插件中的Modbus协议,那么我的整个控制应用程序是否变得衍生,即使它的重点与通信库完全不同?Tormod这里的评论部分太短,无法提供您问题的完整答案。如果您使用开放源代码库进行通信,那么您的作品加上该库构成一个组合作品,并且该组合作品必须符合该库分发所依据的许可证。如果它是在许可证(BSD、Apache等)下分发的,那么这通常意味着您只需给予信任(但要了解更多详细信息,请阅读完整的许可证)。如果是LGPL,则必须允许用户替换库。如果是GPL,那么您必须在GPL下发布软件。@ToMod有关详细信息,请阅读或提出单独的问题,我(或其他人)可以提供更完整的答案。它有相关的功能。除了这是一个有用的问题/答案(与SO中的许多问题/答案相反),因此不应该在被询问4年后关闭!!!!它至少可以迁移到。