2月6日、海外の技術メディアThe Registerが「Mixing Rust and C in Linux likened to cancer by maintainer」と題した記事を公開した。この記事では、LinuxカーネルにRustコードを導入しようとする開発者と、C言語での統一を重視するカーネルメンテナとの意見の対立について詳しく紹介されている。
以下に、その内容を紹介する。
記事によると、LinuxカーネルでRustを利用する試みは以前から進められてきたが、複数言語の共存を望まないメンテナの強い反対に直面しているという。反対派のメンテナは、「マルチ言語化によって保守が複雑化する」「C言語によるインターフェースを分割したくない」といった主張を展開している。具体的には、Rust製デバイスドライバがカーネルのDMA APIへ直接アクセスできるようにするための抽象化コードが提案されたが、メンテナであるChristoph Hellwig氏はこれを厳しく批判し、受け入れを拒否している。
提案されたパッチは、C言語側のDMA API(dma_alloc_coherent()
関数など)をRustドライバが利用できるようにするものだった。しかしHellwig氏は、Rustコードをカーネルのコア部分に持ち込むことでメンテナンスが複雑化することを懸念している。
If you want to make Linux impossible to maintain due to a cross-language codebase, do that in your driver so that you have to do it instead of spreading this cancer to core subsystems. (where this cancer explicitly is a cross-language codebase and not Rust itself, just to escape the flameware brigade).
もしクロス言語のコードベースのせいでLinuxのメンテナンスを不可能にしたいのなら、それはあなた自身のドライバの中で行い、コアのサブシステムにこの“がん”を広げるのはやめてほしい。(ここで言う“がん”とは、Rustそのものではなく、クロス言語のコードベースのことを指している。炎上を避けるために付け加えておく)
彼の主張によれば、Rustを使うなら独自にCインターフェースを呼び出すだけにとどめるべきであり、カーネル全体にRustの抽象化を広げることは避けるべきだという。
このような姿勢に対して、Rust for Linuxプロジェクトの開発者側からは「Cコード側には一切手を加えず、Rust側からカーネルAPIへの抽象化を行うのが効率的である」「ドライバごとに個別のCバインディングを実装するより、中央集権的にRustレイヤを維持する方が良い」との反論が示されている。しかしHellwig氏は「C言語以外のコードがコアサブシステムに影響を及ぼすのは容認できない」として、そのようなアプローチ自体を“がんのようなもの”と表現してまで拒否している。
この対立に関して、Rust導入を支持する開発者からは「Linus Torvalds氏による最終判断を仰ぐべきだ」という意見も出ている。実際、Linus氏はRustをカーネルに取り入れることに前向きな姿勢を示してきたが、Hellwig氏のように強硬に反対するメンテナとの意見調整は難航しているようだ。
RustをLinuxカーネルに導入したい勢力と、C言語主体の開発体制を維持するメンテナとの対立が顕在化し、現在激しさを増している。今後、この対立がどのように解消されるのかが注目されるところである。
詳細はMixing Rust and C in Linux likened to cancer by maintainerを参照していただきたい。
I've lately began the weblog, the data a person supply on this website offers assisted me personally significantly. Many thanks with regard to all your period & function. parawan pokojowy
This is merely the data I will be obtaining just about everywhere. Thank you to your website, I recently register your website. It is a great website. inches. Wikipedia
That you're allowed to place leaders, however is not one way links, except when they're just authorised together with regarding niche. 大和高田 交通事故
Excellent publish, Thanks with regard to discussing This particular understanding. Wonderfully created post, if perhaps just about all writers provided exactly the same degree of content material while you, the web will be a far better location. Make sure you continue the good work! https://www.clusterrepairsuk.co.uk/
As the New, My organization is in the long term searching on line meant for article content which really can be for assist with my family. Thank you so much. Door handles
Exceptional article, gone ahead of time along with added your blog. My spouse and i can’t delay you just read additional via anyone. cash for cars Brisbane
That is thus gorgeous and also imaginative. I recently really like the particular shades and also anyone who receives that inside the email will probably be beaming. field service software reviews
it is definitely excellent blog site. it is realy info as well as a a really beneficial task. i adore that. łóżko dla dziewczynki
This can be the words My group is selecting in all places. Bless you for one's web log, Freezing enroll your site. It's a attractive web log. inch. bride panties
This specific is a great article My spouse and i witnessed due to talk about the idea. It is definitely precisely what I want to to view expect throughout potential you can proceed pertaining to expressing a real exceptional article. jfm radio online
Thanks for the post and great tips.. even I also think that hard work is the most important area of getting success. 日吉 英会話
That is a good write-up When i viewed on account of write about the item. Really it is what exactly I need to to discover trust with foreseeable future you might go on intended for giving a really fantastic write-up. 광양 사업자 대출
This is simply the info I'm discovering almost everywhere. Many thanks for the weblog, I simply sign up your site. This can be a good weblog. inch. Personal trainer Orlando