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

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

搜索
查看: 33|回復(fù): 0
收起左側(cè)

C 語(yǔ)言老將從中作梗,Rust for Linux 項(xiàng)目?jī)?nèi)訌升級(jí)!核心維護(hù)者憤然離職:不受尊重、熱情被消耗光

[復(fù)制鏈接]

434

主題

434

帖子

3074

積分

四級(jí)會(huì)員

Rank: 4

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

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

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

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

    歡迎添加微信,我拉你進(jìn)技術(shù)交流群。此外,我也會(huì)經(jīng)常在微信上分享一些計(jì)算機(jī)學(xué)習(xí)經(jīng)驗(yàn)以及工作體驗(yàn),還有一些內(nèi)推機(jī)會(huì)。


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

    感謝你的分享,點(diǎn)贊,在看三  

  • 發(fā)表回復(fù)

    本版積分規(guī)則

    關(guān)閉

    站長(zhǎng)推薦上一條 /1 下一條


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