電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 34|回復: 0
收起左側

C 語言老將從中作梗,Rust for Linux 項目內訌升級!核心維護者憤然離職:不受尊重、熱情被消耗光

[復制鏈接]

434

主題

434

帖子

3074

積分

四級會員

Rank: 4

積分
3074
跳轉到指定樓層
樓主
發(fā)表于 2024-9-5 09:01:00 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
整理|冬梅、核子可樂   轉自:InfoQ
                1 Rust for  Linux 內核維護者之一因“非技術原因”退出團隊  近日,InfoQ 獲悉,Rust for  Linux 內核維護者之一、微軟工程師 Wedson Almeida Filho 在 Linux 內核郵件列表上寫道:
我本人將退出 Rust for Linux 項目的維護者團隊。

之所以決定退出項目,是因為在過去四年的工作當中,我發(fā)現(xiàn)自己的精力和熱情已經(jīng)被嚴重消磨,越來越抗拒回應那些跟技術無關的廢話。所以這份任務,最好是留給那些仍然抱有這份熱情的成員。

致 Rust for Linux 團隊:感謝大家,你們最棒。很高興能跟各位一起工作,我們共同討論技術問題、尋找解決健全性漏洞的方法等等產(chǎn),這些都是我寶貴的回憶和人生經(jīng)歷。很幸運能夠與這樣一個才華橫溢、友好和善的團隊攜手并進。
祝愿這個項目一切順利。

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

    歡迎添加微信,我拉你進技術交流群。此外,我也會經(jīng)常在微信上分享一些計算機學習經(jīng)驗以及工作體驗,還有一些內推機會。


    加個微信,打開另一扇窗
    經(jīng)常遇到有讀者后臺私信想要一些編程學習資源,這里分享 1T 的編程電子書、C/C++開發(fā)手冊、Github上182K+的架構路線圖、LeetCode算法刷題筆記等精品學習資料,點擊下方公眾號會回復"編程"即可免費領取~

    感謝你的分享,點贊,在看三  

  • 回復

    使用道具 舉報

    發(fā)表回復

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則

    關閉

    站長推薦上一條 /1 下一條


    聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表