如果我使用Apache 2.0许可的库,是否必须提供项目源代码?


16

我有一个私有的(即没有机会共享源代码)和商业应用程序,现在我想使用一个Apache 2.0许可下的库。

我已经阅读了Apache许可证和FAQ部分,但是对此我不清楚。

是否与强制应用程序提供源代码的GPL3相同?


4
请注意,除内核外,Android均已获得Apache 2.0许可,并且大多数供应商均未提供其自定义来源。
Jan Hudec 2014年

3
通过查看Wikipedia 上此表上的“包含源代码”列,查看哪些许可证需要包含源代码。
罗勒·布尔克

Answers:


20

Apache 2.0许可证与GPL许可证有很大不同,至少在两个方面:

  1. 根据Apache 2.0许可,您可以在不提供源代码的情况下分发二进制文件。(根据GPL,您必须始终提供源代码)
  2. GPL许可证会延续到整个应用程序。Apache 2.0许可证不适用,仅适用于明确声明它们属于Apache 2.0许可证的那些部分。
    这意味着,如果您在项目中使用具有Apache 2.0许可证的库,则Apache 2.0许可证的权限/权利/义务不会突然转移到您的代码中。

要将Apache 2.0许可库的(二进制或未修改的)副本与您的应用程序一起分发,您必须满足两个要求:

  • 您的应用程序的用户必须收到Apache 2.0许可证的副本。为避免混淆,您还应说明许可证适用于发行版的哪个部分。
  • 您的应用程序用户必须收到该库随附的NOTICES文件的副本(如果有)。

5

Apache 2.0许可证与GPL完全不同。特别是说

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

因此,只要您满足列出的条件(通常并不繁琐),那么您就不必重新分发源代码。

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.