sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/process/license-rulesmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Simplified)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/zh_CN/process/license-rulesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/it_IT/process/license-rulesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ja_JP/process/license-rulesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ko_KR/process/license-rulesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/sp_SP/process/license-rulesmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Traditional)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhV/var/lib/git/docbuild/linux/Documentation/translations/zh_TW/process/license-rules.rsthKubhwarning)}(hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。h]h paragraph)}(hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。h]hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_TW/disclaimer-zh_TW.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubhnote)}(h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。h]h)}(h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。h](h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<}(hhhhhNhNubh reference)}(h2023002089@link.tyut.edu.cnh]h2023002089@link.tyut.edu.cn}(hhhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:2023002089@link.tyut.edu.cnuh1hhhubh>。}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhhhKubh field_body)}(hA:ref:`Documentation/process/license-rules.rst `h]h)}(hjh]h)}(hjh]hinline)}(hjh]h'Documentation/process/license-rules.rst}(hj)hhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1j'hj$ubah}(h]h ]h"]h$]h&]refdoc(translations/zh_TW/process/license-rules refdomainj4reftyperef refexplicitrefwarn reftargetkernel_licensinguh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(hhh](j )}(h Translatorh]h Translator}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjZhhhKubj)}(hNAlex Shi Hu Haowen <2023002089@link.tyut.edu.cn> h]h)}(hMAlex Shi Hu Haowen <2023002089@link.tyut.edu.cn>h](h Alex Shi <}(hjohhhNhNubh)}(halex.shi@linux.alibaba.comh]halex.shi@linux.alibaba.com}(hjwhhhNhNubah}(h]h ]h"]h$]h&]refuri!mailto:alex.shi@linux.alibaba.comuh1hhjoubh > Hu Haowen <}(hjohhhNhNubh)}(h2023002089@link.tyut.edu.cnh]h2023002089@link.tyut.edu.cn}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:2023002089@link.tyut.edu.cnuh1hhjoubh>}(hjohhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjkubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubeh}(h]h ]h"]h$]h&]uh1jhhhhhhhKubhtarget)}(h.. _tw_kernel_licensing:h]h}(h]h ]h"]h$]h&]refidtw-kernel-licensinguh1jhKhhhhhhubhsection)}(hhh](htitle)}(hLinux內核許可規則h]hLinux內核許可規則}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhK ubh)}(hLinux內核根據LICENSES/preferred/GPL-2.0中提供的GNU通用公共許可證版本2 (GPL-2.0)的條款提供,並在LICENSES/exceptions/Linux-syscall-note中顯式 描述了例外的系統調用,如COPYING文件中所述。h]hLinux內核根據LICENSES/preferred/GPL-2.0中提供的GNU通用公共許可證版本2 (GPL-2.0)的條款提供,並在LICENSES/exceptions/Linux-syscall-note中顯式 描述了例外的系統調用,如COPYING文件中所述。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h此文檔文件提供瞭如何對每個源文件進行註釋以使其許可證清晰明確的說明。 它不會取代內核的許可證。h]h此文檔文件提供瞭如何對每個源文件進行註釋以使其許可證清晰明確的說明。 它不會取代內核的許可證。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h內核源代碼作爲一個整體適用於COPYING文件中描述的許可證,但是單個源文件可以 具有不同的與GPL-20兼容的許可證::h]h內核源代碼作爲一個整體適用於COPYING文件中描述的許可證,但是單個源文件可以 具有不同的與GPL-20兼容的許可證:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh literal_block)}(hX@GPL-1.0+ : GNU通用公共許可證v1.0或更高版本 GPL-2.0+ : GNU通用公共許可證v2.0或更高版本 LGPL-2.0 : 僅限GNU庫通用公共許可證v2 LGPL-2.0+: GNU 庫通用公共許可證v2或更高版本 LGPL-2.1 : 僅限GNU寬通用公共許可證v2.1 LGPL-2.1+: GNU寬通用公共許可證v2.1或更高版本h]hX@GPL-1.0+ : GNU通用公共許可證v1.0或更高版本 GPL-2.0+ : GNU通用公共許可證v2.0或更高版本 LGPL-2.0 : 僅限GNU庫通用公共許可證v2 LGPL-2.0+: GNU 庫通用公共許可證v2或更高版本 LGPL-2.1 : 僅限GNU寬通用公共許可證v2.1 LGPL-2.1+: GNU寬通用公共許可證v2.1或更高版本}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjhhubh)}(hy除此之外,個人文件可以在雙重許可下提供,例如一個兼容的GPL變體,或者BSD, MIT等許可。h]hy除此之外,個人文件可以在雙重許可下提供,例如一個兼容的GPL變體,或者BSD, MIT等許可。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hX用戶空間API(UAPI)頭文件描述了用戶空間程序與內核的接口,這是一種特殊情況。 根據內核COPYING文件中的註釋,syscall接口是一個明確的邊界,它不會將GPL要求 擴展到任何使用它與內核通信的軟件。由於UAPI頭文件必須包含在創建在Linux內核 上運行的可執行文件的任何源文件中,因此此例外必須記錄在特別的許可證表述中。h]hX用戶空間API(UAPI)頭文件描述了用戶空間程序與內核的接口,這是一種特殊情況。 根據內核COPYING文件中的註釋,syscall接口是一個明確的邊界,它不會將GPL要求 擴展到任何使用它與內核通信的軟件。由於UAPI頭文件必須包含在創建在Linux內核 上運行的可執行文件的任何源文件中,因此此例外必須記錄在特別的許可證表述中。}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjhhubh)}(h表達源文件許可證的常用方法是將匹配的樣板文本添加到文件的頂部註釋中。由於 格式,拼寫錯誤等,這些“樣板”很難通過那些在上下文中使用的驗證許可證合規性 的工具。h]h表達源文件許可證的常用方法是將匹配的樣板文本添加到文件的頂部註釋中。由於 格式,拼寫錯誤等,這些“樣板”很難通過那些在上下文中使用的驗證許可證合規性 的工具。}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjhhubh)}(hX樣板文本的替代方法是在每個源文件中使用軟件包數據交換(SPDX)許可證標識符。 SPDX許可證標識符是機器可解析的,並且是用於提供文件內容的許可證的精確縮寫。 SPDX許可證標識符由Linux 基金會的SPDX 工作組管理,並得到了整個行業,工具 供應商和法律團隊的合作伙伴的一致同意。有關詳細信息,請參閱 https://spdx.org/h](hX樣板文本的替代方法是在每個源文件中使用軟件包數據交換(SPDX)許可證標識符。 SPDX許可證標識符是機器可解析的,並且是用於提供文件內容的許可證的精確縮寫。 SPDX許可證標識符由Linux 基金會的SPDX 工作組管理,並得到了整個行業,工具 供應商和法律團隊的合作伙伴的一致同意。有關詳細信息,請參閱 }(hj>hhhNhNubh)}(hhttps://spdx.org/h]hhttps://spdx.org/}(hjFhhhNhNubah}(h]h ]h"]h$]h&]refurijHuh1hhj>ubeh}(h]h ]h"]h$]h&]uh1hhhhK+hjhhubh)}(hXLinux內核需要所有源文件中的精確SPDX標識符。內核中使用的有效標識符在 `許可標識符`_ 一節中進行了解釋,並且已可以在 https://spdx.org/licenses/ 上的官方SPDX許可證列表中檢索,並附帶許可證 文本。h](haLinux內核需要所有源文件中的精確SPDX標識符。內核中使用的有效標識符在 }(hj[hhhNhNubh)}(h`許可標識符`_h]h許可標識符}(hjchhhNhNubah}(h]h ]h"]h$]h&]name許可標識符jid2uh1hhj[resolvedKubh/ 一節中進行了解釋,並且已可以在 }(hj[hhhNhNubh)}(hhttps://spdx.org/licenses/h]hhttps://spdx.org/licenses/}(hjyhhhNhNubah}(h]h ]h"]h$]h&]refurij{uh1hhj[ubhH 上的官方SPDX許可證列表中檢索,並附帶許可證 文本。}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK1hjhhubj)}(hhh](j)}(h許可標識符語法h]h許可標識符語法}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhK7ubh)}(h 1.安置:h]h 1.安置:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjhhubhdefinition_list)}(hhh]hdefinition_list_item)}(hX    內核文件中的SPDX許可證標識符應添加到可包含註釋的文件中的第一行。對於大多 數文件,這是第一行,除了那些在第一行中需要'#!PATH_TO_INTERPRETER'的腳本。 對於這些腳本,SPDX標識符進入第二行。 h](hterm)}(hp   內核文件中的SPDX許可證標識符應添加到可包含註釋的文件中的第一行。對於大多h]hp   內核文件中的SPDX許可證標識符應添加到可包含註釋的文件中的第一行。對於大多}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK=hjubh definition)}(hhh]h)}(h數文件,這是第一行,除了那些在第一行中需要'#!PATH_TO_INTERPRETER'的腳本。 對於這些腳本,SPDX標識符進入第二行。h]h數文件,這是第一行,除了那些在第一行中需要’#!PATH_TO_INTERPRETER’的腳本。 對於這些腳本,SPDX標識符進入第二行。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK C header: /* SPDX-License-Identifier: */ ASM: /* SPDX-License-Identifier: */ scripts: # SPDX-License-Identifier: .rst: .. SPDX-License-Identifier: .dts{i}: // SPDX-License-Identifier: 如果特定工具無法處理標準註釋樣式,則應使用工具接受的相應註釋機制。這是在 C 頭文件中使用“/\*\*/”樣式註釋的原因。過去在使用生成的.lds文件中觀察到 構建被破壞,其中'ld'無法解析C++註釋。現在已經解決了這個問題,但仍然有較 舊的彙編程序工具無法處理C++樣式的註釋。 h](h)}(h風格:h]h風格:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubh)}(hTSPDX許可證標識符以註釋的形式添加。註釋樣式取決於文件類型::h]hSSPDX許可證標識符以註釋的形式添加。註釋樣式取決於文件類型:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjubj)}(hXC source: // SPDX-License-Identifier: C header: /* SPDX-License-Identifier: */ ASM: /* SPDX-License-Identifier: */ scripts: # SPDX-License-Identifier: .rst: .. SPDX-License-Identifier: .dts{i}: // SPDX-License-Identifier: h]hXC source: // SPDX-License-Identifier: C header: /* SPDX-License-Identifier: */ ASM: /* SPDX-License-Identifier: */ scripts: # SPDX-License-Identifier: .rst: .. SPDX-License-Identifier: .dts{i}: // SPDX-License-Identifier: }hj.sbah}(h]h ]h"]h$]h&]hhuh1jhhhKEhjubh)}(hXu如果特定工具無法處理標準註釋樣式,則應使用工具接受的相應註釋機制。這是在 C 頭文件中使用“/\*\*/”樣式註釋的原因。過去在使用生成的.lds文件中觀察到 構建被破壞,其中'ld'無法解析C++註釋。現在已經解決了這個問題,但仍然有較 舊的彙編程序工具無法處理C++樣式的註釋。h]hXy如果特定工具無法處理標準註釋樣式,則應使用工具接受的相應註釋機制。這是在 C 頭文件中使用“/**/”樣式註釋的原因。過去在使用生成的.lds文件中觀察到 構建被破壞,其中’ld’無法解析C++註釋。現在已經解決了這個問題,但仍然有較 舊的彙編程序工具無法處理C++樣式的註釋。}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjubeh}(h]h ]h"]h$]h&]uh1j hj hhhhhNubah}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.startKuh1jhjhhhhhKAubj)}(hhh]j)}(hhh]h}(h]h ]h"]h$]h&]uh1hhj\hhhhhKjKubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKQubj)}(hhh]j )}(hX{句法: 是SPDX許可證列表中的SPDX短格式許可證標識符,或者在許可 證例外適用時由“WITH”分隔的兩個SPDX短格式許可證標識符的組合。當應用多個許 可證時,表達式由分隔子表達式的關鍵字“AND”,“OR”組成,並由“(”,“)”包圍。 帶有“或更高”選項的[L]GPL等許可證的許可證標識符通過使用“+”來表示“或更高” 選項來構建。:: // SPDX-License-Identifier: GPL-2.0+ // SPDX-License-Identifier: LGPL-2.1+ 當需要修正的許可證時,應使用WITH。 例如,linux內核UAPI文件使用表達式:: // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note // SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note 其它在內核中使用WITH例外的事例如下:: // SPDX-License-Identifier: GPL-2.0 WITH mif-exception // SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0 例外只能與特定的許可證標識符一起使用。有效的許可證標識符列在異常文本文件 的標記中。有關詳細信息,請參閱 `許可標識符`_ 一章中的 `例外`_ 。 如果文件是雙重許可且只選擇一個許可證,則應使用OR。例如,一些dtsi文件在雙 許可下可用:: // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 內核中雙許可文件中許可表達式的示例:: // SPDX-License-Identifier: GPL-2.0 OR MIT // SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause // SPDX-License-Identifier: GPL-2.0 OR Apache-2.0 // SPDX-License-Identifier: GPL-2.0 OR MPL-1.1 // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT // SPDX-License-Identifier: GPL-1.0+ OR BSD-3-Clause OR OpenSSL 如果文件具有多個許可證,其條款全部適用於使用該文件,則應使用AND。例如, 如果代碼是從另一個項目繼承的,並且已經授予了將其放入內核的權限,但原始 許可條款需要保持有效:: // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) AND MIT 另一個需要遵守兩套許可條款的例子是:: // SPDX-License-Identifier: GPL-1.0+ AND LGPL-2.1+ h](h)}(h句法:h]h句法:}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjqubh)}(hXI是SPDX許可證列表中的SPDX短格式許可證標識符,或者在許可 證例外適用時由“WITH”分隔的兩個SPDX短格式許可證標識符的組合。當應用多個許 可證時,表達式由分隔子表達式的關鍵字“AND”,“OR”組成,並由“(”,“)”包圍。h]hXI是SPDX許可證列表中的SPDX短格式許可證標識符,或者在許可 證例外適用時由“WITH”分隔的兩個SPDX短格式許可證標識符的組合。當應用多個許 可證時,表達式由分隔子表達式的關鍵字“AND”,“OR”組成,並由“(”,“)”包圍。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjqubh)}(h帶有“或更高”選項的[L]GPL等許可證的許可證標識符通過使用“+”來表示“或更高” 選項來構建。::h]h帶有“或更高”選項的[L]GPL等許可證的許可證標識符通過使用“+”來表示“或更高” 選項來構建。:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjqubj)}(hJ// SPDX-License-Identifier: GPL-2.0+ // SPDX-License-Identifier: LGPL-2.1+h]hJ// SPDX-License-Identifier: GPL-2.0+ // SPDX-License-Identifier: LGPL-2.1+}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK\hjqubh)}(hb當需要修正的許可證時,應使用WITH。 例如,linux內核UAPI文件使用表達式::h]ha當需要修正的許可證時,應使用WITH。 例如,linux內核UAPI文件使用表達式:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjqubj)}(hx// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note // SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-noteh]hx// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note // SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKahjqubh)}(h3其它在內核中使用WITH例外的事例如下::h]h2其它在內核中使用WITH例外的事例如下:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjqubj)}(hr// SPDX-License-Identifier: GPL-2.0 WITH mif-exception // SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0h]hr// SPDX-License-Identifier: GPL-2.0 WITH mif-exception // SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKfhjqubh)}(h例外只能與特定的許可證標識符一起使用。有效的許可證標識符列在異常文本文件 的標記中。有關詳細信息,請參閱 `許可標識符`_ 一章中的 `例外`_ 。h](h例外只能與特定的許可證標識符一起使用。有效的許可證標識符列在異常文本文件 的標記中。有關詳細信息,請參閱 }(hjhhhNhNubh)}(h`許可標識符`_h]h許可標識符}(hjhhhNhNubah}(h]h ]h"]h$]h&]name許可標識符jjsuh1hhjjtKubh 一章中的 }(hjhhhNhNubh)}(h `例外`_h]h例外}(hjhhhNhNubah}(h]h ]h"]h$]h&]name例外jid5uh1hhjjtKubh 。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKihjqubh)}(h{如果文件是雙重許可且只選擇一個許可證,則應使用OR。例如,一些dtsi文件在雙 許可下可用::h]hz如果文件是雙重許可且只選擇一個許可證,則應使用OR。例如,一些dtsi文件在雙 許可下可用:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjqubj)}(h3// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clauseh]h3// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause}hj*sbah}(h]h ]h"]h$]h&]hhuh1jhhhKohjqubh)}(h5內核中雙許可文件中許可表達式的示例::h]h4內核中雙許可文件中許可表達式的示例:}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhjqubj)}(hXD// SPDX-License-Identifier: GPL-2.0 OR MIT // SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause // SPDX-License-Identifier: GPL-2.0 OR Apache-2.0 // SPDX-License-Identifier: GPL-2.0 OR MPL-1.1 // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT // SPDX-License-Identifier: GPL-1.0+ OR BSD-3-Clause OR OpenSSLh]hXD// SPDX-License-Identifier: GPL-2.0 OR MIT // SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause // SPDX-License-Identifier: GPL-2.0 OR Apache-2.0 // SPDX-License-Identifier: GPL-2.0 OR MPL-1.1 // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT // SPDX-License-Identifier: GPL-1.0+ OR BSD-3-Clause OR OpenSSL}hjFsbah}(h]h ]h"]h$]h&]hhuh1jhhhKshjqubh)}(h如果文件具有多個許可證,其條款全部適用於使用該文件,則應使用AND。例如, 如果代碼是從另一個項目繼承的,並且已經授予了將其放入內核的權限,但原始 許可條款需要保持有效::h]h如果文件具有多個許可證,其條款全部適用於使用該文件,則應使用AND。例如, 如果代碼是從另一個項目繼承的,並且已經授予了將其放入內核的權限,但原始 許可條款需要保持有效:}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhjqubj)}(hE// SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) AND MITh]hE// SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) AND MIT}hjbsbah}(h]h ]h"]h$]h&]hhuh1jhhhK~hjqubh)}(h5另一個需要遵守兩套許可條款的例子是::h]h4另一個需要遵守兩套許可條款的例子是:}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjqubj)}(h2// SPDX-License-Identifier: GPL-1.0+ AND LGPL-2.1+h]h2// SPDX-License-Identifier: GPL-1.0+ AND LGPL-2.1+}hj~sbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjqubeh}(h]h ]h"]h$]h&]uh1j hjnhhhhhNubah}(h]h ]h"]h$]h&]jVjWjXhjYjZj[Kuh1jhjhhhhhKSubeh}(h]id1ah ]h"]許可標識符語法ah$]h&]uh1jhjhhhhhK7 referencedKubj)}(hhh](j)}(h許可標識符h]h許可標識符}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(hQ當前使用的許可證以及添加到內核的代碼許可證可以分解爲:h]hQ當前使用的許可證以及添加到內核的代碼許可證可以分解爲:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]j )}(hXe_`優先許可`: 應儘可能使用這些許可證,因爲它們已知完全兼容並廣泛使用。這些許可證在內核 目錄:: LICENSES/preferred/ 此目錄中的文件包含完整的許可證文本和 `元標記`_ 。文件名與SPDX許可證標識 符相同,後者應用於源文件中的許可證。 例如:: LICENSES/preferred/GPL-2.0 包含GPLv2許可證文本和所需的元標籤:: LICENSES/preferred/MIT 包含MIT許可證文本和所需的元標記 _`元標記`: 許可證文件中必須包含以下元標記: - Valid-License-Identifier:   一行或多行, 聲明那些許可標識符在項目內有效, 以引用此特定許可的文本。通 常這是一個有效的標識符,但是例如對於帶有'或更高'選項的許可證,兩個標識 符都有效。 - SPDX-URL: SPDX頁面的URL,其中包含與許可證相關的其他信息. - Usage-Guidance: 使用建議的自由格式文本。該文本必須包含SPDX許可證標識符的正確示例,因爲 它們應根據 `許可標識符語法`_ 指南放入源文件中。 - License-Text: 此標記之後的所有文本都被視爲原始許可文本 文件格式示例:: Valid-License-Identifier: GPL-2.0 Valid-License-Identifier: GPL-2.0+ SPDX-URL: https://spdx.org/licenses/GPL-2.0.html Usage-Guide: To use this license in source code, put one of the following SPDX tag/value pairs into a comment according to the placement guidelines in the licensing rules documentation. For 'GNU General Public License (GPL) version 2 only' use: SPDX-License-Identifier: GPL-2.0 For 'GNU General Public License (GPL) version 2 or any later version' use: SPDX-License-Identifier: GPL-2.0+ License-Text: Full license text :: SPDX-License-Identifier: MIT SPDX-URL: https://spdx.org/licenses/MIT.html Usage-Guide: To use this license in source code, put the following SPDX tag/value pair into a comment according to the placement guidelines in the licensing rules documentation. SPDX-License-Identifier: MIT License-Text: Full license text h](h)}(h_`優先許可`:h](j)}(h_`優先許可`h]h 優先許可}(hjhhhNhNubah}(h]id3ah ]h"] 優先許可ah$]h&]uh1jhjjKubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hu應儘可能使用這些許可證,因爲它們已知完全兼容並廣泛使用。這些許可證在內核 目錄::h]ht應儘可能使用這些許可證,因爲它們已知完全兼容並廣泛使用。這些許可證在內核 目錄:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hLICENSES/preferred/h]hLICENSES/preferred/}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubh)}(h此目錄中的文件包含完整的許可證文本和 `元標記`_ 。文件名與SPDX許可證標識 符相同,後者應用於源文件中的許可證。h](h7此目錄中的文件包含完整的許可證文本和 }(hjhhhNhNubh)}(h `元標記`_h]h 元標記}(hj hhhNhNubah}(h]h ]h"]h$]h&]name 元標記jid4uh1hhjjtKubhZ 。文件名與SPDX許可證標識 符相同,後者應用於源文件中的許可證。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h例如::h]h例如:}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hLICENSES/preferred/GPL-2.0h]hLICENSES/preferred/GPL-2.0}hj2sbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubh)}(h1包含GPLv2許可證文本和所需的元標籤::h]h0包含GPLv2許可證文本和所需的元標籤:}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hLICENSES/preferred/MITh]hLICENSES/preferred/MIT}hjNsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubh)}(h-包含MIT許可證文本和所需的元標記h]h-包含MIT許可證文本和所需的元標記}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h _`元標記`:h](j)}(h _`元標記`h]h 元標記}(hjnhhhNhNubah}(h]jah ]h"] 元標記ah$]h&]uh1jhjjjKubh:}(hjjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h0許可證文件中必須包含以下元標記:h]h0許可證文件中必須包含以下元標記:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh bullet_list)}(hhh]j )}(hValid-License-Identifier: h]h)}(hValid-License-Identifier:h]hValid-License-Identifier:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]bullet-uh1jhhhKhjubj)}(hhh]j)}(h  一行或多行, 聲明那些許可標識符在項目內有效, 以引用此特定許可的文本。通 常這是一個有效的標識符,但是例如對於帶有'或更高'選項的許可證,兩個標識 符都有效。 h](j)}(hk  一行或多行, 聲明那些許可標識符在項目內有效, 以引用此特定許可的文本。通h]hk  一行或多行, 聲明那些許可標識符在項目內有效, 以引用此特定許可的文本。通}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh]h)}(hx常這是一個有效的標識符,但是例如對於帶有'或更高'選項的許可證,兩個標識 符都有效。h]h|常這是一個有效的標識符,但是例如對於帶有’或更高’選項的許可證,兩個標識 符都有效。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j )}(hMSPDX-URL: SPDX頁面的URL,其中包含與許可證相關的其他信息. h](h)}(h SPDX-URL:h]h SPDX-URL:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hASPDX頁面的URL,其中包含與許可證相關的其他信息.h]hASPDX頁面的URL,其中包含與許可證相關的其他信息.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hUsage-Guidance: 使用建議的自由格式文本。該文本必須包含SPDX許可證標識符的正確示例,因爲 它們應根據 `許可標識符語法`_ 指南放入源文件中。 h](h)}(hUsage-Guidance:h]hUsage-Guidance:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h使用建議的自由格式文本。該文本必須包含SPDX許可證標識符的正確示例,因爲 它們應根據 `許可標識符語法`_ 指南放入源文件中。h](hx使用建議的自由格式文本。該文本必須包含SPDX許可證標識符的正確示例,因爲 它們應根據 }(hj-hhhNhNubh)}(h`許可標識符語法`_h]h許可標識符語法}(hj5hhhNhNubah}(h]h ]h"]h$]h&]name許可標識符語法jjuh1hhj-jtKubh 指南放入源文件中。}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hLLicense-Text: 此標記之後的所有文本都被視爲原始許可文本 h](h)}(h License-Text:h]h License-Text:}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjUubh)}(h<此標記之後的所有文本都被視爲原始許可文本h]h<此標記之後的所有文本都被視爲原始許可文本}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjUubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]jjuh1jhhhKhjubh)}(h文件格式示例::h]h文件格式示例:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hX,Valid-License-Identifier: GPL-2.0 Valid-License-Identifier: GPL-2.0+ SPDX-URL: https://spdx.org/licenses/GPL-2.0.html Usage-Guide: To use this license in source code, put one of the following SPDX tag/value pairs into a comment according to the placement guidelines in the licensing rules documentation. For 'GNU General Public License (GPL) version 2 only' use: SPDX-License-Identifier: GPL-2.0 For 'GNU General Public License (GPL) version 2 or any later version' use: SPDX-License-Identifier: GPL-2.0+ License-Text: Full license texth]hX,Valid-License-Identifier: GPL-2.0 Valid-License-Identifier: GPL-2.0+ SPDX-URL: https://spdx.org/licenses/GPL-2.0.html Usage-Guide: To use this license in source code, put one of the following SPDX tag/value pairs into a comment according to the placement guidelines in the licensing rules documentation. For 'GNU General Public License (GPL) version 2 only' use: SPDX-License-Identifier: GPL-2.0 For 'GNU General Public License (GPL) version 2 or any later version' use: SPDX-License-Identifier: GPL-2.0+ License-Text: Full license text}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubj)}(hXDSPDX-License-Identifier: MIT SPDX-URL: https://spdx.org/licenses/MIT.html Usage-Guide: To use this license in source code, put the following SPDX tag/value pair into a comment according to the placement guidelines in the licensing rules documentation. SPDX-License-Identifier: MIT License-Text: Full license texth]hXDSPDX-License-Identifier: MIT SPDX-URL: https://spdx.org/licenses/MIT.html Usage-Guide: To use this license in source code, put the following SPDX tag/value pair into a comment according to the placement guidelines in the licensing rules documentation. SPDX-License-Identifier: MIT License-Text: Full license text}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1j hjhhhhhNubah}(h]h ]h"]h$]h&]jVjWjXhjYjZuh1jhjhhhhhKubj)}(hhh]j)}(hhh]h}(h]h ]h"]h$]h&]uh1hhjhhhhhKjKubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubj)}(hhh]j )}(hXL不推薦的許可證: 這些許可證只應用於現有代碼或從其他項目導入代碼。這些許可證在內核目錄:: LICENSES/other/ 此目錄中的文件包含完整的許可證文本和 `元標記`_ 。文件名與SPDX許可證標識 符相同,後者應用於源文件中的許可證。 例如:: LICENSES/other/ISC 包含國際系統聯合許可文本和所需的元標籤:: LICENSES/other/ZLib 包含ZLIB許可文本和所需的元標籤. 元標籤: “其他”許可證的元標籤要求與 `優先許可`_ 的要求相同。 文件格式示例:: Valid-License-Identifier: ISC SPDX-URL: https://spdx.org/licenses/ISC.html Usage-Guide: Usage of this license in the kernel for new code is discouraged and it should solely be used for importing code from an already existing project. To use this license in source code, put the following SPDX tag/value pair into a comment according to the placement guidelines in the licensing rules documentation. SPDX-License-Identifier: ISC License-Text: Full license text h](h)}(h不推薦的許可證:h]h不推薦的許可證:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hh這些許可證只應用於現有代碼或從其他項目導入代碼。這些許可證在內核目錄::h]hg這些許可證只應用於現有代碼或從其他項目導入代碼。這些許可證在內核目錄:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hLICENSES/other/h]hLICENSES/other/}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubh)}(h此目錄中的文件包含完整的許可證文本和 `元標記`_ 。文件名與SPDX許可證標識 符相同,後者應用於源文件中的許可證。h](h7此目錄中的文件包含完整的許可證文本和 }(hjhhhNhNubh)}(h `元標記`_h]h 元標記}(hjhhhNhNubah}(h]h ]h"]h$]h&]name 元標記jjuh1hhjjtKubhZ 。文件名與SPDX許可證標識 符相同,後者應用於源文件中的許可證。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h例如::h]h例如:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hLICENSES/other/ISCh]hLICENSES/other/ISC}hj*sbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubh)}(h;包含國際系統聯合許可文本和所需的元標籤::h]h:包含國際系統聯合許可文本和所需的元標籤:}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hLICENSES/other/ZLibh]hLICENSES/other/ZLib}hjFsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubh)}(h,包含ZLIB許可文本和所需的元標籤.h]h,包含ZLIB許可文本和所需的元標籤.}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h 元標籤:h]h 元標籤:}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hM“其他”許可證的元標籤要求與 `優先許可`_ 的要求相同。h](h+“其他”許可證的元標籤要求與 }(hjphhhNhNubh)}(h`優先許可`_h]h 優先許可}(hjxhhhNhNubah}(h]h ]h"]h$]h&]name 優先許可jjuh1hhjpjtKubh 的要求相同。}(hjphhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h文件格式示例::h]h文件格式示例:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hXValid-License-Identifier: ISC SPDX-URL: https://spdx.org/licenses/ISC.html Usage-Guide: Usage of this license in the kernel for new code is discouraged and it should solely be used for importing code from an already existing project. To use this license in source code, put the following SPDX tag/value pair into a comment according to the placement guidelines in the licensing rules documentation. SPDX-License-Identifier: ISC License-Text: Full license texth]hXValid-License-Identifier: ISC SPDX-URL: https://spdx.org/licenses/ISC.html Usage-Guide: Usage of this license in the kernel for new code is discouraged and it should solely be used for importing code from an already existing project. To use this license in source code, put the following SPDX tag/value pair into a comment according to the placement guidelines in the licensing rules documentation. SPDX-License-Identifier: ISC License-Text: Full license text}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1j hjhhhhhNubah}(h]h ]h"]h$]h&]jVjWjXhjYjZj[Kuh1jhjhhhhhKubj)}(hhh]j)}(hhh]h}(h]h ]h"]h$]h&]uh1hhjhhhhhKjKubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubj)}(hhh]j )}(hX _`例外`: 某些許可證可以修改,並允許原始許可證不具有的某些例外權利。這些例外在 內核目錄:: LICENSES/exceptions/ 此目錄中的文件包含完整的例外文本和所需的 `例外元標記`_ 。 例如:: LICENSES/exceptions/Linux-syscall-note 包含Linux內核的COPYING文件中記錄的Linux系統調用例外,該文件用於UAPI 頭文件。例如:: LICENSES/exceptions/GCC-exception-2.0 包含GCC'鏈接例外',它允許獨立於其許可證的任何二進制文件與標記有此例外的 文件的編譯版本鏈接。這是從GPL不兼容源代碼創建可運行的可執行文件所必需的。 _`例外元標記`: 以下元標記必須在例外文件中可用: - SPDX-Exception-Identifier:   一個可與SPDX許可證標識符一起使用的例外標識符。 - SPDX-URL: SPDX頁面的URL,其中包含與例外相關的其他信息。 - SPDX-Licenses:   以逗號分隔的例外可用的SPDX許可證標識符列表。 - Usage-Guidance: 使用建議的自由格式文本。必須在文本後面加上SPDX許可證標識符的正確示例, 因爲它們應根據 `許可標識符語法`_ 指南放入源文件中。 - Exception-Text: 此標記之後的所有文本都被視爲原始異常文本 文件格式示例:: SPDX-Exception-Identifier: Linux-syscall-note SPDX-URL: https://spdx.org/licenses/Linux-syscall-note.html SPDX-Licenses: GPL-2.0, GPL-2.0+, GPL-1.0+, LGPL-2.0, LGPL-2.0+, LGPL-2.1, LGPL-2.1+ Usage-Guidance: This exception is used together with one of the above SPDX-Licenses to mark user-space API (uapi) header files so they can be included into non GPL compliant user-space application code. To use this exception add it with the keyword WITH to one of the identifiers in the SPDX-Licenses tag: SPDX-License-Identifier: WITH Linux-syscall-note Exception-Text: Full exception text :: SPDX-Exception-Identifier: GCC-exception-2.0 SPDX-URL: https://spdx.org/licenses/GCC-exception-2.0.html SPDX-Licenses: GPL-2.0, GPL-2.0+ Usage-Guidance: The "GCC Runtime Library exception 2.0" is used together with one of the above SPDX-Licenses for code imported from the GCC runtime library. To use this exception add it with the keyword WITH to one of the identifiers in the SPDX-Licenses tag: SPDX-License-Identifier: WITH GCC-exception-2.0 Exception-Text: Full exception text h](h)}(h _`例外`:h](j)}(h _`例外`h]h例外}(hjhhhNhNubah}(h]jah ]h"]例外ah$]h&]uh1jhjjKubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hu某些許可證可以修改,並允許原始許可證不具有的某些例外權利。這些例外在 內核目錄::h]ht某些許可證可以修改,並允許原始許可證不具有的某些例外權利。這些例外在 內核目錄:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hLICENSES/exceptions/h]hLICENSES/exceptions/}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubh)}(hS此目錄中的文件包含完整的例外文本和所需的 `例外元標記`_ 。h](h=此目錄中的文件包含完整的例外文本和所需的 }(hj hhhNhNubh)}(h`例外元標記`_h]h例外元標記}(hjhhhNhNubah}(h]h ]h"]h$]h&]name例外元標記jid6uh1hhj jtKubh 。}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(h例如::h]h例如:}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubj)}(h&LICENSES/exceptions/Linux-syscall-noteh]h&LICENSES/exceptions/Linux-syscall-note}hj=sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjubh)}(ho包含Linux內核的COPYING文件中記錄的Linux系統調用例外,該文件用於UAPI 頭文件。例如::h]hn包含Linux內核的COPYING文件中記錄的Linux系統調用例外,該文件用於UAPI 頭文件。例如:}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubj)}(h%LICENSES/exceptions/GCC-exception-2.0h]h%LICENSES/exceptions/GCC-exception-2.0}hjYsbah}(h]h ]h"]h$]h&]hhuh1jhhhM hjubh)}(h包含GCC'鏈接例外',它允許獨立於其許可證的任何二進制文件與標記有此例外的 文件的編譯版本鏈接。這是從GPL不兼容源代碼創建可運行的可執行文件所必需的。h]h包含GCC’鏈接例外’,它允許獨立於其許可證的任何二進制文件與標記有此例外的 文件的編譯版本鏈接。這是從GPL不兼容源代碼創建可運行的可執行文件所必需的。}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubh)}(h_`例外元標記`:h](j)}(h_`例外元標記`h]h例外元標記}(hjyhhhNhNubah}(h]j$ah ]h"]例外元標記ah$]h&]uh1jhjujKubh:}(hjuhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(h0以下元標記必須在例外文件中可用:h]h0以下元標記必須在例外文件中可用:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubj)}(hhh]j )}(hSPDX-Exception-Identifier: h]h)}(hSPDX-Exception-Identifier:h]hSPDX-Exception-Identifier:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]jjuh1jhhhMhjubh)}(hG  一個可與SPDX許可證標識符一起使用的例外標識符。h]hG  一個可與SPDX許可證標識符一起使用的例外標識符。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubj)}(hhh](j )}(hLSPDX-URL: SPDX頁面的URL,其中包含與例外相關的其他信息。 h](h)}(h SPDX-URL:h]h SPDX-URL:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(h@SPDX頁面的URL,其中包含與例外相關的其他信息。h]h@SPDX頁面的URL,其中包含與例外相關的其他信息。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1j hjubj )}(hSPDX-Licenses: h]h)}(hSPDX-Licenses:h]hSPDX-Licenses:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhjubh)}(hD  以逗號分隔的例外可用的SPDX許可證標識符列表。h]hD  以逗號分隔的例外可用的SPDX許可證標識符列表。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubj)}(hhh](j )}(hUsage-Guidance: 使用建議的自由格式文本。必須在文本後面加上SPDX許可證標識符的正確示例, 因爲它們應根據 `許可標識符語法`_ 指南放入源文件中。 h](h)}(hUsage-Guidance:h]hUsage-Guidance:}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj' ubh)}(h使用建議的自由格式文本。必須在文本後面加上SPDX許可證標識符的正確示例, 因爲它們應根據 `許可標識符語法`_ 指南放入源文件中。h](h~使用建議的自由格式文本。必須在文本後面加上SPDX許可證標識符的正確示例, 因爲它們應根據 }(hj9 hhhNhNubh)}(h`許可標識符語法`_h]h許可標識符語法}(hjA hhhNhNubah}(h]h ]h"]h$]h&]name許可標識符語法jjuh1hhj9 jtKubh 指南放入源文件中。}(hj9 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM!hj' ubeh}(h]h ]h"]h$]h&]uh1j hj$ ubj )}(hNException-Text: 此標記之後的所有文本都被視爲原始異常文本 h](h)}(hException-Text:h]hException-Text:}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hja ubh)}(h<此標記之後的所有文本都被視爲原始異常文本h]h<此標記之後的所有文本都被視爲原始異常文本}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hja ubeh}(h]h ]h"]h$]h&]uh1j hj$ ubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhjubh)}(h文件格式示例::h]h文件格式示例:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubj)}(hXdSPDX-Exception-Identifier: Linux-syscall-note SPDX-URL: https://spdx.org/licenses/Linux-syscall-note.html SPDX-Licenses: GPL-2.0, GPL-2.0+, GPL-1.0+, LGPL-2.0, LGPL-2.0+, LGPL-2.1, LGPL-2.1+ Usage-Guidance: This exception is used together with one of the above SPDX-Licenses to mark user-space API (uapi) header files so they can be included into non GPL compliant user-space application code. To use this exception add it with the keyword WITH to one of the identifiers in the SPDX-Licenses tag: SPDX-License-Identifier: WITH Linux-syscall-note Exception-Text: Full exception texth]hXdSPDX-Exception-Identifier: Linux-syscall-note SPDX-URL: https://spdx.org/licenses/Linux-syscall-note.html SPDX-Licenses: GPL-2.0, GPL-2.0+, GPL-1.0+, LGPL-2.0, LGPL-2.0+, LGPL-2.1, LGPL-2.1+ Usage-Guidance: This exception is used together with one of the above SPDX-Licenses to mark user-space API (uapi) header files so they can be included into non GPL compliant user-space application code. To use this exception add it with the keyword WITH to one of the identifiers in the SPDX-Licenses tag: SPDX-License-Identifier: WITH Linux-syscall-note Exception-Text: Full exception text}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhM*hjubj)}(hXSPDX-Exception-Identifier: GCC-exception-2.0 SPDX-URL: https://spdx.org/licenses/GCC-exception-2.0.html SPDX-Licenses: GPL-2.0, GPL-2.0+ Usage-Guidance: The "GCC Runtime Library exception 2.0" is used together with one of the above SPDX-Licenses for code imported from the GCC runtime library. To use this exception add it with the keyword WITH to one of the identifiers in the SPDX-Licenses tag: SPDX-License-Identifier: WITH GCC-exception-2.0 Exception-Text: Full exception texth]hXSPDX-Exception-Identifier: GCC-exception-2.0 SPDX-URL: https://spdx.org/licenses/GCC-exception-2.0.html SPDX-Licenses: GPL-2.0, GPL-2.0+ Usage-Guidance: The "GCC Runtime Library exception 2.0" is used together with one of the above SPDX-Licenses for code imported from the GCC runtime library. To use this exception add it with the keyword WITH to one of the identifiers in the SPDX-Licenses tag: SPDX-License-Identifier: WITH GCC-exception-2.0 Exception-Text: Full exception text}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhM9hjubeh}(h]h ]h"]h$]h&]uh1j hjhhhhhNubah}(h]h ]h"]h$]h&]jVjWjXhjYjZj[Kuh1jhjhhhhhKubh)}(hX'所有SPDX許可證標識符和例外都必須在LICENSES子目錄中具有相應的文件。這是允許 工具驗證(例如checkpatch.pl)以及準備好從源讀取和提取許可證所必需的, 這是 各種FOSS組織推薦的,例如 `FSFE REUSE initiative `_.h](h所有SPDX許可證標識符和例外都必須在LICENSES子目錄中具有相應的文件。這是允許 工具驗證(例如checkpatch.pl)以及準備好從源讀取和提取許可證所必需的, 這是 各種FOSS組織推薦的,例如 }(hj hhhNhNubh)}(h2`FSFE REUSE initiative `_h]hFSFE REUSE initiative}(hj hhhNhNubah}(h]h ]h"]h$]h&]nameFSFE REUSE initiativerefurihttps://reuse.software/uh1hhj ubj)}(h h]h}(h]fsfe-reuse-initiativeah ]h"]fsfe reuse initiativeah$]h&]refurij uh1jjKhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMGhjhhubeh}(h]jsah ]h"]許可標識符ah$]h&]uh1jhjhhhhhKjKubj)}(hhh](j)}(h_`模塊許可`h]j)}(hj h]h 模塊許可}(hj hhhNhNubah}(h]id7ah ]h"] 模塊許可ah$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhMLubh block_quote)}(hX 可加載內核模塊還需要MODULE_LICENSE()標記。此標記既不替代正確的源代碼 許可證信息(SPDX-License-Identifier),也不以任何方式表示或確定提供模塊 源代碼的確切許可證。 此標記的唯一目的是提供足夠的信息,該模塊是否是自由軟件或者是內核模塊加 載器和用戶空間工具的專有模塊。 MODULE_LICENSE()的有效許可證字符串是: ============================= ============================================= "GPL" 模塊是根據GPL版本2許可的。這並不表示僅限於 GPL-2.0或GPL-2.0或更高版本之間的任何區別。 最正確許可證信息只能通過相應源文件中的許可證 信息來確定 "GPL v2" 和"GPL"相同,它的存在是因爲歷史原因。 "GPL and additional rights" 表示模塊源在GPL v2變體和MIT許可下雙重許可的 歷史變體。請不要在新代碼中使用。 "Dual MIT/GPL" 表達該模塊在GPL v2變體或MIT許可證選擇下雙重 許可的正確方式。 "Dual BSD/GPL" 該模塊根據GPL v2變體或BSD許可證選擇進行雙重 許可。 BSD許可證的確切變體只能通過相應源文件 中的許可證信息來確定。 "Dual MPL/GPL" 該模塊根據GPL v2變體或Mozilla Public License (MPL)選項進行雙重許可。 MPL許可證的確切變體 只能通過相應的源文件中的許可證信息來確定。 "Proprietary" 該模塊屬於專有許可。此字符串僅用於專有的第三 方模塊,不能用於在內核樹中具有源代碼的模塊。 以這種方式標記的模塊在加載時會使用'P'標記污 染內核,並且內核模塊加載器拒絕將這些模塊鏈接 到使用EXPORT_SYMBOL_GPL()導出的符號。 ============================= ============================================= h](h)}(h可加載內核模塊還需要MODULE_LICENSE()標記。此標記既不替代正確的源代碼 許可證信息(SPDX-License-Identifier),也不以任何方式表示或確定提供模塊 源代碼的確切許可證。h]h可加載內核模塊還需要MODULE_LICENSE()標記。此標記既不替代正確的源代碼 許可證信息(SPDX-License-Identifier),也不以任何方式表示或確定提供模塊 源代碼的確切許可證。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhj ubh)}(h此標記的唯一目的是提供足夠的信息,該模塊是否是自由軟件或者是內核模塊加 載器和用戶空間工具的專有模塊。h]h此標記的唯一目的是提供足夠的信息,該模塊是否是自由軟件或者是內核模塊加 載器和用戶空間工具的專有模塊。}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj ubh)}(h3MODULE_LICENSE()的有效許可證字符串是:h]h3MODULE_LICENSE()的有效許可證字符串是:}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj ubj )}(hXM============================= ============================================= "GPL" 模塊是根據GPL版本2許可的。這並不表示僅限於 GPL-2.0或GPL-2.0或更高版本之間的任何區別。 最正確許可證信息只能通過相應源文件中的許可證 信息來確定 "GPL v2" 和"GPL"相同,它的存在是因爲歷史原因。 "GPL and additional rights" 表示模塊源在GPL v2變體和MIT許可下雙重許可的 歷史變體。請不要在新代碼中使用。 "Dual MIT/GPL" 表達該模塊在GPL v2變體或MIT許可證選擇下雙重 許可的正確方式。 "Dual BSD/GPL" 該模塊根據GPL v2變體或BSD許可證選擇進行雙重 許可。 BSD許可證的確切變體只能通過相應源文件 中的許可證信息來確定。 "Dual MPL/GPL" 該模塊根據GPL v2變體或Mozilla Public License (MPL)選項進行雙重許可。 MPL許可證的確切變體 只能通過相應的源文件中的許可證信息來確定。 "Proprietary" 該模塊屬於專有許可。此字符串僅用於專有的第三 方模塊,不能用於在內核樹中具有源代碼的模塊。 以這種方式標記的模塊在加載時會使用'P'標記污 染內核,並且內核模塊加載器拒絕將這些模塊鏈接 到使用EXPORT_SYMBOL_GPL()導出的符號。 ============================= ============================================= h]htable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jU hjR ubjV )}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jU hjR ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h"GPL"h]h “GPL”}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjw ubah}(h]h ]h"]h$]h&]uh1ju hjr ubjv )}(hhh]h)}(h模塊是根據GPL版本2許可的。這並不表示僅限於 GPL-2.0或GPL-2.0或更高版本之間的任何區別。 最正確許可證信息只能通過相應源文件中的許可證 信息來確定h]h模塊是根據GPL版本2許可的。這並不表示僅限於 GPL-2.0或GPL-2.0或更高版本之間的任何區別。 最正確許可證信息只能通過相應源文件中的許可證 信息來確定}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhj ubah}(h]h ]h"]h$]h&]uh1ju hjr ubeh}(h]h ]h"]h$]h&]uh1jp hjm ubjq )}(hhh](jv )}(hhh]h)}(h"GPL v2"h]h “GPL v2”}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj ubah}(h]h ]h"]h$]h&]uh1ju hj ubjv )}(hhh]h)}(h5和"GPL"相同,它的存在是因爲歷史原因。h]h9和”GPL”相同,它的存在是因爲歷史原因。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj ubah}(h]h ]h"]h$]h&]uh1ju hj ubeh}(h]h ]h"]h$]h&]uh1jp hjm ubjq )}(hhh](jv )}(hhh]h)}(h"GPL and additional rights"h]h“GPL and additional rights”}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj ubah}(h]h ]h"]h$]h&]uh1ju hj ubjv )}(hhh]h)}(hm表示模塊源在GPL v2變體和MIT許可下雙重許可的 歷史變體。請不要在新代碼中使用。h]hm表示模塊源在GPL v2變體和MIT許可下雙重許可的 歷史變體。請不要在新代碼中使用。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj ubah}(h]h ]h"]h$]h&]uh1ju hj ubeh}(h]h ]h"]h$]h&]uh1jp hjm ubjq )}(hhh](jv )}(hhh]h)}(h"Dual MIT/GPL"h]h“Dual MIT/GPL”}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj ubah}(h]h ]h"]h$]h&]uh1ju hj ubjv )}(hhh]h)}(hU表達該模塊在GPL v2變體或MIT許可證選擇下雙重 許可的正確方式。h]hU表達該模塊在GPL v2變體或MIT許可證選擇下雙重 許可的正確方式。}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj3 ubah}(h]h ]h"]h$]h&]uh1ju hj ubeh}(h]h ]h"]h$]h&]uh1jp hjm ubjq )}(hhh](jv )}(hhh]h)}(h"Dual BSD/GPL"h]h“Dual BSD/GPL”}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjS ubah}(h]h ]h"]h$]h&]uh1ju hjP ubjv )}(hhh]h)}(h該模塊根據GPL v2變體或BSD許可證選擇進行雙重 許可。 BSD許可證的確切變體只能通過相應源文件 中的許可證信息來確定。h]h該模塊根據GPL v2變體或BSD許可證選擇進行雙重 許可。 BSD許可證的確切變體只能通過相應源文件 中的許可證信息來確定。}(hjm hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjj ubah}(h]h ]h"]h$]h&]uh1ju hjP ubeh}(h]h ]h"]h$]h&]uh1jp hjm ubjq )}(hhh](jv )}(hhh]h)}(h"Dual MPL/GPL"h]h“Dual MPL/GPL”}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj ubah}(h]h ]h"]h$]h&]uh1ju hj ubjv )}(hhh]h)}(h該模塊根據GPL v2變體或Mozilla Public License (MPL)選項進行雙重許可。 MPL許可證的確切變體 只能通過相應的源文件中的許可證信息來確定。h]h該模塊根據GPL v2變體或Mozilla Public License (MPL)選項進行雙重許可。 MPL許可證的確切變體 只能通過相應的源文件中的許可證信息來確定。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj ubah}(h]h ]h"]h$]h&]uh1ju hj ubeh}(h]h ]h"]h$]h&]uh1jp hjm ubjq )}(hhh](jv )}(hhh]h)}(h "Proprietary"h]h“Proprietary”}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj ubah}(h]h ]h"]h$]h&]uh1ju hj ubjv )}(hhh]h)}(hX;該模塊屬於專有許可。此字符串僅用於專有的第三 方模塊,不能用於在內核樹中具有源代碼的模塊。 以這種方式標記的模塊在加載時會使用'P'標記污 染內核,並且內核模塊加載器拒絕將這些模塊鏈接 到使用EXPORT_SYMBOL_GPL()導出的符號。h]hX?該模塊屬於專有許可。此字符串僅用於專有的第三 方模塊,不能用於在內核樹中具有源代碼的模塊。 以這種方式標記的模塊在加載時會使用’P’標記污 染內核,並且內核模塊加載器拒絕將這些模塊鏈接 到使用EXPORT_SYMBOL_GPL()導出的符號。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj ubah}(h]h ]h"]h$]h&]uh1ju hj ubeh}(h]h ]h"]h$]h&]uh1jp hjm ubeh}(h]h ]h"]h$]h&]uh1jk hjR ubeh}(h]h ]h"]h$]h&]colsKuh1jP hjM ubah}(h]h ]h"]h$]h&]uh1jK hjG ubah}(h]h ]h"]h$]h&]uh1j hhhMWhj ubeh}(h]h ]h"]h$]h&]uh1j hhhMNhj hhubeh}(h]id8ah ]h"]h$] 模塊許可ah&]uh1jhjhhhhhMLjKubeh}(h](linuxjeh ]h"](linux內核許可規則tw_kernel_licensingeh$]h&]uh1jhhhhhhhK expect_referenced_by_name}j" jsexpect_referenced_by_id}jjsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jN generatorN datestampN source_linkN source_urlN toc_backlinksju footnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjK error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}(許可標識符](jcje例外]ja 元標記](j je許可標識符語法](j5jA e 優先許可]jxa例外元標記]jaurefids}j]jasnameids}(j" jj! j jjj jsjjjzjjjjj$j j j j u nametypes}(j" j! jj jjzjjj j uh}(jjj jjjjsjjjjjnjjj$jyj j j j j j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jY KsRparse_messages](hsystem_message)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "2" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “2” (ordinal 2)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineK uh1j hjhhhhhKAubj )}(hhh]h)}(h:Enumerated list start value not ordinal-1: "3" (ordinal 3)h]h>Enumerated list start value not ordinal-1: “3” (ordinal 3)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineK uh1j hjhhhhhKSubj )}(hhh]h)}(h:Enumerated list start value not ordinal-1: "2" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “2” (ordinal 2)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineK uh1j hjhhhhhKubj )}(hhh]h)}(h:Enumerated list start value not ordinal-1: "3" (ordinal 3)h]h>Enumerated list start value not ordinal-1: “3” (ordinal 3)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineK uh1j hjhhhhhKubj )}(hhh]h)}(h/Duplicate implicit target name: "模塊許可".h]h3Duplicate implicit target name: “模塊許可”.}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj) ubah}(h]h ]h"]h$]h&]j alevelKtypej sourcehlineMLuh1j hj hhhhhMLubetransform_messages](j )}(hhh]h)}(hhh]h9Hyperlink target "tw-kernel-licensing" is not referenced.}hjI sbah}(h]h ]h"]h$]h&]uh1hhjF ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1j ubj )}(hhh]h)}(hhh]h2Hyperlink target "模塊許可" is not referenced.}hjc sbah}(h]h ]h"]h$]h&]uh1hhj` ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineMLuh1j ube transformerN include_log]:Documentation/translations/zh_TW/process/license-rules.rst(NNNNta decorationNhhub.