Ottawa Linux Symposium初日リポート(1/5 ページ)

毎年恒例のOttawa Linux Symposiumが始まった。7回目となる今回は、ジョナサン・コーベット氏の話で幕を開けた。シマリスの乱入あり、Windowsへの大ブーイングありと、初日から盛りだくさんの内容だ。

» 2005年07月27日 15時08分 公開
[David-,japan.linux.com]

 オタワ――毎年恒例のOttawa Linux Symposiumが始まった。7回目となる今回は、まずLWN.netのエネルギッシュなジョナサン・コーベット(Jonathan Corbet)氏の話で幕を開けた。Linuxカーネルのロードマップに対する彼なりの解釈についての話である。コーベット氏の次はバート・ハバート(Bert Hubert)氏が登場し、ブート時間やアプリケーションのロード時間の短縮について話した。

 コーベット氏のセッションの正式なタイトルは、「カーネル2.6のロードマップ(盲目な人間によるまとめ)」というものだった。同氏はまず、MicrosoftのCEOであるスティーブ・バルマー氏の「Linuxにはロードマップがない」という言葉と、ウィリアム・ギブスン(William Gibson)氏の「未来はここにある。まだ広まっていないだけだ」という言葉を引用した。

 コーベット氏は、実はLinuxにはロードマップがちゃんと存在し、奥までじっくり探してみれば見つけられると述べた。そして、われわれが探さなくて済むように、自身が探しておいたと語った。

 次に、Linuxカーネル開発の歴史を振り返るという話に進んだ。

 コーベット氏が言う「古き良き時代」には、奇数のバージョン番号のカーネル・リリースは開発版リリースで、偶数のバージョン番号のカーネル・リリースは安定版リリースだった。安定版リリースは、実際の稼動環境での使用が意図され、きちんと動作するものと想定できたのに対し、開発版リリースは、使用者自身のリスクが大なり小なり伴うものだった。

 この仕組みでは、カーネルを安定させることを目的として機能をフリーズする結果、カーネルの新機能が実際に実装されるまでに、数年という期間を要することもあった。その間に、カーネルのパッチを提供した本人によってパッチが取り下げられることもあった。その結果、開発の効率に必要以上の無駄が生じていた。また、カーネルの開発サイクルが長いせいで、カーネルの機能フリーズがゴチャゴチャになってしまっていた。つまり、まず小さな機能を実装し、その後でもっと小さな機能を実装する、ということを続けているうちに、機能確定を再度発表し、再度実装しなくてはならないというような状況である。

 この開発サイクルの長さや、新機能の組み込みの遅れに対処するために、Linuxのディストリビューターたちは、バックポートした機能を組み込んだ修正版のLinuxカーネルを採用するようになった。その結果、こうしたカーネルは、kernel.orgの公式なカーネルとの互換性を必ずしも持たないものとなった。

 カーネル2.6.0は2003年12月にリリースされ、バグフィックスのリリースが月1回ほどのペースで行われた。2004年のOttawa Linux Symposiumの時点では、カーネルのバージョンは2.6.7まで上がっており、それからの1年でさらに2.6.12まで上がった。安定版のカーネル・リリースであるはずのカーネル2.6の開発では、最初の半年間で60万行のコードが削除され、90万行の新しいコードが追加された。これはカーネルの4分の1の置き換えに相当するとコーベット氏は言う。

 トーバルズ氏は昨年、安定版カーネル・ツリーの仮想メモリ・サブシステムを置き換え、これを「実装の詳細」と称したとコーベット氏は指摘した。また、コーベット氏によると、カーネル2.7はすぐには予定されていないとのことだ。2.6の開発プロセスでは、新しい開発体系への進展があった。この開発体系では、現在のカーネルは-mmツリーとリリース候補ツリーで開発され、その結果が「suckerカーネル」と呼ばれる、2.6.x.yプレリリース・カーネル・ツリーとなる。要するに、カーネルの各メジャー・バージョンが1つの大きな開発サイクルを持つのではなく、各カーネル・リビジョンがそれぞれ開発サイクルを持つ。

 この新たなプロセスでは、アンドリュー・モートン(Andrew Morton)氏が安定版リリースのメンテナンスを担当し、トーバルズ氏が開発版リリースを担当する予定だったが、実際にはその逆となった。つまり、トーバルズ氏が安定版カーネルのリリースとメンテナンスを担当し、モートン氏が開発版を担当している。コーベット氏によると、モートン氏はパッチを無視したり、放っておいたりはせず、「このパッチは優れていて必要なものであり、コメントを追加していただきたい」という意見を述べることでLinuxカーネルの開発プロセスにプロフェッショナリズムを持ち込んでいる。

 コーベット氏の話によると、時間を費してカーネルのパッチを作成してくれた人に対して反応を返すことは最低限の責務だとモートン氏は信じている。その基本哲学をたとえて言えば、ごちそうを作りたいと思っている人を台所から追い出してはならない、ということだ。

       1|2|3|4|5 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