Marcelo Tosatti
Alan Coxの後を継ぐというのは、最も功をなしたハッカーであったとしても、至難の業ですが、名も知れない18歳のMarcelo Tosattiという名前のブラジル人ハッカーが昨秋から後を継いでいます。Linus Torvaldsは、Linux 2.4のカーネル・ツリーの管理をCoxに代わってTosattiに任せることにしたのです。関係者の話を総合すると、Coxは、他のいろいろなプロジェクトにもっと時間をかけたいと思っていたので、2.0および2.2のツリーの管理を終えたのを機に、誰か別の人がこの仕事を引き受けることになったようです。
仕事を引き継いで以来、Tosattiは、2.4.16を手始めに3つのカーネル・リリースを管理し、(ある記事によると)マスコミからの700本近い問い合わせに答え、Slashdotのインタビューでは、かつてないほどそっけない返答をしてもいます(稿末の参考文献参照)。
developerWorks は、Tosatti氏を追いかけ、この最初の4ヶ月間の仕事について質問しました。
developerWorks: Tosattiさん、2.4の管理者になってから700人のジャーナリストから問い合わせを受けたというのは本当ですか。
Tosatti: 700人というのは、ものすごい数ですね。700人という訳ではありませんが、たくさんのジャーナリストが私に取材しようとしたことは事実です。30人よりは多かったでしょうか。もう、そうでもありませんが。マスコミの取材で閉口したことは、少なくとも私の場合、彼らが技術関係の人々ではないため、いつも「どんなことをやってるんですか」と尋ねられることでした。何をやってる人なんですか、って。技術関係のジャーナリストではなく、一般紙のジャーナリストなんです。
dW: 一番困ったのは、どんな質問でしたか。
Tosatti: どんなきっかけでコンピューターの仕事を始めるようになったのか、です。
dW: なるほど。じゃ、その質問は、リストから消しておきます。でも、あなたはConectivaで4年間働いていたと読んだのですが、まだ18歳ですよね。いくつのときに、そこで働き始めたのですか。
Tosatti: 14です。
dW: どうすれば14のときからConectivaで仕事ができるようになるんですか。
Tosatti: 私は、13のときに、あるISP (インターネット接続業者) でシステム管理者として働くようになりました。そこでは、いくつかLinuxシステムを管理していましたので、Linuxについてもっと学べるような会社で、研究者として働きたいと思うようになりました。それで、Conectivaに電子メールを出したんです。Linuxについて少し知識があり、ディストリビューション関係の仕事ができますが、興味はないでしょうかって。
dW: それはアルバイトだったんですか。
Tosatti: ええ、学生でしたから。
dW: Linuxのどんなところに興味をもったんですか。
Tosatti: まあ、ソースが見れるということです。それだけで興味をもったんです。最初は、どんなものなんだろうと思ってLinuxをインストールしたんですが、Windowsよりもいろいろとシステムを制御できることがわかったんです。Linuxを使っていこうと私に思わせたのは、基本的に、そういうところなんです。それ以前にもFreeBSDは使ってましたが。
dW: Linuxのカーネル管理者になるきっかけは?
Tosatti: 始まりは、Alan [Cox] とLinus [Torvalds] の間の話し合いからでした。Alanは「他のプロジェクトをやりたいから、もう2.4の管理はやりたくない」と言っていました。するとLinusは「わかった。後任は誰がいいだろう」と尋ねたのです。で、Alanが私を指名したのです。Linusも「それでいいよ」ということになったのです。それで、Linusが彼らのやり取りしたメールを私のところへ転送して、「興味ある?」って尋ねてきました。それで、私が「もちろん」と答えた、というわけです。
dW: Alanがあなたを選んだのは、どうしてなんでしょうか。
Tosatti: さあ。私がいろんな人と気安くつきあえるからでしょうか。私は、エゴではケンカはしませんから。私は、目標を定め、それを達成しようと考えます。よくLinux Kernel Listでエゴからくるケンカをしている人がいますよね。「俺のほうが正しいって」 私は、そんなことはしません。それが一番の理由じゃないでしょうか。他に、Alanが日誌で触れているような理由もあります。私が技術的なスキルを持ち合わせてもいるからかもしれません。
dW: あなただったら、誰を選んでましたか。
Tosatti: えっ?すごい質問ですね。えー、Andrew Mortonかな。他にも何人かいますよ、Jeff Garzikとか。
dW: 選ばれて、どんな気分でした?
Tosatti: うれしかったですよ。最初は、インタビューのことで、少し心配でしたけどね。始終私の人生について質問するような人々には慣れていませんでしたから。日に5つか6つはインタビューを受けてました。2週間は、それしかできませんでした。当時は、少し驚きましたが、今では、それが一時的なことだということがわかってきました。
dW: Alan Coxは、あなたを選任したことについての人々の態度には、少し困ったものもあると語っています。あなたを少し困らせてやろうとする人々がいるとか。どういうことなんでしょう。
Tosatti: それは知りませんでした。そんな雰囲気は全然感じませんでしたが。Alanは、誰のことを言っているんでしょうか。2.4のコントリビューターから異論のようなものはまったく聞いていませんが。
dW: あなたが2.4の管理者として最初に発表したものは何ですか。2.4.16ですか。
Tosatti: そうです。2.4.16には、基本的に、大きな変更はありません。2.4.15には、ファイル・システムが間違いを起こす問題がありましたので、誰かがその問題を修正し、その修正版という意味で2.4.16を出しました。
dW: これまで管理してきた版はいくつですか。
Tosatti: フル・リリースが2つです。[このインタビュー後に、Tosatti氏による3つ目の版2.4.18が出されています -- 編集者注]
dW: この仕事をどう思いますか。
Tosatti: きつい仕事ですね。非常に大変ですよ。一番大変なのは、読むということですね。バグ・レポートのほとんどは「バグがあるよ」というだけで、それ以外のことはあまり書かれていません。それで「どんなハードウェアを使っているのですか」と質問しなければならないわけです。バグの報告の仕方が、問題の大部分を占めます。それは当たり前のことです。バグを報告している人々は、開発者でないことが普通なのですから。人々が開発者のようにバグを報告してくれれば良いのですが、実際にはそうではないのですから、「どんな構成なんですか」というようなことを質問し続けなければなりません。
dW: すると、仕事が楽になるような方法を考えているのですか。
Tosatti: いや、そういうことではありません。解決策があるとは思っていません。人々は問題があれば、それを報告してくるだけで、他に何かできることがあるとは思っていません。これは文化です。「われわれがほしいのは本当のバグ・レポートなんです。そうした情報を送ってください」と言い続けるしかありません。
dW: 誰にとっても、処理全体の効率がよくなると考えられるようなことがありますか。たとえば、CVS [Concurrent Versions System] は、うまくいかないのでしょうか。
Tosatti: 私は、自分のツリーを管理するために、内部的にはCVSを使っていますが、それをエクスポートすることが良い考えとは思いません。一元化する必要がある -- 少なくとも、それが現在の私の意見です。すべてのものが私のところに集まり、私が注意深くそれを読めるようにする必要がある。それがCVSの問題です。
2.5では、何らかのバージョン管理メカニズムが用意され、それを使って人々がそれぞれ別々の部品を管理できるようになると良いのでしょうが、それは2.4ではうまくいかないでしょう。2.4の現在の方法を変更することはできません。現在、バグの修正がいろいろとありますから。
人々からのパッチの提出の仕方については変更したいと思っています。かなりの大きさのパッチを提出しながら、それについて説明を行わない人もいます。私は、まず問題の説明をしてもらい、つまり問題を記述してもらい、次に、その問題をどのように解決したのかを説明してもらい、その上でさらに「別の解決策もありうる」とか「私の方法では、かくかくしかじかのトレードオフがある」といった注釈を付けてもらいたいと思っています。充分な説明もなしに、ただパッチを送ってくる人もいますから。
dW: あなたは、Linusよりも、そうしたパッチを受け付けるほうですか、それとも受け付けないほうですか。あなたのカーネル管理のスタイルにどんな違いがあるのだろうかと人々は考えていると思うのですが。
Tosatti: 私は、どんなパッチでも無視することはあまりないと思います。私は、レポートを読み、「もっと具体的に」とか「もっと詳しく」と返信します。
1つの違いは、私の場合、ときどき「あなたが修正を行ってくれないと、カーネルをリリースできませんので、よろしくお願いします」といって開発者を困らせることがあるという点です。LinusもAlanも、それはなかったと思いますから。
dW: そうやって、いろんな人を急き立ててる?
Tosatti: ときどき急き立ててますね。たとえば今も2.4.18にしたいんでパッチを送ってってAlexander Viroを急かしてますよ。
Linusよりも無視することは少ないと思いますよ。実際、絶対無視しようなんて思いませんから。
dW: あなたは、Rik van Rielの隣りで働いてるんですよね。
Tosatti: ええ。
dW: Andrea Arcangeliの 仮想メモリー [VM] システムへの切り換えに関して、あなただったら違ったやり方をしましたか。[Linus Torvaldsは、2.4.10のカーネルで新しい仮想メモリー・システムに切り換え、van Rielによるコードを捨てています-- 編集者注]
Tosatti: 私なら、あの時点で切り換えは行わなかったでしょうね。Linusに関して問題なのは、数多くのことが彼の気分で決まるということです。彼は、こういうふうに言うんです。「これは、いいね。これを使おう。これは、いいね。これにしよう」彼が使ったパッチの中には、使うべきでないものもあります。彼は、あまりよく考えることなく、パッチを早々と採用することがあります。ものによっては、本当に熟慮するだけの時間が彼にないこともあります。たとえば、AndreaのVMの件です。すでにVMは1つあったが、別のものに切り換えた。ドカーン !これに関係してくるいろいろな問題のことについて彼は考えなかったのです。私なら、彼とは違う対応をしていたでしょうね。
dW: この問題が起こったときにRikの横に座っていて、カーネルを管理することの問題について何か知恵が付きましたか。この件で、教訓となることがありましたか。
Tosatti: ええ。ためになったと思いますよ。彼とAndreaの戦争を見ました。この点で、管理の大部分は、人付き合いだということです。RikとAndreaに会ったり、RikとAndreaが関ったものを見ると、人について学ぶことがありますね。彼らは始終ケンカしてるんですから。技術に関して、この件から学んだことはあまりありませんでしたが、人とうまく付き合うことに関しては、たくさん学びました。
dW: Alanが2.4を管理しなくなったことに、この件が関係していると思いますか。
Tosatti: いや、そうは思いません。彼は、もう長い間カーネルに関ってきていました。ある程度やると、飽きるんですよ。彼は、他のプロジェクトをやりたかったんだと思いますよ。
dW: あなたは、2.4の管理者としてどのぐらい続くと思いますか。
Tosatti: さあ、どうでしょうか。今のところ飽きてはいませんが、ストレスの多い仕事ではあります。
dW: Linuxカーネルの次の大きな改訂に向けて進行している作業を見ていて、2.4での仮想メモリーのように、重大でバグの混入しやすい複雑な領域はあるのでしょうか。
Tosatti: 2.4の場合と同様、VMが最も問題を起こしやすい部分になるだろうと思います。というのも、いろいろなケースに合わせてVMが正しく働くようにすることが非常に困難だからです。たとえば、32 Gバイトのシステムでも組み込みシステムでも動くようにすることは困難です。
dW: つまり、現在のLinuxのVMの状態には満足していないということですね。
Tosatti: ええ。いくつか問題があります。Andreaが、これらの問題に対する修正を彼のaa ツリーで行っていますが、そのパッチをもってきて、私のツリーに埋め込むつもりはありません。私は、これらのパッチがどんな問題を解決しているのかを理解して、それから、自分のツリーでそれらの問題を解決したいと考えています。私は、この作業をやり直そうと言っているわけではありません。ただ、彼のコードは、あまりきれいではないし、理解しやすくもないということなのです。それでもAndrew Mortonが、次のpre シリーズで、この作業をやることになっています。彼は、AndreaのVMの作業を理解し、私のツリーに組み入れるつもりだとしています。
dW: 2.4カーネルで、こうした作業があなたを満足させるようになるまでにはどれぐらいかかるのでしょうか。
Tosatti: 次の2回の大きな改訂までには、そうなるのではないでしょうか。私自身が、これらの問題を解決したいですが、私には時間がないというのが本当のところです。
dW: これは、あなたにとっての優先事項なのですか。
Tosatti: ある程度は。優先事項は、データが化けるといういくつかのバグを解決することです。これがハードウェアの問題なのかどうかがよくわからないのです。どこに問題があるのか、すべてのカーネルにこの問題が存在するのかがはっきりしませんが、これはメモリーの破損であり、データ化けを起こし、クラッシュを引き起こす可能性もあるわけですから、大変な問題なのです。
dW: Intelの問題なのでしょうか。
Tosatti: そうです。安定性の点以外は、大した問題はないと思っているのですが。他の人々が大きな問題だと思うのであれば、私にとっても重大な問題となるかもしれません。現在のところは、問題が収まってほしいと願うばかりです。
dW: あなたが良い仕事をしているかどうかは、どうやって判断しますか。
Tosatti: バグ・レポートの受け取りを止めたとき。
dW: そういうことが起こると思いますか。
Tosatti: 安定性が、私にとっては重要なことなんです。企業向けサービスを提供している会社 [Conectiva] に勤めてるんですが、この会社にとって、安定であるということが非常に重要なんですよ。サーバーは安定していないといけない。それは、顧客の企業の中の人々にとってそうであるだけでなく、いろいろな意味でそうなんですよ。何が起こってもマシンが動き続けることが重要なんです。Linuxがクラッシュしたため送られてくるバグ・レポート、負荷とか安定していないという問題で送られてくるバグ・レポート。これらを、もう受けなくてもよくなった時の自分を考えてみると、その時幸せを感じていると思います。
dW:次の主要な安定したカーネルのリリースを、あなたが行うことになると思いますか。
Tosatti: それはわかりませんが、現時点では、そういうことがあれば、そうしたいと思っています。Linusが私に任せるというのであれば。
dW: それは、なぜ不確かなんですか。
Tosatti: Linusが別の人間にその仕事を任すのかどうかがわからないからです。私は、やりたいと思ってますけどね。
dW: Slashdotであなたのインタビューを読んだのですが。
Tosatti: ああ、例のSlashdotのインタビューですか。あれは、よくないですね。日に100回もインタビューを受けていた頃でしたから、「ああ、もうインタビューは勘弁してよ」っていう感じだったんです。だから、質問にすごく手早く答えてたら、それで怒らせてしまったんです。
dW: で、質問に、作業をもっと分かりやすい形で文書化する考えについてのものがありました。
Tosatti: changelogのことですか。
dW: ええ。何らかの形でそうした対応が可能だと思いますか。リリースごとにどんな点が変更されたのかが、もっとわかりやすくなるように。
Tosatti: なかなか難しいですね。開発者でない人に、個々のバグの修正内容をどうやって説明するんですか。簡単には行きませんね。たとえば、それが、SMPレースの修正だったとします。SMPレースのことを知らないエンド・ユーザーに、何を語ればよいのでしょうか。そういうユーザーにどうやって説明すればよいのでしょうか。非常に難しい話ですよね。それができれば良いと思いますよ。もっと時間に余裕があってchangelogの説明をもっと多くできればと思いますよ。でも残念ながらそんな余裕はありません。
dW: それを手伝ってくれるボランティアがいれば、受け入れますか。
Tosatti: 誰かボランティアでやりたいという人がいれば、喜んでお願いしますよ。
dW: 企業の開発者とは、たくさん付き合ってきたのですか。
Tosatti: ええ。彼らは非常に貢献しています。たとえば、IBMの人たちとか。
dW: あなたがこの仕事にとりかかったとき、そうした企業は、あなたのことを調べたりとか、何か特別なことをしましたか。
Tosatti: そんなことはなかったと思いますよ。IBMやSGIなどの会社の人たちは、管理者に選ばれる前から私のことを知っていましたが、そんなによくは知らなかったと思いますよ。でも、誰も何も聞きに来ませんでしたよ。
dW: これまでやってきたハックで一番自慢できるものは、どんなことですか。
Tosatti: さあ。全部を憶えているわけではありませんし。かなりの間ハイ・アベイラビリティーに従事していました。例のLinux HA Projectですよ。HeartbeatやDRBD (別のマシンにマウントされるブロック・デバイスのことです。ローカル・マシンとリモート・マシンの間で複製を行います)にも少し関わっていました。私がやったVMのハックが一番自慢できるかな。VMとか性能関係をいじるのが好きですから。
dW: では、Rik van RielのVMにも手を出したのですか。
Tosatti: ええ。でも、2.2の性能に関る部分もある程度扱いましたし、一般的なファイルシステムの部分にも少し手を入れています。一番自慢できるのは、ファイルシステムとVMの性能にかかわるハックですね。
dW: Alan Coxとは違いますね。彼は、ときどき、カーネルのリリースで政治的な表明を行っているようなところがありました。最近彼は、changelogのセキュリティー関連の修正を一部チェックして削除しましたが、これは、1998年制定のU.S. Digital Millennium Copyright Act [DMCA] (米国ディジタル・ミレニアム著作権法) への抗議とも思われることでした。一方、あなたは、自分のやっている作業に政治的な必要性なんかないと、言っています。なぜ必要ないのでしょうか。
Tosatti: 私は、Linuxを開発し管理することに努めるべきだと思っているからです。私の個人的なことをさしはさむべきではないし、問題をこじらさないほうが良いでしょう。これはLinuxの開発であって、政治は別問題です。Alanが提起したような政治的な問題がLinuxにあるのであれば、そんな方法で提案すべきではないんじゃないかと思います。
dW: どのように扱うべきなのでしょうか。
Tosatti: 問題によりけりだと思いますが、カーネルの開発と関係しないもっと別な方法で。
dW: このような主張を行うことのどこが問題なのですか。
Tosatti: 何も問題はありません。ただ、開発を遅らせるようなことはすべきではないと私は思います。Linuxの開発で最も重要なことの1つは、開発の速度だと思っていますので。私の個人的な意見によって開発を遅らせるべきではありません。
dW: わかりました。たとえば米国内にいることでchangelogを読むことができないとすれば、開発を遅らせることになりかねない、というわけですね。
Tosatti: ええ。
dW: それでは、こうした問題であなたはどちらの政治的な立場に立っているのですか。どんな問題に関心を寄せているのですか。
Tosatti: 私もこうしたことには関心をもってるんですよ。今一番大きな問題となっているのはDMCAだと思います。政治的なことすべてに目配りするほどの時間はありませんが、もちろん、開発者や研究者の脅威となるような問題には関心をもっています。
- 現在安定しているカーネルについて詳しく知りたい方は、2回シリーズの 「Linux カーネル2.4 の紹介」をお読みください。第1回では、Linux 2.4の生みの苦しみを紹介するとともに、このバージョンで提供されるものについて説明しています。第2回では、ポート、マルチメディア、ファイルシステム、バス・サポートなど、ハードウェア関係を説明しています (developerWorks、2000年8月)。
- High Availability Linux Projectの詳細については、HA Linux のホームページを参照してください。
- IBM製ハードウェアでの論理ボリューム、ジャーナル記録、Sambaの改善点、ATMネットワーキングについて習得したい方は、IBM RedbookRunning the Linux 2.4 Kernel on IBM xSeries Servers をお読みください。
- Tosatti氏は、カーネル管理の仕事を就いたとき、ある記事によると、700本近いマスコミからの問い合わせを受けています。
- Tosatti氏の2001年12月のSlashdotインタビュー。
- developerWorksに掲載されている他のLinux参考文献もご覧ください。
- developerWorksの他のオープン・ソース関連記事もご覧ください。
Robert McMillan氏は、フリーのジャーナリスト兼Linux Magazine の代表編集者です。Robertのメール・アドレスは、bob@linux-mag.com です。