Linuxはプログラミング言語Cの申し子のような存在だ。しかし時は流れ、状況は変わった。RustをLinuxのシステム記述言語として採用しようという動きが少しずつ支持を集めてきている。例を挙げると、Linuxカーネル開発者のための年次カンファレンス「Linux Plumbers Conference(LPC)2020」において、開発者らはLinuxのインラインコード部分でのRustの採用を真剣に議論していた。その議論は現在どうなっているのだろうか?筆者はLinuxの父と目されるLinus Torvalds氏と、Linuxの安定版カーネルのメンテナーであるGreg Kroah-Hartman氏から考えを聞いた。
これはRustに魅了された一部の開発者らによって推し進められている机上の空論ではない。LinuxでRustを積極的に利用しようとするアプローチは、既に世の中で見かけるようになっている。例を挙げると、Amazon Web Services(AWS)は最近、コンテナー向けのLinuxディストリビューションである「Bottlerocket」をリリースしており、同OSではRustを積極的に使用している。
昼はMozillaのディレクター、そして夜はDebianのデベロッパーという2つの顔を持つSylvestre Ledru氏は、コンパイラーインフラのLLVMと、C言語ファミリー向けのフロントエンドおよびツールインフラであるClangを使用し、CoreutilsのRustバージョンをLinuxに移植した。CoreutilsはGNUの中核をなすシェルユーティリティー一式だ。Ledru氏はこれらとともにLinuxを起動し、一般的なDebianパッケージのほとんどを動作させることに成功した。Ledru氏はまだ正式版にする段階ではないと認めているが、著しい努力によって現在の状況にこぎ着けている。いつかはこのRustバージョンによってGNU Coreutilsが置き換えられるかもしれない。
そもそも、こういった試みがなされるのはなぜだろうか?Rustの人気が高まっているのは、言語自体にセキュアなソフトウェアの開発を容易にするという性質が備わっているためだ。AWSの製品マネージャーであるSamartha Chandrashekar氏は、Rustが「スレッドセーフなコードを保証するとともに、セキュリティ関連の脆弱性につながりかねないバッファーオーバーフローなどのメモリー関連のエラーを防ぐ上で支援してくれる」と述べた。他の大多数の開発者らもChandrashekar氏の意見に同意している。