【您 Linux 系?】關於與 GPL 的愛恨情仇,Linux 之父:不宜搬上法庭

【為什麼我們要挑選這篇文章】連假之前,看點工程師八卦。本文由 PTT 八卦版友 snaketsai 授權刊載。(責任編輯:鄒昀倢)

Witcher 打太兇打到有點暈眩,逛板看到這件事情, 浮上來聊一下這尷尬的窘境。
(因為頭很暈這次就不附 reference 了,有在跟 mailing list 的自然知道,不然用 Google 找 LWN 配上一些關鍵字應該也可以追回 7/8 成)

這整件事有非常盤根錯節的歷史因素、還有現在的法律風暴。 最近 Linux 核心推出屆滿 25 年了, 所以日前的慶祝活動時,Linus Trovalds 有出來談一些心路歷程。

其中就有提到 Linux 跟 GPL 的愛恨情仇問題, Linus 承認 GPL 對 Linux 初期發展有很重要的意義,但他跟 RMS 為首 FSF 的關係也早已就漸行漸遠。

除了正名問題如「應該稱 GNU/Linux」是吵到爛掉的議題,Linux 的核心是用 GPL v2 授權的,與後來 GNU 新改版的 GPL v3 有不向下相容的問題。

詳細法律用語我不是專業就不半桶水叮噹, 總之 GPL v3 的條文堵住了一些廠商可以鑽空的方法, 而 Linux 沒有打算要從 v2 升級到 v3。

這件事情直接衝擊的是被稱作 Tivoization 的事件,大抵上爭端點在,TiVo 用了 Linux kernel 跟一些 GNU Utils。 他們也可以給你 code,但是他們的系統升級用 DRM 鎖死, 所以你就算能重新編譯出自己客製化的程式,也無法刷上去。

Linus 本人是覺得 GPL 這種管軟體的條例,不該再把手往硬體下伸,但 RMS 與他為首的 FSF 則覺得這與他們的理念相衝(軟體生態系的活化與自由化)。

另外一個爭議的點是 Blob,即沒有原始碼的 binary object(通常指 driver), Linus 本人對 Blob 的態度是很曖昧的,他在 mailing list 上面的回應如下:

「我不反對 BLOB,但我也反對直接寫出一個插件框架,可以讓人不知道 kernel 架構 (尤其 ABI) 改變而繼續使用沒 source 的玩意。
我要讓那些用這種東西的人知道,他們被鎖死在特定的版本上面。」
這邊省略掉 Linus 一貫嗆辣的風格

這個算消極放任的態度也使 FSF 的拉丁美洲協會會催生如 Linux-Libre 這類計畫、就是要拔光 blob, 另外值得注意的是 二當家 Greg 本身說這是違法的

題外話,如果前年 (2014 年) 有去新竹清大聽 Richard Stallman 演講, 可能會記得他沒放投影片。

其中一個原因是很多 projector 跟 HDMI 這類的硬體廠商, 其實給 Linux 的 driver 都只有開源一半, 重要的東西藏在 blob 裡面。

而隔壁棚的 Android HAL 正是刻出了一個 Linus 所不樂見的 plugin 框架,
也造成 Android-x86 很多苦工花在這上面,由以 GL/GPU 的部份要重新接 (mesa)。

從上面看來,Linus 的態度暫且稱作「務實」我也想不為過: 就單純地想讓最多平台可以跑 Linux, 廠商只要乖乖拿出 driver、你要藏還是要怎樣,反正人多勢眾總有機會讓你「被」開源。(e.g. nouveau 的逆向工程 nvidia driver…)

RMS 以及多數 FSF 則是偏向原則派,覺得這種玩意總有一天會讓整個系統 break down,必須要對現況做出直接的反應(也有他的道理在)。

言而總之,這意見不合的樑子從很古老以前就結下了。


然而,GPL 的法律地位其實一直都很不明朗, 邊邊角角的小法律紛爭,基本上都在庭外和解居多,Intel/IBM/AMD 這種是本來就在戰略性搶旗了,(看看很多 conf 的大贊助跟大計畫都是他們主動在推)

而 Samsung (對,人家有乖乖放 code,像 sdcardfs 就有回推 Linaro LSK)/STM/某 B 某 Q … … etc。 這些大公司都有企業形象要顧, 每年投在 USENIX, Xen Summit/KVM Forum 啦、Linaro 啦 blah blah 錢都不知多少百萬千萬在跳。

若是為了一個專案把自己名聲搞得臭不可聞實在沒什麼道理。 但是,某些小廠就很不厚道了— —

