內部人員爆料 GPL v3 起草過程
![](https://linuxstory.org/wp-content/uploads/2024/06/171454hz21p1npqzbx4o88-800x400.jpg)
2017 年,我錯過了為 GPL v3(GNU 通用公共許可協議的第三版)發布 10 周年撰寫文章的機會。GPL v3 由 自由軟體基金會 (FSF)於 2007 年 6 月 29 日正式發布,這一天在技術史上更為人熟知的事件是蘋果公司推出了 iPhone 手機。一年之後的現在,我覺得應該對 GPL v3 做一些回顧。對於我來說,許多有關 GPL v3 的有趣內容可以追溯到 11 年之前,我作為積极參与者經歷了當時的公共起草過程。
2005 年,經過近十年熱衷於自由軟體的自我沉浸,但卻幾乎沒有任何開源法律經驗可言的我被 Eben Moglen 聘用,加入 軟體自由法律中心 (SFLC)擔任法律顧問。SFLC 當時是 FSF 的外部法律顧問,我的角色被設定為關注 GPL v3 起草過程的初期公共階段。這個機會把我從以前的並不令我滿意的一次職業轉變中解救出來。 自由和開源軟體 (FOSS)的法律問題成為我的新專長,我發現這一點很有吸引力,令人滿意,並且在智力上有所回報。我在 SFLC 的工作,特別是我在 GPL v3 方面勇闖火線的工作,成為了我的在職培訓。
GPL v3 必須被理解為早期 FOSS 時代的產物,其輪廓可能讓今天的人難以想像。在 2006 年公共起草過程開始時,Linux 和開源已經不再是早年一些漫不經心的觀察者所看到的幾乎是同義詞的情形了,但兩者之間的聯繫仍然比現在更密切。
Linux 已經對技術行業產生深遠影響的反映是,每個人都認為 GPL v2 是主要的開源許可模式。我們看到了開源(和偽開源)商業模式如寒武紀式爆發的最終震蕩。一個泡沫化商業炒作包圍的開源(對我來說最令人難忘的典型代表是 開源商業會議 )與軟體工程專業人士目前對開源開發的接受程度幾乎沒有相似之處。微軟憑藉其不斷擴大的專利組合以及對 Linux 的競爭性對抗,在 FOSS 社區中普遍被視為一種現實存在的威脅,而 SCO 訴訟已經在 Linux 和 GPL 之間籠罩上了法律風險的陰雲,並且沒有完全消散。
這種環境必然使得 GPL v3 的起草成為自由軟體歷史上前所未有的高風險事件。主要的技術公司和頂級律師事務所的律師爭先恐後地對該許可協議施加影響,並確信 GPL v3 必將接管並徹底重塑開源業態及所有大量相關的商業投資。
技術社區內存在類似的心態;這在 Linux 內核開發人員於 2006 年 9 月對 GPL v3 的強烈指責中所表達的恐懼里略見一斑。我們這些接近 FSF 的人知道的多一點,但我認為我們假定新的許可協議要麼是壓倒性的成功,要麼是徹底的失敗——「成功」意味著將現有的 GPL v2 項目生態系統升級為 GPL v3,儘管也許 Linux 內核會缺席(LCTT 譯註:十年過去了,Linux 內核仍舊採用 GPL v2 許可證)。實際的結果是介於兩者之間的東西。
我對測量開源許可協議採用程度的嘗試沒有信心,近年來這種做法通常用於證明 左版 許可協議失去競爭優勢。根據我自己的接近 Linux 和工作於 紅帽 公司的明顯有傾向性的經驗,表明 GPL v3 作為自 2007 年以來推出項目的可選許可協議,享有適度的受歡迎程度。儘管 2007 年之前存在的大多數 GPL v2 項目以及它們在 2007 年以後的分支,仍然遵循舊許可協議。(GPL v3 的兄弟許可協議 LGPL v3 和 AGPL v3 從未獲得過相當程度的普及)大多數現有的 GPL v2 項目(有一些明顯的例外,如 Linux 內核和 Busybox)被許可為「GPL v2 或任何更高的版本」。技術界早就決定「GPL v2 或更高版本」是一個政治中立的許可協議選項,它包含了 GPL v2 和 GPL v3。這可以解釋為什麼 GPL v3 的採用推進得緩慢和有限,特別是在 Linux 社區中。
在 GPL v3 起草過程中,一些人表達了對 Linux 生態系統「 巴爾幹化 」的擔憂,無論是因為用戶必須了解兩個不同的強大左版許可協議的開銷,還是因為 GPL v2 / GPL v3 的不兼容。事實證明,這些擔憂完全沒有根據。在主流伺服器和工作站 Linux 堆棧中,這兩個許可協議已經和平共存了十年。這其中部分是因為這樣的堆棧由強大的左版範疇的單獨單元組成(參見我對容器設置中相關問題的討論)。至於強左版範疇單元內部的不兼容性,在這裡,「GPL v2 或更高版本」的普遍性被技術界視為乾淨利索地解決了理論問題。儘管名義上的「GPL v2 或更高版本」升級為 GPL v3 的情況幾乎沒有發生過。
我已經說過,我們中間的一些 FOSS 許可協議極客已經提到了假定的左版衰退的問題。早在公共起草過程的開始階段,GPL v3 已經在批評者那裡形成了濫用,並且可以推斷,有些人已經在特殊情況下的 GPL v3 不受歡迎與一般意義上的 GPL 或左版失寵之間建立了聯繫。
我對它的看法有所不同:很大程度上是因為它的複雜性和 巴洛克 風格,GPL v3 失去了創建強大的可以廣泛地吸引現代個人軟體作者和企業許可人的左版許可協議的機會。我相信今天的個人開發者往往更喜歡簡短、易懂、簡約的許可證,最明顯的例子就是 MIT 許可證。
面臨開源許可協議選項的一些公司決策者可能很自然地分享這種觀點,而其他公司決策者可能認為 GPL v3 的某些部分風險太大(例如專利條款或反鎖定要求)或與其商業模式不相容。具有諷刺意味的是,未能吸引這些群體的 GPL v3 的一部分特性是因為有意識地試圖使許可協議吸引這些具備相同類型利益的群體。
GPL v3 是如何變得如此巴洛克式的?正如我所說,GPL v3 是較早時期的產物,彼時 FOSS 許可協議被視為項目治理的主要工具。(現在我們傾向於將治理與其他類型的法律或准法律工具聯繫起來,例如組織非營利組織,圍繞項目決策制定規則,行為準則和貢獻者協議。)
在其起草過程中,GPL v3 是對 FOSS 許可協議可以作為雄心勃勃的私人監管手段持樂觀態度的最高點。對於 GPL v2 來說已經是這樣了,但是 GPL v3 通過詳細解決一些新的政策問題——軟體專利、反規避法律、設備鎖定等方式來解決問題。這必然會使 GPL v3 許可協議比 GPL v2 更長、更複雜,因為 FSF 和 SFLC 在第一份 GPL v3 基本原理文件中滿懷抱歉地提到了這一點。
但是,起草 GPL v3 過程中的其他一些因素無意中導致許可協議的複雜性增長。代表供應商和商業用戶利益的律師從法律和商業角度提供了有用的改進建議,但這些通常採取讓措辭簡單的條款變成更冗長的形式,在明晰性方面可以說沒有明確的改善。對技術社區反饋(通常是識別許可條款的漏洞)的回應也有類似的效果。
GPL v3 起草人也因短期政治危機(2006 年有爭議的微軟/ Novell 交易)糾纏在一起,導致許可協議的專利部分永久性地增加了新的和不尋常的條件,這在 2007 年之後是毫無用處的, 除了使有良心的專利持有商更難遵守許可證。當然,GPL v3 中的一些複雜性僅僅是為了使合規更容易(特別是對於社區項目開發人員)或者編寫 FSF 的解釋實踐。最後,人們可以對 GPL v3 中使用的語言風格提出質疑,其中大部分語言都具有傳統軟體許可法律的頑皮模仿或嘲弄;在許多情況下,一種更簡單、直接的措辭形式是一種改進。
GPL v3 的複雜性以及在許可協議起草中傾向於簡練和簡潔的趨勢以及明智的許可政策目標,意味著 GPL v3 的實質性文本對後來的 FOSS 法律起草幾乎沒有直接影響。但是,正如我在 2012 年所驚奇和高興地看到的那樣,MPL 2.0 改編了 GPL v3 的兩個部分:GPL v3 終止條款中的 30 天補救和 60 天休眠文本,並保證升級到更高版本許可協議的下游對上游許可人沒有新的義務。
GPL v3 補救文本已經產生了重大影響,特別是在過去一年中。隨著 FSF 的支持, 軟體自由保護組織 頒布了《 面向社區的 GPL 執行原則 》,該原則要求將 GPL v3 補救機會擴展到 GPL v2 違規行為,Linux 基金會技術顧問委員會發布了一份聲明,得到了一百多個 Linux 內核開發人員支持,其中包含了 GPL v3 的補救文本。接下來是以紅帽公司為首的一系列企業承諾,將 GPL v3 補救條款擴展到 GPL v2 和 LGPL v2.x 違規,這是一項建議個人開源開發者做出同樣承諾的活動。紅帽公司的一項聲明宣布,從此以後其主導的 GPL v2 和 LGPL v2.x 項目將在項目存儲庫中直接使用承諾文本。我在最近的博客文章中討論了這些發展。
關注 GPL v3 的一個持久貢獻是改變了對廣泛使用的 FOSS 許可協議修訂方式的期待。在沒有社區評論的參與,也沒有努力與主要利益相關者進行磋商的情況下,這些許可協議不能完全進行私下修改。MPL 2.0 以及最近的 EPL 2.0 的起草過程反映了這一新規範。
作者簡介:Richard Fontana 是紅帽公司法律部門產品和技術團隊的高級商業顧問。 他的大部分工作都集中在開源相關的法律問題上。
譯者簡介:薛亮,集慧智佳知識產權諮詢公司總監,擅長專利檢索、專利分析、競爭對手跟蹤、FTO 分析、開源軟體知識產權風險分析,致力於為互聯網企業、高科技公司提供知識產權諮詢服務。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive