在自由和開放源碼軟體(FOSS)的世界中,GNU 通用公共許可證(GPL)一直是一個核心的法律框架。自1989年由理查德·史達曼創建以來,GPL 不僅定義了自由軟體的標準,也影響到了許多知名專案,包括 Linux 核心。然而,隨著時間的推移,GPL 的不同版本引發了相當大的爭議。為什麼 Linux 核心仍然選擇堅持使用 GPLv2 而非更新的 GPLv3 呢?
GPL 是首個可供一般使用的 copyleft 許可證,保障最終使用者自由運行、研究、分享或修改軟體的權利。
GPL 的發展歷史可以追溯至它的第一版(GPLv1),它的主要目的是確保使用者能夠獲得源代碼以進行修改和再發佈,這種自由也被稱為 “copyleft”。在 GPLv1 被引入後,第二版(GPLv2)在 1991 年發佈,並且面臨了一些與時俱進的挑戰。
隨著時間的推進,開源社區對 GPLv2 的一些問題表示擔憂,包括 “tiVoization” 的問題,即某些硬體設備不允許用戶安裝修改過的軟體。這樣的行為使得開源的初衷遭到抑制,並引發了情感上的不滿。特別是在法律和專利協議逐漸成為主流的情況下,一些社區成員擔心這將會使 GPL 軟體不再自由。
根據大衛·A·惠勒的觀點,GPL 提供的 copyleft 對於基於 Linux 的系統的成功至關重要,程序員有信心自己的工作會惠及全世界。
面對這些挑戰,FSF 在2007年發佈了 GPLv3,針對這些問題進行了討論和調整。其中一項重要改變是針對專利的規定,也對 DRM(數位版權管理)做出了應對,以便保護自由使用的權利。然而,這一變化並未得到 Linux 核心開發者的青睞,特別是 Linus Torvalds,他選擇讓 Linux 核心繼續使用 GPLv2。
GPLv2 與 GPLv3 在某些條款上存在明显的差异。例如 GPLv2 中的 “自由或死亡” 條款強調許可證的所有義務和其他法律義務內的內容不可分割,而 GPLv3 則更關注於專利的相關議題。這使得許多開發者更加傾向於保持他們的產品穩定性和原始的許可條款,而不想接受 GPLv3 潛在的複雜性和法律風險。
在使用 GPLv3 時,開發者需要考慮其與其他許可證的相容性問題,而這並不總是直觀的。例如,GPLv3 提高了與 Apache 許可證的相容性,但這就意味著不再能夠和不兼容的 GPLv2 軟體進行無縫結合。
Linus Torvalds 警告過,GPLv3 的某些條款可能會造成開源界的 Balkanization。
有人認為,安全和穩定的生態系統對於 Linux 核心的開發至關重要。即使新版本有其優點,對於數據中心與大規模部署來說,改變核心許可證的規則可能會導致實際應用的代價。由於 GPLv3 中某些許可條款的增加,許多企業可能會選擇以更謹慎的態度來評估他們能否使用這些開放源碼的軟體。
最後,回到我們的核心問題:在日益複雜的開源許可證環境中,您認為 Linux 核心開發者的選擇是基於懼怕已知的影響還是真的對未來的開放性持保留態度?這引發了對於軟體自由和使用者權益的深思?