GCC 運(yùn)行庫例外(GCC Runtime Library Exception)非正式中文翻譯
GNU 運(yùn)行庫例外條款是 GPLv3 其中的一個(gè)附加許可條款,這個(gè)例外條款的目的是允許 GPL 協(xié)議發(fā)布的編譯器編譯非 GPL 的程序且不受 GPLv3 內(nèi)容的限制。鑒于 GPL、AGPL、GPL 都存在簡中翻譯,因此我給 GCC RLE 也做了翻譯,僅供參考。這個(gè)譯文也會投稿到其他平臺,比如 OSChina。
譯文也放在了 GitHub Pages 上,存有 MD、ODT、HTML、PDF版本:https://narukeu.github.io/GCC_RLE_3.1_ZH_CN/
這是 GCC 運(yùn)行時(shí)庫例外(RLE) 的非正式簡體中文翻譯。它并未被自由軟件基金會發(fā)行,也不對使用 GCC RLE 發(fā)布的文檔起法律效力——只有 GCC RLE 的原始英文版才有法律意義。不過,我們希望該翻譯能夠幫助簡體中文用戶更好地理解 GCC RLE。
只有按照 的條款,你才能發(fā)布此翻譯,無論是否修改過。
Luke Na 依照 GNU 的要求而附加的聲明,2023 年 3 月 30 日。
版本 3.1,2009 年 3 月 31 日
版權(quán)所有 ? 2009 Free Software Foundation, Inc. https://fsf.org/
每個(gè)人都可以復(fù)制和分發(fā)本許可證文件的原始副本,但不允許更改。
本 GCC 運(yùn)行庫例外條款(以下稱為本“例外”)是 GNU 通用公共許可證第 3 版(“GPLv3”)第 7 節(jié)下的一項(xiàng)附加許可證。它適用于某個(gè)特定的文件(“運(yùn)行庫”),該文件包含一個(gè)由文件的版權(quán)持有人放置的聲明,說明該文件受 GPLv3 以及本條款管轄。
當(dāng)您使用 GCC 編譯程序時(shí),GCC 可能會將某些 GCC 頭文件和運(yùn)行庫的部分內(nèi)容與編譯后的程序結(jié)合起來。本例外條款的目的是允許編譯非 GPL(包括專有)程序,以此方式使用本例外所涵蓋的頭文件和運(yùn)行庫。
0. 定義
如果某個(gè)文件在編譯過程后需要運(yùn)行庫來執(zhí)行,或者使用運(yùn)行庫提供的接口,但(本身)不是基于運(yùn)行庫(構(gòu)建)的,則該文件為“獨(dú)立模塊”。
“GCC” 指的是 GNU 編譯器集合(GCC)的某個(gè)版本,無論做出修改與否,受 GNU General Public License(GPL)第 3 版(或指定的較新版本)管轄,且具有使用由 FSF 發(fā)布的任何后續(xù)版本的選項(xiàng)。
“GPL 兼容軟件” 指其傳播、修改和使用條件允許與 GCC 合并的軟件,符合 GCC 的許可證。
“目標(biāo)代碼”指任何編譯器為真實(shí)或虛擬目標(biāo)處理器體系結(jié)構(gòu)生成的輸出,可以是可執(zhí)行形式,或者適合輸入到匯編程序、裝載器、鏈接器和/或執(zhí)行階段。盡管如此,目標(biāo)代碼不包括用作編譯器中間表示形式或用于生成編譯器中間表示形式的任何格式的數(shù)據(jù)。
“編譯過程”將完全以人類編寫的非中間語言和/或 Java 虛擬機(jī)字節(jié)碼表示的代碼轉(zhuǎn)換為目標(biāo)代碼。因此,例如,使用源代碼生成器和預(yù)處理器不需要被視為編譯過程的一部分,因?yàn)榭梢詫⒕幾g過程理解為從生成器或預(yù)處理器的輸出開始。
如果使用 GCC,單獨(dú)或與其他 GPL 兼容軟件一起進(jìn)行編譯,或者如果沒有使用基于 GCC 的任何作品,則編譯過程是“符合資格的”。例如,使用非 GPL 兼容軟件優(yōu)化任何 GCC 中間表示形式不符合符合資格編譯過程的標(biāo)準(zhǔn)。
1. 附加授權(quán)的授予
您有權(quán)傳播通過將運(yùn)行庫與獨(dú)立模塊組合而成的目標(biāo)代碼作品,即使這種傳播本來會違反 GPLv3 的條款,前提是所有的目標(biāo)代碼都是由符合資格的編譯過程生成的。然后,您可以按照您的選擇將這種組合傳達(dá),與獨(dú)立模塊的許可證一致。