Login  |  繁體中文
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
Previous Issue

Linux 與 GPL 版本間的相容性問題

前幾天一位社群朋友轉寄一篇 Allison Randal 的文章(註三)連結給我,其中就以 Linux 為例,說明未來可能碰到的 GPL2(GNU General Public License, v.2)、GPL3 相容性問題。通篇看下來,發覺,其中所隱藏的問題還真不小!

在 GPL2 規定中,與本文所要探討問題有關的是第 9 條,該條是說 FSF 可以隨時修改或發佈新版 GPL,此時使用者再次散布程式的時候,有著可以選擇修改版、新版或任何一版 GPL 的選擇權。選擇權內容隨著程式授權聲明而定:若程式標明適用某一特定版本、及其後任何一版 GPL 的話,一旦 FSF 發佈修改/新版時,使用者就有權利選擇保持不變,或是適用修改/新版 GPL;若僅僅單純適用 GPL,卻未有任何的標示說明這個程式適用那一特定版本 GPL 的話,使用者再次散布程式時,可以選擇任何一版的 GPL 做為授權條款。而依照這一條字面的意思來解釋,著作權人一旦決定採用 GPL 做為程式的授權條款,無論如何,程式的使用者就一定有選擇適用修改版或新版 GPL的權利。

根據這樣的規定,回到前面來談未來可能產生的 Linux 授權條款相容性問題。但是在第一關就會遭遇困難,因為 Linux kernel 的標示與 GPL2 規定不同。

眾所周知 Linux kernel 採用 GPL2 授權,但卻是標明「採用 GPL2」授權,並非是「採用 GPL2 或其後任何一版本」。關於這類情況,GPL2 並未規定,FSF 網站上 GPL 的 FAQ 也沒有說明(註四),在尚未有確實爭議案例出來之前、只能各說各話,這樣的各說各話可以是:既然 GPL2 未規定此種情況,那麼就視為著作權人未授權,使用者沒有選擇適用修改/新版 GPL 的權利,除非另行徵求原著作權人的同意,否則仍沿用原特定 GPL 版本;或者是,GPL2 第 9 條的主要目的是希望修改/新版 GPL 可以被廣為採納,但又避免徵求眾多著作權人同意的過程費時,因此將是否採用修改/新版 GPL 的權利交給使用者,如此可以兼俱修改/新版 GPL 被廣為採納又節省時間精神的優點。

假設第一關困難解決,而解決的結果有二:Linux kernel 沿用 GPL2,或者是改採用 GPL3。在採用 GPL3 的情況,目前推測起來,較不會產生進一步的困擾,主要原因與 Linux kernel 配套運作的 GNU 套件(GNU packages)大多為 GPL2 授權,並且為 FSF 所有、或至少FSF 被授與有權利決定授權內容,依照 FSF 的立場,其自然會讓GNU 套件都採用 GPL3 授權,此時 kernel 與套件授權條款一致。若 Linux kernel 沿用 GPL2,而依照上述的推論,GNU 套件卻採用GPL3,雙方著作權人又不願意改變心意,此時因為 GPL2 與 GPL3 內容不盡相同,極有可能會產生不相容的問題,至於會產生什麼樣的問題,因為 GPL3 尚未完全定稿,筆者目前也不敢妄加說明。在此,僅僅可以比較確定地說:由過去一年多各界對於 GPL3 草案的爭論來看(註五),上述後者不相容情況發生的機率相當高。

在上述不相容情況發生的前提下,再進一步,這時候使用者應該如何應對?對於個人使用者來說,其可以單純地自行使用 Linux kernel與 GNU 套件,只要不要將兩者結合後一起散布給他人,將不會產生任何問題,只是一般的個人使用者並沒有能力將 kernel 與套件結合在一起的能力,因此 kernel 與套件授權條款不相容的現象,將對於Linux 作業系統的使用造成一定的負面影響。而對於像 Red Hat、SUSE 這樣的企業來說,其本來就是透過將 kernel 與套件結合在一起販賣來牟利,在最糟糕的情況下,可能企業使用者必須自行維護一套 GPL2 版本的 GNU 套件,因為授權條款的轉換只能向未來發生效力,FSF可以對新發佈的 GNU 套件適用 GPL3,卻無法溯及既往改變之前發佈套件採用 GPL2 的事實,企業可以在 GPL2 授權的 GNU 套件基礎上自行維護、開發,不過,對於即使擁有相當財力人力的企業來說,要維護目前規模的 GNU 套件也並非易事。

寫到這裡,似乎聽來頗危言聳聽,不過以上不少是在假設的基礎上進行的演繹推論,因此是否真會如此發生,也尚未可知,即使發生,相信各界也會商討出一個折衷的解決之道。此,筆者以法律的角度思忖,也許解決之道會在 GPL3 當中!一個很簡單的道理:FSF 自行撰寫 GPL2 與 GPL3,其也知道 GPL2 第 9 條,因此絕對會將上述的一些情況考量進去。因筆者自行判斷,也許可以從 GPL3 草案第 3版的第 7 條看出一些端倪,這一條大意是規定,使用者可以為 GPL3程式加上一些附加條款 (additional terms),正在草擬的 LGPL3 (GNU General Lesser Public License, v.3) 就是以 GPL3 附加條款的型式存在(註六),因此也有可能透過對這一條的闡釋,GPL2以 GPL3 附加條款的型態,與 GPL3 並存。不過,如之前提過的,這一切還是要等 GPL3 定稿發佈,才好做進一步的研究分析,筆者也衷心期待,定稿的 GPL3 可以對於這個極有可能發生的問題提供一個解決的方式。

註一:GPL3 草案草擬網站:https://gplv3.fsf.org/
註二:FSF, Free Software Foundation,
註三:Allison Randal,GPLv3, Linux and GPLv2 Compatibility,https://radar.oreilly.com/archives/2007/04/gplv3_linux_and.html
註四:https://www.fsf.org/licensing/licenses/gpl-faq.html#VersionTwoOrLater
註五:Linux kernel 開發社群領袖 Linus Trovalds 公開強烈抨擊
GPL3 各版草案,是個具有相當的影響力的因素。
註六:GPL3 與 LGPL3 草擬網站:https://gplv3.fsf.org/




OSSF Newsletter : 第 79 期 Linux 與 GPL 版本相容性問題
Tags: Linux Kernel,   GPL,   GPL2,   GPL3,  
Category: Legal Column