GCC 執行期函式庫例外條款
GCC 執行期函式庫例外條款
版本 3.1,2009 年 3 月 31 日
Copyright © 2009 自由軟體基金會有限公司 <https://fsf.org/>
在未經修改的情況下,任何人皆被允許複製與散布此授權條款文件,但不允許修改。
此 GCC 執行期函式庫例外條款(下稱「例外條款」)是 GNU 通用公共授權條款第 3 版(下稱「GPLv3」)第 7 節下的附加許可。它適用於特定檔案(下稱「執行期函式庫」),該檔案的著作權持有人已放置聲明,指出該檔案受 GPLv3 以及此例外條款的規範。
當您使用 GCC 編譯程式時,GCC 可能會將某些 GCC 標頭檔和執行期函式庫的部分與編譯後的程式結合。此例外條款的目的是允許編譯非 GPL(包括專有)程式,以這種方式使用此例外條款涵蓋的標頭檔和執行期函式庫。
0. 定義。
若一個檔案在「編譯過程」後執行需要「執行期函式庫」,或使用由「執行期函式庫」提供的介面,但並非以「執行期函式庫」為基礎,則該檔案為「獨立模組」。
「GCC」意指 GNU 編譯器套件的某個版本,無論是否經過修改,皆受 GNU 通用公共授權條款(GPL)第 3 版(或指定的後續版本)規範,並可選擇使用 FSF 發布的任何後續版本。
「GPL 相容軟體」是指其傳播、修改和使用條件允許與 GCC 結合,且符合 GCC 授權條款的軟體。
「目標碼」指的是任何編譯器針對真實或虛擬目標處理器架構的輸出,以可執行形式或適用於組譯器、載入器、連結器和/或執行階段的輸入形式。儘管如此,「目標碼」不包括任何格式的資料,該資料用作編譯器中繼表示法,或用於產生編譯器中繼表示法。
「編譯過程」將完全以非中繼語言(為人類編寫程式碼而設計的語言)和/或 Java 虛擬機器位元組碼表示的程式碼,轉換為「目標碼」。因此,例如,使用原始碼產生器和前處理器不必被視為「編譯過程」的一部分,因為「編譯過程」可以理解為從產生器或前處理器的輸出開始。
若「編譯過程」是單獨使用 GCC 或與其他 GPL 相容軟體一起完成,或者在沒有使用任何基於 GCC 的作品的情況下完成,則「編譯過程」是「合格的」。例如,使用非 GPL 相容軟體來最佳化任何 GCC 中繼表示法將不符合「合格的編譯過程」的資格。
1. 附加許可的授予。
您有權傳播透過將「執行期函式庫」與「獨立模組」結合而形成的「目標碼」作品,即使此類傳播在其他情況下會違反 GPLv3 的條款,前提是所有「目標碼」都是由「合格的編譯過程」產生。然後,您可以根據您選擇的條款傳達此類組合,但須與「獨立模組」的授權條款一致。
2. 不削弱 GCC 著作權保護。
此例外條款的可用性並不意味著任何一般性的推定,即第三方軟體不受 GCC 授權條款的著作權保護要求的影響。