Linuxの「メタボ管理」は世界的課題かも?

2008-12-02 11:11:15

 Linuxカーネルの開発動向をウォッチしていると、追加/強化されている機能にいくつかの方向性があることに気付きます。仮想化、ファイルシステム、リアルタイム性などなど……

 そんなとき目にしたのが、こちらの記事。なんと、コード行数が1,000万行を突破したんだそうです。約8年前にリリースされたWindows 2000が、管理ツールやアクセサリを含む全体で約2,900万行だというのですから、カーネル単体としてはかなりの規模と言っていいでしょう。記事によれば、SLOC(Source Lines Of Code)をカウントするツールで測定したところ、空白行やコメント行を除いた純粋なコードは約640万行だったそうです。

 興味深いのは、その内訳です。driversディレクトリ、すなわちデバイスドライバ関連が約52%。fsディレクトリ、すなわちファイルシステム関連が約8.5%。netディレクトリ、すなわちネットワークスタック関連が約5.9%。純粋なカーネルとしてのコード(kernelディレクトリ)が占める割合は、わずか約1.2%に過ぎません。ここにアーキテクチャ固有のコード(archディレクトリ)を加え、約20.8%とすることもできますが、機能的に重複するコードが多数含まれているでしょうから、実質的には「1つのアーキテクチャで使用するLinuxカーネルのコードは全体の1割以下」なのだろうと考えられます。

 すべてのコードを同時に使うことはないのですから、肥大化傾向について神経質にならなくてもいい、という考え方もあるでしょう。しかし、基本設計部分を大きく変えよう、共通の機能を関数として統一しようなどという計画が持ち上がったとき、検証作業は相当の困難が予想されます。Linus TorvaldsさんとかAlan Coxさんといった、過去の経緯を知り現時点でも全体を見渡せる開発者が現役のうちはいいのかもしれませんが、未来永劫続くわけではありません。一方では、家電製品での採用が進むなど、Linuxの裾野は広がり影響力も増しています。

 そろそろ、Linuxという世界共通の技術(文化財?)の保護育成に乗り出す公的機関が登場してもいい時期なのでは、と思います。すでにそれらしき団体は存在しますが、大手ベンダーの影がちらほらするなど「色付き感」が否めませんし。現行のLinuxからフォークさせたうえで、特定アーキテクチャに依存しない、カーネルとしての機能強化および仕様統一を淡々と進めるような団体が必要なのでは、と。そうでもしないと、いずれ収集がつかなくなるような気がするんですけどねえ。

※このエントリは builder メンバーにより投稿されたものです。朝日インタラクティブ および builder編集部の見解・意向を示すものではありません。