如何在我的开源代码中包含apache库?


9

我拥有MIT许可的开放源代码,该许可使用Apache 2.0许可的库。

我想将此包含在我的项目中,以便可以立即构建它。

该许可证第4点说明了如何重新分发它:

摘抄:

4。 重新分配。您可以在满足以下条件的情况下,以任何媒介(有或没有修改)以及以源或对象的形式复​​制和分发作品或其衍生作品的副本:

您必须向该作品或衍生作品的任何其他接收者提供本许可的副本;和

您必须使所有修改过的文件带有明显的声明,表明您已更改文件;和

您必须以您分发的任何衍生作品的“源”形式保留该作品“源”形式的所有版权,专利,商标和出处声明,但与这些衍生作品的任何部分无关的那些声明除外;和

如果作品包含“注意”文本文件作为其分发的一部分,则您分发的任何衍生作品都必须包括该通知文件中包含的署名声明的可读副本,但不包括与该声明的任何部分无关的那些声明衍生作品,至少应位于以下至少一个位置:在作为衍生作品一部分分发的NOTICE文本文件中;在原始表格或文档中(如果与衍生作品一起提供);或在“衍生作品”产生的显示中,通常在任何地方出现此类第三方通知。注意文件的内容仅供参考,请勿修改许可证。您可以在自己发布的衍生作品中添加自己的归属通知,或者在作品的NOTICE文本的旁边或作为附录,前提是此类附加的所有权声明不能解释为修改许可。您可以在自己的修改中添加自己的版权声明,并可以提供其他或不同的许可条款和条件,以供您使用,复制或分发您的修改,或任何此类衍生作品作为一个整体,但前提是您必须使用,复制和分发否则,作品应符合本许可中规定的条件。

我没有创建派生作品(我打算照原样提供)。

我没有NOTICE文件,只有我自己的LICENSE.txt文件。

问题:我应该在哪里提出一些建议:“该项目使用在Apache 2.0下分发的Xyz库……”?推荐什么?

我也应该提供Apache许可证文件吗?如果我只说“在此处在线查找许可证... ”,就足够了

我希望过去曾这样做的人可以对此事有所了解。

Answers:


3

问题:我应该在哪里写些什么:“该项目使用在Apache2.0下分发的Xyz库……”?推荐什么?

该许可证意味着您应在软件分发中包含某种NOTICE文件。我建议您这样做。

我也应该提供apache许可证文件吗?如果我只说“在此处在线查找许可证... http://www.apache.org/licenses/LICENSE-2.0.html ”,这将足够了。

许可证明确要求您提供许可证副本


如果您发现陈述或暗示的Apache要求令人反感,请与经验丰富的软件IP问题律师联系……然后再决定忽略它们。


8

我过去没有做过,但是您引述的部分非常明确地说明了需要什么。具体来说,只有以下几行与您有关:“您必须向该作品或衍生作品的任何其他接收者提供此许可的副本;”

这意味着您必须包括许可证文件本身,而不仅仅是链接。

至于您的其他问题,许可证摘录不需要您明确声明使用该库,但是在README.txt或Dependencies.txt中,此类信息将是最有用的。


5

您还必须提供Apache许可证版本2.0(APLv2)的副本。它在报价中这样说:“您必须向该作品或衍生作品的任何其他接收者提供此许可的副本”。

除此之外,没有其他来源。因此,不必将“该项目使用Apache 2.0下分发的Xyz库”放在某个地方。源代码(作品)和许可本身就说明了这一点。

当然,包括这样的归因是一种很好的礼节。它的去向取决于您制作的软件类型。

这就是说,它听起来就像你正在做的衍生作品-你正在构建与APLv2许可的软件二进制。那是衍生作品。(实际上,不清楚您是否在分发二进制文件。)如果是这种情况,则必须适当地处理NOTICE文件。您说没有NOTICE文件,但是APLv2软件是否具有NOTICE文件?如果是,则必须使用某种方法(二进制)在其中显示通知。


关于“衍生作品” ...目前尚不清楚OP是否正在创建衍生作品。但是,“使用APLv2许可软件构建二进制文件”并不意味着派生工作。许可证特别指出:“衍生作品不得包括与作品及其衍生作品之间可分离的作品,或仅与其链接(或按名称绑定)的作品。”
安迪·丹妮
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.