貢獻者授權協議和標頭

此頁面涵蓋兩個重要的貢獻者任務:簽署貢獻者許可協議和確保在程式碼中正確使用許可標頭。

簽署貢獻者許可協議

所有向 Android 開源專案 (AOSP) 提供想法、程式碼或文件的個人貢獻者(僅代表自己做出貢獻的人)都必須填寫、簽署並提交個人貢獻者許可協議。您可以透過程式碼審查工具在線上執行本協議。該協議定義了向 AOSP 貢獻知識產權的條款。該許可證旨在保護您作為貢獻者以及專案的保護;它不會改變您將自己的貢獻用於任何其他目的的權利。

企業貢獻者授權協議適用於擁有 AOSP 員工的公司(或其他實體)。該版本的協議允許公司授權其指定員工提交的貢獻並授予版權和專利許可。

Google 的貢獻者授權協議以Apache 軟體基金會使用的協議為基礎,可以在Apache 網站上找到該協議。

包含許可證標頭

Android 開源專案 (AOSP) 對我們的軟體使用了一些開源倡議批准的開源授權。

Apache 許可證版本 2.0 (Apache 2.0) 是 AOSP 的首選許可證,大多數 Android 軟體都使用 Apache 2.0 進行授權。雖然該專案努力遵守首選許可證,但也有例外情況,需要根據具體情況進行處理。例如,Linux 核心修補程式採用 GPLv2 許可證,但有系統例外,可在Linux 核心檔案中找到。

對於使用者空間(非核心)軟體,Google 更喜歡 Apache 2.0(以及 BSD 和 MIT 等類似授權),而不是 GNU 寬通用公共授權 (LGPL) 等其他授權。原因如下:

  • Android 是關於自由和選擇的。 Android 的目的是促進行動世界的開放性,Google 無法預測或規定我們軟體的所有用途。因此,雖然谷歌鼓勵每個人製造開放和可修改的設備,但我們認為我們沒有權利強迫他們這樣做。使用 LGPL 函式庫可能會受到限制。以下是我們的一些具體問題:

    • 簡而言之,LGPL 需要將原始碼傳送到應用程式;書面的來源報價;或動態連結 LGPL-ed 庫並允許使用者手動升級或替換庫。 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
    
    http://www.apache.org/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.