贡献者许可协议和标头

本页介绍了两个重要的贡献者任务:签署贡献者许可协议以及确保在代码中正确使用许可标头。

签署贡献者许可协议

所有个人贡献者(仅代表自己做出贡献的贡献者)向 Android 开源项目 (AOSP) 贡献想法、代码或文档,都需要填写、签署并提交个人贡献者许可协议。您可以通过代码审核工具在线执行此协议。该协议定义了向 AOSP 贡献知识产权的条款。此许可是为了保护您作为贡献者以及项目的权益;它不会改变您出于任何其他目的使用您自己贡献的权利。

公司贡献者许可协议适用于有员工从事 AOSP 工作的公司(或其他实体)。此版本的协议允许公司授权其指定的员工提交贡献,并授予版权和专利许可。

Google 的贡献者许可协议以 Apache 软件基金会使用的协议为基础,可以在 Apache 网站上找到。

包含许可标头

Android 开源项目 (AOSP) 对我们的软件使用一些经开源促进会批准的开源许可。

Apache License, Version 2.0 (Apache 2.0) 是 AOSP 的首选许可,并且大多数 Android 软件都使用 Apache 2.0 许可。虽然该项目力求遵守首选许可,但也存在例外情况,这些例外情况会根据具体情况处理。例如,Linux 内核补丁采用 GPLv2 许可和系统例外,可在Linux 内核归档中找到。

对于用户空间(非内核)软件,Google 更喜欢 Apache 2.0(以及类似的许可,例如 BSD 和 MIT)而不是其他许可,例如 GNU Lesser General Public License (LGPL)。原因如下

  • Android 关乎自由和选择。Android 的目的是促进移动世界的开放性,Google 无法预测或支配我们软件的所有用途。因此,虽然 Google 鼓励每个人制造开放且可修改的设备,但我们认为强迫他们这样做是不合适的。使用 LGPL 库可能会受到限制。以下是我们的一些具体担忧

    • 简而言之,LGPL 要求向应用程序交付源代码;书面提供源代码;或动态链接 LGPL 许可的库,并允许用户手动升级或替换该库。Android 软件通常作为静态系统映像交付,因此遵守这些要求会限制设备制造商的设计。例如,用户很难替换只读闪存存储器上的库。

    • LGPL 要求允许客户修改和逆向工程,以便调试这些修改。大多数设备制造商不希望受这些条款的约束。

    • 从历史上看,LGPL 库一直是下游设备制造商和应用开发者面临的许多合规性问题的根源。就这些问题对工程师进行教育既困难又耗时。设备制造商能够轻松遵守许可对于 Android 的成功至关重要。

这些担忧并非批评 LGPL 或其他许可。Google 赞赏所有自由和开源许可,并尊重他人的许可偏好。Google 已确定 Apache 2.0 最适合我们的目标。

当提交要包含在 AOSP 中的代码时,您必须确保正确使用许可标头。以下部分说明了如何处理新文件和现有代码的许可标头。

遵循以下关于版权和许可标头的最佳实践

  • 请勿修改现有的版权。例如,如果您想向 AOSP 贡献一个文件,其中包含的代码源自具有其自身版权声明的文件,则必须保留原始文件中的版权声明。

  • 如果您添加一个全新的源文件,请使用默认的 AOSP 版权和以下许可标头,除非您贡献的项目具有不同的预定义许可

    Copyright (C) yyyy The Android Open Source Project
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    
    https://apache.ac.cn/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.