最近在 Linux Plumbers 2020 會議前,有內(nèi)核開發(fā)者提議會上討論一些關(guān)于 Linux 中支持 Rust 的話題,引來了 Linus Torvalds 的回應(yīng)。
去年就有開發(fā)者詢問 Linux 內(nèi)核穩(wěn)定版維護者 Greg Kroah-Hartman “Linux 有沒有想法擁抱 Rust”,Greg 表示愿意接受用 Rust 開發(fā) Linux 內(nèi)核的驅(qū)動程序,但前提是:
1、以可選的方式存在,而不是默認啟用,這樣其他開發(fā)者就不需要使用 Rust 去構(gòu)建內(nèi)核
2、Rust 驅(qū)動需要體現(xiàn)出比 C 驅(qū)動具有優(yōu)勢,比如針對內(nèi)核 API 的安全封裝器
此次 Linus 關(guān)于 Linux 支持 Rust 的回應(yīng)看上去正是針對這第 1 個條件。
Greg 希望 Linux 中的 Rust 支持是以可選的方式存在,而不能全面默認啟用,類似于在一個大的系統(tǒng)配置項里還要單獨開啟一個針對 Rust 的小選項,但 Linus 則認為應(yīng)該在默認情況下可以有效地啟用支持,以確保進行廣泛的測試,而不是只有某些開發(fā)者孤立地在進行瘋狂/錯誤的使用,因為沒有人關(guān)注,問題會被掩蓋。
同時,Linus 還用 Kconfig 的使用指令舉例,表示 Rust 支持需要足夠簡潔,類似“config RUST_IS_AVAILABLE……”,Linus 認為如果在系統(tǒng)上檢測到 Rust 編譯器,則 Kconfig 將啟用 Rust 支持,并繼續(xù)構(gòu)建任何假定的 Rust 內(nèi)核代碼,以至少查看其是否正確構(gòu)建。“我希望以如此簡單的格式引入第一個 Rust 驅(qū)動程序(或其它任何驅(qū)動程序),以使故障顯而易見且簡單。”