.. SPDX-License-Identifier: GPL-2.0 .. include:: ../disclaimer-zh_CN.rst :Original: :ref:`Documentation/process/license-rules.rst <kernel_licensing>` :Translator: Alex Shi <alex.shi@linux.alibaba.com> .. _cn_kernel_licensing: Linuxå†…æ ¸è®¸å¯è§„则 ================= Linuxå†…æ ¸æ ¹æ®LICENSES/preferred/GPL-2.0ä¸æ供的GNU通用公共许å¯è¯ç‰ˆæœ¬2 (GPL-2.0)的æ¡æ¬¾æ供,并在LICENSES/exceptions/Linux-syscall-noteä¸æ˜¾å¼ æ述了例外的系统调用,如COPYING文件ä¸æ‰€è¿°ã€‚ æ¤æ–‡æ¡£æ–‡ä»¶æ供了如何对æ¯ä¸ªæºæ–‡ä»¶è¿›è¡Œæ³¨é‡Šä»¥ä½¿å…¶è®¸å¯è¯æ¸…晰明确的说明。 它ä¸ä¼šå–ä»£å†…æ ¸çš„è®¸å¯è¯ã€‚ å†…æ ¸æºä»£ç 作为一个整体适用于COPYING文件ä¸æ述的许å¯è¯ï¼Œä½†æ˜¯å•ä¸ªæºæ–‡ä»¶å¯ä»¥ 具有ä¸åŒçš„与GPL-20兼容的许å¯è¯:: 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或更高版本 除æ¤ä¹‹å¤–,个人文件å¯ä»¥åœ¨åŒé‡è®¸å¯ä¸‹æ供,例如一个兼容的GPLå˜ä½“,或者BSD, MITç‰è®¸å¯ã€‚ 用户空间API(UAPI)头文件æ述了用户空间程åºä¸Žå†…æ ¸çš„æŽ¥å£ï¼Œè¿™æ˜¯ä¸€ç§ç‰¹æ®Šæƒ…况。 æ ¹æ®å†…æ ¸COPYING文件ä¸çš„注释,syscall接å£æ˜¯ä¸€ä¸ªæ˜Žç¡®çš„边界,它ä¸ä¼šå°†GPLè¦æ±‚ æ‰©å±•åˆ°ä»»ä½•ä½¿ç”¨å®ƒä¸Žå†…æ ¸é€šä¿¡çš„è½¯ä»¶ã€‚ç”±äºŽUAPI头文件必须包å«åœ¨åˆ›å»ºåœ¨Linuxå†…æ ¸ 上è¿è¡Œçš„å¯æ‰§è¡Œæ–‡ä»¶çš„任何æºæ–‡ä»¶ä¸ï¼Œå› æ¤æ¤ä¾‹å¤–必须记录在特别的许å¯è¯è¡¨è¿°ä¸ã€‚ 表达æºæ–‡ä»¶è®¸å¯è¯çš„常用方法是将匹é…çš„æ ·æ¿æ–‡æœ¬æ·»åŠ 到文件的顶部注释ä¸ã€‚由于 æ ¼å¼ï¼Œæ‹¼å†™é”™è¯¯ç‰ï¼Œè¿™äº›â€œæ ·æ¿â€å¾ˆéš¾é€šè¿‡é‚£äº›åœ¨ä¸Šä¸‹æ–‡ä¸ä½¿ç”¨çš„验è¯è®¸å¯è¯åˆè§„性 的工具。 æ ·æ¿æ–‡æœ¬çš„替代方法是在æ¯ä¸ªæºæ–‡ä»¶ä¸ä½¿ç”¨è½¯ä»¶åŒ…æ•°æ®äº¤æ¢ï¼ˆSPDX)许å¯è¯æ ‡è¯†ç¬¦ã€‚ SPDX许å¯è¯æ ‡è¯†ç¬¦æ˜¯æœºå™¨å¯è§£æžçš„,并且是用于æ供文件内容的许å¯è¯çš„精确缩写。 SPDX许å¯è¯æ ‡è¯†ç¬¦ç”±Linux 基金会的SPDX 工作组管ç†ï¼Œå¹¶å¾—到了整个行业,工具 供应商和法律团队的åˆä½œä¼™ä¼´çš„一致åŒæ„。有关详细信æ¯ï¼Œè¯·å‚阅 https://spdx.org/ Linuxå†…æ ¸éœ€è¦æ‰€æœ‰æºæ–‡ä»¶ä¸çš„精确SPDXæ ‡è¯†ç¬¦ã€‚å†…æ ¸ä¸ä½¿ç”¨çš„æœ‰æ•ˆæ ‡è¯†ç¬¦åœ¨ `许å¯æ ‡è¯†ç¬¦`_ 一节ä¸è¿›è¡Œäº†è§£é‡Šï¼Œå¹¶ä¸”å·²å¯ä»¥åœ¨ https://spdx.org/licenses/ 上的官方SPDX许å¯è¯åˆ—表ä¸æ£€ç´¢ï¼Œå¹¶é™„带许å¯è¯ 文本。 许å¯æ ‡è¯†ç¬¦è¯æ³• -------------- 1.安置: Â Â Â å†…æ ¸æ–‡ä»¶ä¸çš„SPDX许å¯è¯æ ‡è¯†ç¬¦åº”æ·»åŠ åˆ°å¯åŒ…å«æ³¨é‡Šçš„文件ä¸çš„第一行。对于大多 数文件,这是第一行,除了那些在第一行ä¸éœ€è¦'#!PATH_TO_INTERPRETER'的脚本。 对于这些脚本,SPDXæ ‡è¯†ç¬¦è¿›å…¥ç¬¬äºŒè¡Œã€‚ | 2. é£Žæ ¼: SPDX许å¯è¯æ ‡è¯†ç¬¦ä»¥æ³¨é‡Šçš„å½¢å¼æ·»åŠ ã€‚æ³¨é‡Šæ ·å¼å–决于文件类型:: C source: // SPDX-License-Identifier: <SPDX License Expression> C header: /* SPDX-License-Identifier: <SPDX License Expression> */ ASM: /* SPDX-License-Identifier: <SPDX License Expression> */ scripts: # SPDX-License-Identifier: <SPDX License Expression> .rst: .. SPDX-License-Identifier: <SPDX License Expression> .dts{i}: // SPDX-License-Identifier: <SPDX License Expression> å¦‚æžœç‰¹å®šå·¥å…·æ— æ³•å¤„ç†æ ‡å‡†æ³¨é‡Šæ ·å¼ï¼Œåˆ™åº”使用工具接å—的相应注释机制。这是在 C 头文件ä¸ä½¿ç”¨â€œ/\*\*/â€æ ·å¼æ³¨é‡Šçš„åŽŸå› ã€‚è¿‡åŽ»åœ¨ä½¿ç”¨ç”Ÿæˆçš„.lds文件ä¸è§‚察到 æž„å»ºè¢«ç ´å,其ä¸'ld'æ— æ³•è§£æžC++注释。现在已ç»è§£å†³äº†è¿™ä¸ªé—®é¢˜ï¼Œä½†ä»ç„¶æœ‰è¾ƒ 旧的汇编程åºå·¥å…·æ— 法处ç†C++æ ·å¼çš„注释。 | 3. å¥æ³•: <SPDX许å¯è¯è¡¨è¾¾å¼>是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+ 许å¯æ ‡è¯†ç¬¦ ---------- 当å‰ä½¿ç”¨çš„许å¯è¯ä»¥åŠæ·»åŠ åˆ°å†…æ ¸çš„ä»£ç 许å¯è¯å¯ä»¥åˆ†è§£ä¸ºï¼š 1. _`优先许å¯`: 应尽å¯èƒ½ä½¿ç”¨è¿™äº›è®¸å¯è¯ï¼Œå› 为它们已知完全兼容并广泛使用。这些许å¯è¯åœ¨å†…æ ¸ 目录:: 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 | 2. ä¸æŽ¨è的许å¯è¯: 这些许å¯è¯åªåº”用于现有代ç 或从其他项目导入代ç 。这些许å¯è¯åœ¨å†…æ ¸ç›®å½•:: 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 | 3. _`例外`: æŸäº›è®¸å¯è¯å¯ä»¥ä¿®æ”¹ï¼Œå¹¶å…许原始许å¯è¯ä¸å…·æœ‰çš„æŸäº›ä¾‹å¤–æƒåˆ©ã€‚这些例外在 å†…æ ¸ç›®å½•:: 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: <SPDX-License> 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: <SPDX-License> WITH GCC-exception-2.0 Exception-Text: Full exception text 所有SPDX许å¯è¯æ ‡è¯†ç¬¦å’Œä¾‹å¤–都必须在LICENSESå目录ä¸å…·æœ‰ç›¸åº”的文件。这是å…许 工具验è¯ï¼ˆä¾‹å¦‚checkpatch.pl)以åŠå‡†å¤‡å¥½ä»Žæºè¯»å–å’Œæå–许å¯è¯æ‰€å¿…需的, 这是 å„ç§FOSS组织推è的,例如 `FSFE REUSE initiative <https://reuse.software/>`_. _`模å—许å¯` ----------------- å¯åŠ è½½å†…æ ¸æ¨¡å—还需è¦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()导出的符å·ã€‚ ============================= =============================================