Reiser4のファイルセマンティクス:オープンソースには好機

Reiser4のファイルセマンティクスはLinuxコミュニティにとって問題だ、と考える人がいる。簡単に言うと、このファイルセマンティクスではすべてのファイルがディレクトリのように見え、ディレクトリとして開ける。NamesysサイトにHans Reiserが書いているところでは、そのディレクトリ内にある名前は新しいファイルではなく、元のファイルのメタデータである。それでは変化が大きすぎるから撤回すべきだというのが、Reiser4に対するLinuxコミュニティの反応だった。だが、私は違うと思う。これは真正面から受け止めるべき挑戦であり、この機を逃せば、将来、この問題に取り組む機会は2度と訪れないかもしれない。

オープンソースが特許と戦う最善の方法は、特許申請以前に類似の技術を確立してしまうことである。だが、そのためには、まず解くべき問題がなければならない。Microsoft社にとっては、WinFSが絶好の機会となるだろう。リッチメタデータをともなうファイルシステムに直面したとき、どのような問題を解決しなければならないかが、WinFSに取り組むことで発見できるからである。

オープンソースを古色蒼然たるUnix領地に囲い込もうとする特許を避けるには、改革こそが必要である。変化という挑戦の前にあまりに保守的な態度をとることは、単なる傍観者を決め込むことを意味する。Reiser4がもたらすリッチメタデータセマンティクスの周辺には、さまざまな「些細なアイデア」がある。Microsoft社などがそれを次々に特許で囲い込んでいくのを、なすすべもなく見守るのはまずい。ファイルと情報の新しい見方がもたらす問題点を発見し解決する機会を、Linuxコミュニティにも与えなければならない。

コンピューティングにおける「改革」の多くは、長期的に見れば些細なことであり、役に立たないことである。Unixが過去の遺物であり、Windows NTこそ将来のオペレーティングシステムだと言われたのは、ほんの数年前だった。なのに今日、その将来は過去の遺物を少しずつ再発明している。Microsoft社にも数多くのいいアイデアがあったが、無価値なアイデアも多かった。しかも、はるか昔にUnixに実装されていたアイデアをいくつも改善して取り入れている。もちろん、その動きは一方通行ではなくて、われわれもMicrosoft社から多くのアイデアを拝借している。

WinFSが脅威であるのは、それが最初からすごいアイデアだからではなく、Microsoft社に最初の取っ掛かりを与えるからである。WinFSを既存のコンピューティング環境に統合していく際に些細な問題が生じる。Microsoft社はその解決に取り組み、成果を特許に変えていく。一方、Linuxコミュニティが最初にその問題に取り組めば、特許以前に類似技術を確立する機会が得られ、Microsoft社その他が申請する特許(ほとんどが些細な特許)に抵抗できる。われわれが保守的態度に固執すれば、武器となる類似技術は得られない。先に改革しなければ、特許を持つ企業が改革をストップさせる。

新しいファイルセマンティクスは脅威でもあるが、チャンスでもある。もちろん、それはファイルシステムというものの見方と、その使用目的を変える。だが、すでに各方面で言われているとおり、ユーザ空間ソリューションは無理だ、と私も思う。それが機能するためには、使用するライブラリに全員が同意し、その共通ライブラリを使うよう膨大な数のアプリケーションを書き替えるという気の遠くなる作業が必要である。Reiser4からセマンティクスを切り離すべきでないというHansの主張に、私は賛成する。

最大の問題はファイルシステムユーティリティである。バックアップや復元、コピーや移動、CVSのようなバージョン管理で、リッチメタデータを扱えるようにしなければならない。Microsoft社もこの問題に直面することになる。ファイルセマンティクスの周辺に存在するこれら単純なアイデアを、Microsoft社はいずれ特許に変えていく。それまでのんびりと待つべきではない。

Namesys社は、リッチデータのために名前空間を統一することを提案している。私はその理念が正しいと思う。Unixファイルモデルは、かつては偉大なアイデアだった。だが、テラバイト単位のディスクスペースやファイルを扱おうという現在、オープンソースに課せられている真の問題は、保守的な漸進的変化への欲求と、コンピューティング概念の思い切った拡張との間に、どうバランスをとるかである。この20年間に、マシンのパワーは10,000倍になった。だが、それを支えるソフトウェアインフラストラクチャの発展速度はずっと遅い。われわれは、オープンソースが単に他人の技術の焼き直しではなく、コンピューティング概念を拡張していけることを実証しなければならない。それができなければ、20年後にもまだ、Microsoft社とどう効果的に戦えるかを模索しつづけることになるだろう。