|
整理|冬梅、核子可樂 轉(zhuǎn)自:InfoQ
1 Rust for Linux 內(nèi)核維護(hù)者之一因“非技術(shù)原因”退出團(tuán)隊 近日,InfoQ 獲悉,Rust for Linux 內(nèi)核維護(hù)者之一、微軟工程師 Wedson Almeida Filho 在 Linux 內(nèi)核郵件列表上寫道:
我本人將退出 Rust for Linux 項目的維護(hù)者團(tuán)隊。
之所以決定退出項目,是因為在過去四年的工作當(dāng)中,我發(fā)現(xiàn)自己的精力和熱情已經(jīng)被嚴(yán)重消磨,越來越抗拒回應(yīng)那些跟技術(shù)無關(guān)的廢話。所以這份任務(wù),最好是留給那些仍然抱有這份熱情的成員。
致 Rust for Linux 團(tuán)隊:感謝大家,你們最棒。很高興能跟各位一起工作,我們共同討論技術(shù)問題、尋找解決健全性漏洞的方法等等產(chǎn),這些都是我寶貴的回憶和人生經(jīng)歷。很幸運能夠與這樣一個才華橫溢、友好和善的團(tuán)隊攜手并進(jìn)。
祝愿這個項目一切順利。
我堅信內(nèi)核開發(fā)的未來在于內(nèi)存安全語言。我不是那種很有前瞻性的人,但如果 Linux 沒法把這項優(yōu)勢內(nèi)化己用,我擔(dān)心其他內(nèi)核終將像取代 Unix 那樣沖擊 Linux。
Wedson Almeida Filho 是一位微軟工程師,在過去幾年中為 Rust for the Linux 內(nèi)核代碼做出了大量貢獻(xiàn)。Wedson 開發(fā)了許多 Rust Linux 內(nèi)核功能,甚至還主持將 EXT2 文件系統(tǒng)驅(qū)動程序移植到了 Rust。但他已經(jīng)受夠了,現(xiàn)在正退出 Rust for Linux 的工作。
值得注意的是,該電子郵件還包含一個 YouTube 視頻鏈接,該視頻是 Filho 在 2024 年 Linux 內(nèi)核峰會上發(fā)表的演講,在演講中,他因在內(nèi)核中使用 Rust 而遭到一些觀眾的強烈反對。
觀眾中的批評者認(rèn)為,Rust 的集成將給 C 語言開發(fā)者帶來過度負(fù)擔(dān),他們將被迫學(xué)習(xí)一門新語言并保持與 Rust 綁定的兼容性。
此外,一些開發(fā)人員還對 Rust 綁定的穩(wěn)定性以及對 C 代碼進(jìn)行更改時可能出現(xiàn)的故障表示擔(dān)憂。然而,Wedson 和其他支持將 Rust 納入內(nèi)核的人認(rèn)為,這些擔(dān)憂被夸大了,Rust 可以與 C 共存,而不會損害內(nèi)核的穩(wěn)定性。他們認(rèn)為,Rust 的好處(尤其是其內(nèi)存安全功能)超過了集成帶來的挑戰(zhàn)。
關(guān)于將 Rust 納入 Linux 內(nèi)核的爭論凸顯了開源社區(qū)在維護(hù)穩(wěn)定的代碼庫和擁抱創(chuàng)新之間的更廣泛的矛盾。
雖然一些開發(fā)人員看重 C 的熟悉度和可靠性,但其他開發(fā)人員認(rèn)為采用 Rust 等更新、更安全的語言對于 Linux 內(nèi)核的長期健康和安全至關(guān)重要。這場辯論的結(jié)果可能會對 Linux 和更廣泛的開源生態(tài)系統(tǒng)的未來產(chǎn)生重大影響。
2 Linux 社區(qū)的反應(yīng) Linux 社區(qū)中就是否將 Rust 納入 Linux 內(nèi)核展開了很多激烈的爭論。在國外知名技術(shù)社區(qū)平臺 Reddit 上,用戶關(guān)于這個問題的討論十分激烈。以下是支持和反對在 Linux 內(nèi)核中使用 Rust 的論據(jù)。
支持將 Rust 納入 Linux 內(nèi)核的論據(jù):提高內(nèi)存安全性:Rust 的內(nèi)存安全功能可以幫助防止 C 和 C++ 代碼中出現(xiàn)的大量錯誤和安全漏洞。這在像 Linux 內(nèi)核這樣龐大而復(fù)雜的代碼庫中尤為重要,因為即使是技術(shù)嫻熟的程序員也難免會犯錯。此外,谷歌的數(shù)據(jù) 表明,在現(xiàn)有代碼庫中使用 Rust 代替 C 和 C++ 可以減少高嚴(yán)重漏洞的數(shù)量。吸引新的開發(fā)者:將 Rust 納入內(nèi)核有助于吸引那些更熟悉現(xiàn)代語言的新開發(fā)人員,他們可能會因為使用 C 語言的難度和復(fù)雜性而放棄使用。這也是 Linux 創(chuàng)建者 Linus Torvalds 批準(zhǔn)將 Rust 納入內(nèi)核的主要原因之一。反對將 Rust 納入 Linux 內(nèi)核的論據(jù):內(nèi)核開發(fā)人員對變更的抵制:許多長期從事內(nèi)核開發(fā)的人員不愿意學(xué)習(xí)一門新語言,尤其是當(dāng)他們沒有明顯需要學(xué)習(xí)新語言時。他們認(rèn)為,他們寧愿花時間學(xué)習(xí)更多關(guān)于內(nèi)核的知識,也不愿學(xué)習(xí)一種新的方式來完成他們已經(jīng)知道如何做的工作。這種抵制表現(xiàn)為對于那些在內(nèi)核中提倡使用 Rust 的人的敵對和不專業(yè)的行為,例如對 Wedson Almeida Filho 的態(tài)度。
維護(hù) C 和 Rust 代碼之間兼容性的難度:確保對 C 代碼的更改不會破壞 Rust 代碼,反之亦然,是一項重大挑戰(zhàn)。在內(nèi)核中缺乏全面的自動化測試的情況下,這尤其成問題。
對 Rust 成熟度的擔(dān)憂:一些內(nèi)核開發(fā)人員擔(dān)心 Rust 還不夠成熟,無法用于像 Linux 內(nèi)核這樣重要的項目。他們擔(dān)心該語言及其工具仍在快速發(fā)展,依賴它們可能會導(dǎo)致不穩(wěn)定和不可預(yù)見的問題。
一位觀看了 Wedson 和 Kent 在會議上的演講完整視頻和這次會議的其他一些視頻的 Reddit 用戶認(rèn)為,Linux 內(nèi)核開發(fā)人員看起來非常糟糕。
“看起來他們正在現(xiàn)場對演講者進(jìn)行嘲諷,完全不關(guān)心他們是如何進(jìn)行 30 分鐘的演講的,那場會議看上去讓人很不舒服。他們對待 Wedson 顯然是不尊重的,而且是當(dāng)面直說的,所以我認(rèn)為不應(yīng)該責(zé)備 Wedson 辭職。我讀了一些關(guān)于 Rust for Linux 的評論,Linux 內(nèi)核似乎是一個特別有毒的工作環(huán)境,里面充滿了那種自己沒什么成熟經(jīng)驗,但卻仍然自以為是的工程師們!
3 為什么 Linux 內(nèi)核要反抗 Rust? 從上述 Reddit 討論帖和 Wedson Almeida Filho 的辭職郵件中可以似乎看出,現(xiàn)在還有很多人反對將 Rust 納入 Linux 內(nèi)核。
這種抵制并不一定源于對語言本身的厭惡,而是由多種因素共同導(dǎo)致的,其中許多因素反映了軟件開發(fā)中更廣泛的問題。其中一些是技術(shù)問題,但更多的則是非技術(shù)上的問題。
從技術(shù)角度而言,反對將 Rust 納入 Linux 內(nèi)核的原因集中在兩點上:第一是維護(hù)負(fù)擔(dān)和 API 穩(wěn)定性,第二是復(fù)雜性和“不安全”難題。
人們反復(fù)擔(dān)心的是保持 C 和 Rust 之間兼容性的實用性。內(nèi)核開發(fā)人員(其中許多人都是資深的 C 專家)表示,他們擔(dān)心需要承擔(dān)額外的責(zé)任,以確保他們的 C 代碼更改不會無意中破壞 Rust 組件。鑒于內(nèi)核中的自動測試有限,這一點尤其重要。
此外,一些開發(fā)人員認(rèn)為,為了彌合 Rust 嚴(yán)格的安全規(guī)則與內(nèi)核級編程固有復(fù)雜性之間的差距,可能需要在 Rust 中過度使用“unsafe”關(guān)鍵字。這被視為可能會破壞 Rust 旨在帶來的安全優(yōu)勢。
非技術(shù)原因是更深層次的開發(fā)者之間的文化沖突。在 Reddit 和 Hacker News 上,都有用戶提到 Wedson 的退出是一個非常典型的“舊團(tuán)隊”與“新團(tuán)隊”之間的分歧。這種聲音強調(diào):
“一個新團(tuán)隊認(rèn)為他們將重寫一切并讓世界變得更美好。而老團(tuán)隊多年來則是一直埋頭苦干,他們對代碼了如指掌,并經(jīng)過艱苦的調(diào)試,才讓系統(tǒng)進(jìn)入目前的狀態(tài)(在這種情況下,這是一個非常成功的狀態(tài),因為 Linux 文件系統(tǒng)幾乎將所有數(shù)據(jù)存儲在云中),他們更加腳踏實地。新團(tuán)隊思考問題的方式可能過于簡單,讓老團(tuán)隊感到不被尊重。(這種明顯的不尊重可能是你聽到這種咄咄逼人的語氣的原因。)這是一種非常典型的文化沖突!
此外,想將 Rust 納入到 Linux 也面臨著一些變革阻力和學(xué)習(xí)曲線難題。許多長期的內(nèi)核維護(hù)者表示不愿意花時間和精力學(xué)習(xí)一門新語言,尤其是如果他們已經(jīng)成功使用 C 多年,這種抵觸情緒隨著 Rust 的責(zé)任落在他們身上而加劇。
更糟糕的是,一些內(nèi)核開發(fā)人員和 Rust 擁護(hù)者似乎在開發(fā)理念上存在根本分歧。內(nèi)核社區(qū)重視穩(wěn)定性、成熟的方法論以及對復(fù)雜代碼庫的深入理解,他們可能會認(rèn)為 Rust 的嚴(yán)格規(guī)則和對內(nèi)存安全的重視是一種額外的限制,而不是一種好處。
Reddit 討論中的一些評論暗示,人們認(rèn)為 Rust 支持者是“精英主義者”,或者對 C 開發(fā)人員的專業(yè)知識不屑一顧。再加上長期使用 C 語言的開發(fā)人員和那些更熟悉新語言的開發(fā)人員之間可能存在的代溝,這進(jìn)一步加劇了 Rust 融入具有完善規(guī)范和等級制度的社區(qū)的難度。
然而,不得不提的是,并非所有 Linux 內(nèi)核開發(fā)人員都反對 Rust。許多人看到了它的潛在優(yōu)勢并支持將其納入。但是,上述觀點凸顯了技術(shù)、社會和哲學(xué)因素的復(fù)雜相互作用,這些因素導(dǎo)致了 Rust 在 Linux 內(nèi)核團(tuán)隊內(nèi)部面臨的抵制。
4 Rust 在 Linux 內(nèi)核中的未來 在抵制和支持兩種聲音兼而有之的情況下,Rust 在 Linux 內(nèi)核中的未來將何去何從?在近日 Verizon 開源官 Dirk Hohndel 與 Linux Torvalds 的一次關(guān)于 Linux 的現(xiàn)狀以及未來發(fā)展方向的公開對話中或許能窺見些端倪。
在這次公開對話中,Hohndel 與 Torvalds 談到了如何將 Rust 語言引入 Linux。Torvalds 對 Rust 的應(yīng)用速度未能如預(yù)期般加快感到失望。“我原本指望著更新速度會更多,但問題在于不少老一代內(nèi)核開發(fā)人員更習(xí)慣于使用 C 語言,而不太熟悉 Rust。他們不太愿意學(xué)習(xí)一種在某些方面與老辦法截然不同的新語言。因此,Rust 的普及受到了一些阻力。”
除此之外,Torvalds 還評論道,“另一個原因在于,Rust 自身的基礎(chǔ)也并不是十分牢靠。”
最后,Torvalds 表示自己并不關(guān)心云和 Kubernetes 這類新技術(shù)!皟(nèi)核才是唯一需要關(guān)注的重點!
參考鏈接:
https://lore.kernel.org/lkml/20240828211117.9422-1-wedsonaf@gmail.com/
https://ostechnix.com/rust-maintainer-for-linux-kernel-resigns/
——EOF——日常分享C/C++、計算機學(xué)習(xí)經(jīng)驗、工作體會,歡迎點擊此處查看我以前的學(xué)習(xí)筆記&經(jīng)驗&分享的資源。
組建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起進(jìn)群交流。
oflhm4t1z3y64029412957.png (195.91 KB, 下載次數(shù): 6)
下載附件
保存到相冊
oflhm4t1z3y64029412957.png
2024-9-21 01:05 上傳
歡迎添加微信,我拉你進(jìn)技術(shù)交流群。此外,我也會經(jīng)常在微信上分享一些計算機學(xué)習(xí)經(jīng)驗以及工作體驗,還有一些內(nèi)推機會。
5ueykklyq5464029413057.png (281.08 KB, 下載次數(shù): 5)
下載附件
保存到相冊
5ueykklyq5464029413057.png
2024-9-21 01:05 上傳
加個微信,打開另一扇窗
經(jīng)常遇到有讀者后臺私信想要一些編程學(xué)習(xí)資源,這里分享 1T 的編程電子書、C/C++開發(fā)手冊、Github上182K+的架構(gòu)路線圖、LeetCode算法刷題筆記等精品學(xué)習(xí)資料,點擊下方公眾號會回復(fù)"編程"即可免費領(lǐng)取~
感謝你的分享,點贊,在看三連
rp3cs0aagye64029413157.gif (88.16 KB, 下載次數(shù): 6)
下載附件
保存到相冊
rp3cs0aagye64029413157.gif
2024-9-21 01:05 上傳
|
|