整理丨諾亞
出品 | 51CTO技術(shù)棧(微信號:blog51cto)
“C++是一門很爛的語言!”
“Linux社區(qū)現(xiàn)在是一個(gè)骯臟的泥潭?!?/p>
“我希望 AVX-512 趕緊‘去死’。”
以上這些都來自Linus Torvalds的“暴言”。眾所周知,暴躁的Linux之父向來敢噴,不過近來低調(diào)了許多。
在日前舉行的日本開源峰會上,Torvalds和他的好友暢聊了Linux的發(fā)展現(xiàn)狀。就在飛往東京之前,Torvalds發(fā)布了Linux 6.7的第四個(gè)候選版本。如果不出意外,這意味著下一個(gè)Linux版本將在圣誕節(jié)前后推出。
這一次在公開場合露面,Torvalds變得相當(dāng)平和,正如他所說“我不會再對某些企業(yè)指指點(diǎn)點(diǎn)了”。
一、矛盾:為什么找內(nèi)核維護(hù)者這么難
在會上,Torvalds再次提到了內(nèi)核維護(hù)者工作強(qiáng)度過高的問題。
在今年舉行的歐洲開源峰會上,Linux 官宣了一則重要信息:Linux 內(nèi)核的長期支持(LTS)版本,維護(hù)期將從六年變回兩年。之所以做出這樣的決定,正是因?yàn)椤熬S護(hù)者快累死了”,高強(qiáng)度工作下的疲憊和壓力與日俱增。
Linux內(nèi)核維護(hù)者的人手不足問題由來已久,就像Torvalds所說,相較于維護(hù)者,吸引開發(fā)者要容易得多。
尋找維護(hù)者之所以難,根據(jù)Torvalds的介紹以及國外開發(fā)者的相關(guān)評論,可總結(jié)為以下幾點(diǎn)原因:
1、Linux 內(nèi)核開發(fā)對大多數(shù)人來說是無聊的,很多年輕人對此不感興趣。
2、Linux 內(nèi)核項(xiàng)目維護(hù)的學(xué)習(xí)門檻太高,缺乏曲線平滑的學(xué)習(xí)資料。
3、成為維護(hù)者需要長期堅(jiān)守崗位,找不到替代者的情況下,假期都無法安排。
4、要成為維護(hù)者,需要有良好的技術(shù)“品味”。但“正確評判他人的代碼”這種能力往往需要慢慢積累。
5、維護(hù)者必須花很長時(shí)間才能獲得社區(qū)信任,不僅是其他維護(hù)者的信任,也是所有代碼貢獻(xiàn)者的信任。
6、不少人難以接受“大獨(dú)裁者”Torvalds與外界溝通的態(tài)度,簡言之,“我不想被Linus噴”。
Torvalds也坦言:“代碼編寫并不困難,畢竟是對是錯(cuò)比較清晰。但人際關(guān)系處理起來就很費(fèi)力?!?/p>
二、自洽:Linux是個(gè)能留得住人的社區(qū)
在Torvalds看來,雖然大家都想將項(xiàng)目做好,但是出于各自立場的不同,目標(biāo)往往會出現(xiàn)差異,這種前進(jìn)過程中的角力確實(shí)會帶來相當(dāng)大的壓力。開源貢獻(xiàn)不僅僅是編程,溝通也是其工作的重要組成?!熬S護(hù)者就是負(fù)責(zé)翻譯各方訴求的人?!?/p>
Torvalds本人也在為此努力,他曾在給BBC的一封回信中寫到了自己的改變:“我會變成一個(gè)可愛的人嗎?這聽起來不太可能。我仍然關(guān)心技術(shù),我不會為了讓人們喜歡我,而開始去接受糟糕的代碼。我仍然不太善解人意,但就像我之前說的,我在改變自己,在積極尋找專業(yè)的治療師幫助自己,我正試圖擺脫我的暴怒、并變得更有禮貌?!?/p>
回到維護(hù)者稀缺的現(xiàn)實(shí),Linux內(nèi)核社區(qū)的老齡化并不是個(gè)新鮮議題,近年來關(guān)于其后繼無人的討論一直在持續(xù)。畢竟很多Linux內(nèi)核維護(hù)者很快就要六十歲,甚至有一部分快七十歲了。
對此,Torvalds 依舊保持了其樂觀態(tài)度,固然“我們團(tuán)隊(duì)中的很多成員都在老去”,但在三十多年的歲月里,他們還愿意跟他一起并肩作戰(zhàn),正說明Linux是個(gè)能留得住人的社區(qū)。
三、新生:將Rust引入Linux內(nèi)核是一場持久的遠(yuǎn)征
Linux內(nèi)核社區(qū)接班人的問題依然懸而未決,如何讓更多的人參與進(jìn)來是個(gè)值得深思的問題。Torvalds提到:“我之所以喜歡在內(nèi)核開發(fā)中使用 Rust,就是因?yàn)橛幸晃痪S護(hù)者明顯比大部分同事年輕得多?!?/p>
相較C++,Torvalds對于Rust的態(tài)度向來寬和。截至今年,Rust已經(jīng)連續(xù)第八年在Stack Overflow的年度開發(fā)者調(diào)查中位居“最受歡迎的編程語言”榜首。其速度、安全性和性能都是其受到開發(fā)者推崇的原因。
至于將Rust引入Linux內(nèi)核,Torvalds 表示,“應(yīng)用比例一直在增長,但目前還沒有哪個(gè)部分真正依賴于 Rust?!辈贿^他也提到,Rust是極具技術(shù)影響的重要成果,內(nèi)核開發(fā)者們必須積極擁抱新事物。簡單來說,擁抱Rust不僅僅是采用一種工具,而更多地是擁抱創(chuàng)新、擁抱未來的心態(tài)。
盡管Rust還沒有真正證明自己有slay全場的實(shí)力,但Torvalds談到,從明年開始會著手將Rust引入驅(qū)動程序、甚至是某些主要子系統(tǒng),總之“Rust確實(shí)有成為內(nèi)核重要部分的趨勢”,但或許還需要時(shí)間。
將Rust引入Linux內(nèi)核,無論是對于Rust還是Linux社區(qū)都有好處。
對Rust來說,雖然這幾年得到了微軟等大佬的力挺,而且安全性的美名也得到了廣泛認(rèn)可,但缺乏強(qiáng)勢項(xiàng)目作為背書,始終難以形成更大范圍的影響力。而Linux內(nèi)核正好可以充當(dāng)這一角色。
對Linux內(nèi)核社區(qū)來說,Rust的引入可能會吸引更年輕的維護(hù)者,再者引入不可能一蹴而就,需要耗時(shí)多年,從內(nèi)核最外圍,從驅(qū)動部分開始接納Rust,也為其他用戶嘗試用Rust寫Linux內(nèi)核模塊打下基石,從而為社區(qū)注入更多活水。
四、毒舌:沒必要擔(dān)心AI幻覺,畢竟人更擅長犯錯(cuò)誤
今年以來,在技術(shù)圈,大模型是無法回避的關(guān)鍵詞。Github Copilot的問世對于軟件開發(fā)領(lǐng)域來說無疑是一次劇烈的沖擊。在各種各樣的副駕駛層出不窮后,人們關(guān)注的不僅是其對生產(chǎn)力的提升,更開始在意這種生產(chǎn)模式顛覆下一系列可能的連鎖反應(yīng)。
不少程序員開始嘗試AI編程,在副駕駛的幫助下,即使在面對自己不熟悉的語言或者平臺編程的時(shí)候,都會更有底氣,不會在一些低級錯(cuò)誤上面浪費(fèi)時(shí)間,也能減少在基礎(chǔ)問題上的自信受挫。當(dāng)然關(guān)于AI生成代碼的可用性不高,數(shù)據(jù)安全存在隱患等等質(zhì)疑也相伴左右。
當(dāng)被問及“未來是否會有模大型編寫的代碼被提交上來?”時(shí),Torvalds予以了肯定:甚至很可能已經(jīng)開始了, 只不過規(guī)模不大。
但是他對AI編程看得很淡然:此前一直有自動化技術(shù)幫助大家編碼,因此AI也沒什么特別。而且Torvalds希望AI能在自動糾錯(cuò)方面發(fā)揮更大作用。
對于糟糕代碼向來“零容忍”的Torvalds表示:“因?yàn)槲铱吹降谋姸郻ug都很直白,并不需要更高層次的推理能力?!盇I如果能幫助人們找到這些一眼可見的愚蠢問題,無疑將很大程度上提升整體代碼的質(zhì)量。
此外,對于向來被詬病又無從規(guī)避的AI幻覺問題,Torvalds更是難掩毒舌本色:“沒有AI,我依然每天都在看到人們創(chuàng)造的各種bug,所以我完全不擔(dān)心。我認(rèn)為,在犯錯(cuò)這方面,人類顯然更勝一籌?!?/p>
參考鏈接:






