Re: [新聞] Linux之父呼籲 Linux Kernel聖域不能搬上消失
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的事件
https://en.wikipedia.org/wiki/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一貫嗆辣的風格)
(https://lwn.net/1999/0211/a/lt-binary.html)
這個算消極放任的態度也使FSF的拉丁美洲協會會催生如Linux-Libre這類計畫、就是要拔光blob
另外值得注意的是二當家Greg本身說這是違法的
(http://www.kroah.com/log/linux/ols_2006_keynote.html)
題外話,如果前年(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的用戶開始減少了、一些公司也轉向使用別的專案
終於,有人凍未條發難了:
https://lwn.net/Articles/478361/
表示這正在慢性殺害Busybox的能見度、也使很多廠商離開Linux生態系
這位仁兄大名為Rob Landley,他當時是Busybox的開發者跟維護者
他後來自己分家出去,重寫了類似Busybox的專案,Toybox
並且改用幾乎沒什麼限制的BSD授權釋出
而某Google看了看,從Android 6.0開始使用Toybox
(https://android.googlesource.com/platform/external/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支薪約一千萬左右
(http://www.celebritynetworth.com/richest-businessmen/linus-torvalds-net-worth/)
只能說有人的地方就有江湖,腥風血雨暫時還不會停
= = = =
其實我個人是覺得以Linus的高度可能不適宜出來表態,他現在這樣講
社群圈也是各種聲音都有,其中也有人表示尷尬跟無奈
畢竟Linux現在是GPL授權的諸多專案中,極為旗艦級的存在
結果今天這專案的老大哥們跟你說:
欸,別真的告啊。告下去輸了可能不會有好結果。
這聽在下面幫忙跟一些臉皮賽城牆的廠商要code的人耳裡聽起來
實在不是太中聽
(當然實務面來說Linus有他的考量,這絕對不能忽視)
大概先打到這,該睡了Orz
--
Linux is the bone of my world.
Kernel is mybody, and initramfs is myblood,
have created over a thousand Distros.
Unknown to impossibility.
Nor known to limitation.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.72.31
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1473188943.A.AD1.html
→
09/07 03:10, , 1F
09/07 03:10, 1F
推
09/07 03:10, , 2F
09/07 03:10, 2F
推
09/07 03:11, , 3F
09/07 03:11, 3F
推
09/07 03:14, , 4F
09/07 03:14, 4F
推
09/07 03:15, , 5F
09/07 03:15, 5F
推
09/07 03:22, , 6F
09/07 03:22, 6F
推
09/07 03:23, , 7F
09/07 03:23, 7F
推
09/07 03:25, , 8F
09/07 03:25, 8F
→
09/07 03:25, , 9F
09/07 03:25, 9F
推
09/07 03:26, , 10F
09/07 03:26, 10F
→
09/07 03:26, , 11F
09/07 03:26, 11F
推
09/07 03:29, , 12F
09/07 03:29, 12F
推
09/07 03:44, , 13F
09/07 03:44, 13F
推
09/07 03:45, , 14F
09/07 03:45, 14F
推
09/07 03:53, , 15F
09/07 03:53, 15F
推
09/07 03:58, , 16F
09/07 03:58, 16F
推
09/07 03:59, , 17F
09/07 03:59, 17F
推
09/07 04:02, , 18F
09/07 04:02, 18F
推
09/07 04:07, , 19F
09/07 04:07, 19F
推
09/07 04:16, , 20F
09/07 04:16, 20F
→
09/07 04:17, , 21F
09/07 04:17, 21F
推
09/07 04:19, , 22F
09/07 04:19, 22F
→
09/07 05:00, , 23F
09/07 05:00, 23F
→
09/07 05:15, , 24F
09/07 05:15, 24F
→
09/07 05:15, , 25F
09/07 05:15, 25F
→
09/07 05:16, , 26F
09/07 05:16, 26F
→
09/07 05:17, , 27F
09/07 05:17, 27F
→
09/07 05:17, , 28F
09/07 05:17, 28F
→
09/07 05:21, , 29F
09/07 05:21, 29F
推
09/07 05:46, , 30F
09/07 05:46, 30F
→
09/07 05:46, , 31F
09/07 05:46, 31F
推
09/07 05:53, , 32F
09/07 05:53, 32F
推
09/07 06:41, , 33F
09/07 06:41, 33F
推
09/07 06:47, , 34F
09/07 06:47, 34F
推
09/07 06:49, , 35F
09/07 06:49, 35F
→
09/07 06:50, , 36F
09/07 06:50, 36F
→
09/07 06:51, , 37F
09/07 06:51, 37F
→
09/07 06:52, , 38F
09/07 06:52, 38F
→
09/07 06:53, , 39F
09/07 06:53, 39F
→
09/07 06:54, , 40F
09/07 06:54, 40F
→
09/07 06:55, , 41F
09/07 06:55, 41F
→
09/07 06:56, , 42F
09/07 06:56, 42F
推
09/07 07:06, , 43F
09/07 07:06, 43F
推
09/07 07:56, , 44F
09/07 07:56, 44F
推
09/07 08:14, , 45F
09/07 08:14, 45F
推
09/07 09:06, , 46F
09/07 09:06, 46F
推
09/07 09:07, , 47F
09/07 09:07, 47F
推
09/07 09:30, , 48F
09/07 09:30, 48F
推
09/07 09:33, , 49F
09/07 09:33, 49F
推
09/07 09:34, , 50F
09/07 09:34, 50F
推
09/07 09:37, , 51F
09/07 09:37, 51F
推
09/07 09:41, , 52F
09/07 09:41, 52F
推
09/07 09:43, , 53F
09/07 09:43, 53F
推
09/07 10:48, , 54F
09/07 10:48, 54F
推
09/07 11:05, , 55F
09/07 11:05, 55F
推
09/07 12:06, , 56F
09/07 12:06, 56F
推
09/07 13:12, , 57F
09/07 13:12, 57F
推
09/07 13:20, , 58F
09/07 13:20, 58F
推
09/07 18:03, , 59F
09/07 18:03, 59F
推
09/07 19:51, , 60F
09/07 19:51, 60F
→
09/07 19:52, , 61F
09/07 19:52, 61F
→
09/07 19:53, , 62F
09/07 19:53, 62F
→
09/07 19:54, , 63F
09/07 19:54, 63F
→
09/07 19:56, , 64F
09/07 19:56, 64F
→
09/07 19:56, , 65F
09/07 19:56, 65F
※ 編輯: snaketsai (140.113.72.31), 09/08/2016 16:53:14
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):