Quantcast
Channel: 工程師 – TechOrange
Viewing all articles
Browse latest Browse all 585

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

$
0
0

【為什麼我們要挑選這篇文章】連假之前,看點工程師八卦。本文由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 天內開發完成


Viewing all articles
Browse latest Browse all 585

Trending Articles