這邊概說一下:Linux 是汽車引擎,沒有系統程式搭配的話基本上不是台可以開的車
像 Ubuntu/Fedora/… 這些發行版,可以想像成大廠出好的房車。

但某些時候,在一些嵌入式平台上面,例如:你家的 Wifi AP、電視機上盒…etc
又用不到這麼多東西、只需要一些很簡單的程式,就夠用了。 這時就有一個極小的 userspace utils,稱作 Busybox, 它把一些常見的 UNIX 程式集結、重寫,再編譯成單一一個執行檔, 因而被譽為 Linux 的瑞士軍刀(一個東西打天下)。

而這專案是使用 GPL 釋出的,也非常不湊巧而這次也被 Linus 點名到: 它正是最近數年來,GPL 一連串法律風暴的核心之一。

如上所述,Busybox 被廣泛應用在很多小系統廠的專案: 閉路電視控制器、Wifi 分享器 … … etc, 又有些人改了裡面的 code,有人要 code 又不願意放出來, 這很明顯就是違反 GPL 了(散佈修改程式碼、產出的 binary,索取 code 時要給)

FSF 跟這次被 Linus 點名叫板的 Software Freedom Conservancy,幫 Busybox 打了不少場官司,也多半都是和解收場。

但長年累月下來,Busybox 的用戶開始減少了、一些公司也轉向使用別的專案 終於, 有人凍未條發難了 這正在慢性殺害 Busybox 的能見度、也使很多廠商離開 Linux 生態系。

這位仁兄大名為 Rob Landley,他當時是 Busybox 的開發者跟維護者, 他後來自己分家出去,重寫了類似 Busybox 的專案,Toybox, 並且改用幾乎沒什麼限制的 BSD 授權釋出, 而某 Google 看了看,從 Android 6.0 開始使用 Toybox。

然而,SFC 去年開始,幫助 Christoph Hellwig 跟 VMWare 打官司, 而 Christoph Hellwig 本身當時是 Linux Kernel 貢獻度排名前二十的存在。

事出原因是 VMWare 在 ESXI 當中,有一些部份是 挪用、修改(Christoph Hellwig 主張)、 依樣畫葫蘆(VMWare 方面的主張僅有約 1%的 code 重疊)Linux Kernel 的架構。

而 Hellwig 有直接關鍵的部份是 SCSI(伺服器常用的硬碟界面) 和 Radix Tree 的實做(一種在字串檢索上常見的資料結構)。

非常無奈的是,官司第一輪今年年初是打輸了, SFC 目前還在準備上訴。 但是這件事情自然在 Linux kernel list 上面炸鍋了,有些人主張 Linux 社群應該要出頭、但是像 Greg 這位 Linux 二當家就很不認同: 他覺得這會重演像 Busybox 這種把客人都趕跑的狀況, 而且很多公司在廬幾輪後還是會乖乖就範。

反過來說,這些公司現在知道像 VMWare 這次有點「以工程人來說」站不太穩的狀況
打官司都不見得會輸, 以後會不會更難去和這些公司交涉?

加上之前 Linux Foundation 又開始更動董事選舉權,有人在臆測: 這是為了圍堵身掛 SFC 執行人 Karen Sandler 對著同是 Linux Foundation 董事之一的 VMWare 操戈。

市場還開始有謠傳 Linux Foundation 每年對 Linus 支薪約一千萬 左右,只能說有人的地方就有江湖,腥風血雨暫時還不會停。

= = = =

其實我個人是覺得以 Linus 的高度可能不適宜出來表態,他現在這樣講, 社群圈也是各種聲音都有,其中也有人表示尷尬跟無奈。

畢竟 Linux 現在是 GPL 授權的諸多專案中,極為旗艦級的存在, 結果今天這專案的老大哥們跟你說: 欸,別真的告啊。告下去輸了可能不會有好結果。

這聽在下面幫忙跟一些臉皮賽城牆的廠商要 code 的人耳裡聽起來, 實在不是太中聽
(當然實務面來說 Linus 有他的考量,這絕對不能忽視)

大概先打到這,該睡了 Orz

(本文經原作者 snaketsai 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈Re: [新聞] Linux 之父呼籲 Linux Kernel 聖域不能搬上法庭 〉;首圖來源:doctorserone, CC licensed)

延伸閱讀

Linux 之父:比起預測未來,我更願意作個踏實處理 Linux 每個小問題的工程師
Git 10 週年,Linux 之父談他是怎麼在 10 天內開發完成

點關鍵字看更多相關文章: