「Linusと私の娘はよく似ている。2人とも、私にとって非常に大切で愛らしい(adorable)存在で、まったくもって天才としか言いようがない。そして2人とも私の言うことをいっさい聞かない」─5月30日、Linux Foundationのエグゼクティブディレクターとして日本のLinuxユーザにもおなじみのJim Zemlin氏は、東京・椿山荘で開催された「LinuxCon Japan 2013」2日目キーノートにおいてLinus Torvalds氏をこのように紹介しました。
Linuxの生みの親であり、誕生から20年以上経った現在もカーネル開発の最高責任者であり続けるLinus氏。ときどきメーリングリスト上で散見される過激な発言やZemlin氏の言葉からも想像できる子供っぽさも含め、全世界のLinux関係者が彼と彼の成果、彼の行動に対して深い尊敬の念を抱いています。これほどまでに開発者/ユーザから愛されているプロジェクトリーダーは世界でも稀な存在ではないでしょうか。そのLinus氏が2年ぶりに来日するとあって、キーノート会場には多くのファンが詰めかけました。
Linus氏のパートは、IntelでLinux/オープンソース部門のチーフを務めるDirk Hohndel氏がホストとなって、会場からの質問に対し、Linus氏が回答していく形で進められました。本稿ではそれらの発言を紹介しながら、開発者として、そしてひとりの人間としてLinus氏が愛される理由について迫ってみたいと思います。
──僕の重要な仕事はインテグレート。デフォルトではすべてのプルリクエストにYesと言いたいけど、それはできない場合のほうが多い。だからときどき、パブリックな場でちょっとだけ怒ることもある
Linuxカーネル開発は1つのバージョンが正式リリースされるまでに約10週間ほどを要するのが通常で、ほぼ週に一度の割合でrc版(りりーす候補版)が公開されています。そしてマージウィンドウのオープンからrc版、正式リリースに至るまで、どのパッチを優先し、どの機能追加を行うか、その決定はすべてLinus氏が行い、Linus氏が公開します。当然、Linus氏のもとに寄せられるメンテナーからのプルリクエストは膨大な数にのぼり、ときにはリリース直前にもかかわらず「こんな機能を追加したいんだけど、どうかな」といった乱暴なリクエストが来ることも。「そういうプルリクエストが来ると本当にイライラする。だから"悪いけどもう少しクリーンにしてから出してくれ"とできるだけプライベートにメッセージを送って対応している。ただ(マージ作業の最中など)ときどきパブリックな場で言葉を荒げることはある」とLinus氏。
新しいフィーチャーを求める気持ちは理解できるものの、カーネル開発で一番重要なのはサポートするアーキテクチャ上できちんとカーネルが動くこと。だから動作を不安定にさせるような追加を認めることはインテグレータとしては絶対に容認できないわけです。知ってか知らずしてかLinus氏の逆鱗に触れてしまったメンテナーは、毒舌で知られるLinus氏からそれこそ"パブリックな場でちょっとだけ怒"られる(≒ボコられる)羽目になりますので、気をつけたいものです。
──カーネル開発者にはたしかに日本人は少ないのでもっと積極的に参加してほしいと思う。でもパッチを持ってきてくれるなら小さめのやつでお願いしたい
Linuxカーネル開発者のほとんどは男性ですが「女性や若者が少ない状況についてどう思うか」という質問に対し、Linus氏は「女性はともかく、大学生や若い開発者はかなり増えてきている。この場所にはいないだけ」と反論しています。また女性の開発者については「もちろん増えたほうがいいとは思っている」とコメントしています。ただ筆者の見る限り、Linus氏はカーネル開発者の女性が増えること自体にそれほど関心を寄せていないように思えました。開発者が男性なのか女性なのかよりも、プルリクエストの内容やタイミングのほうがLinus氏にとってずっと重要な問題なのでしょう。
また米国や欧州に開発者が比較的偏っている状況についてはこれを認め、「日本人にももっとカーネル開発に参加してほしい」とのこと。ただしカーネルの肥大化を嫌うLinus氏のためにも、手持ちのパッチはできるだけクリーンな状態にしてから提供しましょう。
──ソフトウェアを作るためにはさまざまな役割の人が必要になる。だから自分の得意な分野だけでかまわないので積極的に貢献してほしい
「プログラマでなくとも貢献するにはどんな手段があるか」という質問に対するLinus氏の回答です。「僕が得意なのはコードを書くということ。それ以外はできない。だからサポートだったり、僕が苦手なGUIのデザインをさくっと書いて提案してくれたり、そうした行為のすべてが貢献になる」と改めてコミュニティへの参加を呼びかけていたLinus氏。ひとりひとりができることを持ち寄って作り上げていく ─オープンソース開発の原点がここにあります。
──不揮発性メモリの話はようやく多少の信ぴょう性が出てきたかもね。ただ本当に搭載したハードウェアが出てきても、ソフトウェアがそれに追いつけるようになるには相当時間がかかると思う
ときどきLinus氏も質問を振られるという不揮発性メモリについてですが、「もう何年も前から出る出ると言われていて、ずっと出てこなかったよね。だから今までは質問を振られても、いつも"そんなのわからないよ"と答えていた」と笑いつつ、「もし不揮発性メモリが登場してきたらファイルシステムの動きが大きく変わる可能性は高い。とくにディスクブロックの仕組みが変わりそう」と回答しています。
ひと昔前まではメモリサイズがいまよりずっと小さく、また高価だったため、実メモリの2倍ほどのサイズをスワップ(SWAP)領域としてディスク上に確保していました。ところがメモリの大容量化と低価格化によりスワップ処理のニーズは小さくなったかに見えました。しかし今度はSSDの登場でディスクの書き込み処理が大幅に高速化し、そのバランスを取るためにあえてスワップ処理を施しているというケースも見受けられるようになりました。ここで新たに不揮発性メモリを搭載したハードウェアが出てくれば、Linus氏が指摘する通り、ディスクブロックの仕組みは大きく変更するかもしれません。
もっとも「たとえハードウェアが本当に出てきたとしても、不揮発性メモリに最適化して、動作の安定性を心配しなくてもよくなる状態にするには相当時間がかかるはず」とも言っています。本当の勝負はやはり市場に実際に出てからなのでしょう。組み込みからスパコンまで、これまで多くのハードウェアにLinuxという汎用的なOSを提供してきたLinus氏にとって、不揮発性メモリであろうと十分に対応できる自信があるのかもしれません。
──OSの基本的なコンセプトは40年前とそんなに変わっていない。だから10年後、20年後も大きく変わるとは思えない
「10年後、20年後のOSはどのように変化していると思うか」という質問に対し、「OSの基本は70年代から変わっていないと思う。これはアプリケーションも同じ。GUIの登場で見た目は変わったけど、ファイルはファイル、ディレクトリはディレクトリでしかない」とのこと。OS作成者のLinus氏が口にするからこそ、非常に重みがあるフレーズです。もちろん先に挙げた不揮発性メモリの登場などにより、細部は変化していくものの「基本的なOSという概念は変わらない」というのがLinus氏の主張です。
OSが大きく変化しない理由をLinus氏は2つ挙げています。「ひとつはOSを変えるということは非常に苦痛を伴う作業だから。もうひとつ、どんな変化も理由があって起こるわけで、OSをOSのためだけに革新することに意味はまったくない」 ─意味のない変化は必要ないというLinus氏のポリシーを垣間見た気がします。
──僕にとって重要なのはアウトプットじゃなくインプット。だからどんなにデバイスが小型化してもキーボードは絶対必要
OSのコンセプトはそれほど変わらないという話を受けてHohndel氏が「でもGoogle Glassのようなデバイスが増えれば変わっていくのでは?」という質問を投げました。これに対してLinus氏は「Google Glassはいいね! すごく欲しい。小さなスクリーンがいつもすぐそばにある状態というのはすばらしいと思う」としながらも、プログラマである自分にとってより重要なのはつねにインプットできる環境 ─つまりキーボードの存在が欠かせないとしています。
「ケータイでメールを打つなんて本当にイヤ」というLinus氏にとっては音声入力も「音声でソースコードを編集したらつねに"Up! Up! Up!"とか叫んでいなきゃならない羽目になる」とまるで論外とのこと。PCの売上が落ちていてタブレットやスマホにまもなく抜かれるという調査結果をよく耳にしますが、Linus氏のような24時間プログラマにとってはキーボードのないデバイスがどんなに進化しても、あまりライフスタイルには関係ないようです。
──フィンランドのすばらしいところは教育が無料で自由であること。これはお金を払わなくてよいことが重要なんじゃなくて、だれもが教育以外のことにお金を使えること、そして学生がバカをできるリスクを取れることが重要なんだ。僕は8年半も大学にいたけど修士しか取れなかった。でもおかげでバカなこと ─つまりLinuxの開発に集中できたんだ
「日本や米国の開発者を見て、すぐれた開発者の教育には何が重要だと思うか」という会場からの質問に、Linus氏は「僕は日本の教育のことはわからない。自分が教育を受けたフィンランドと、娘たちの教育環境の米国を見て思ったことだけど」と前置きし、フィンランドで自由に振る舞えたおかげでLinuxが誕生したという話を披露しています。「もし米国だったら大学に8年半もいるなんて、お金がかかりすぎて絶対に無理だね」(Linus氏)
フィンランドからはLinux以外にも数多くのIT技術が生み出され、学生による起業も活発です。その背景にはLinus氏の語るようにフィンランドの自由な空気があります。人生の若い時期にリスクを取ること、Linus氏の言うところの"バカなこと"ができれば、たとえ失敗したとしても傷が浅くて済む場合が多く、違う道を探すことも容易でしょう。もちろんLinuxのように世界を変えるイノベーションに成長する可能性もあるわけです。Linus氏も「(Linuxがうまくいかなくても)コンピュータの修士号があればなんとかなることはわかっていた」と語っていますが、それも20代だからこそ取れたリスクだと言えるでしょう。
──Linuxを創造できたインスピレーションだって? 単に僕が若くてバカだったから。こんな大変な作業になるなんて当時は思いもしなかったからね
「何にインスパイアされてLinux開発を始めたのか」と聞かれたLinus氏。先のフレーズにもありますが、やはり若さというのはイノベーションの重要なファクタなのかもしれません。「誤解されることも多いんだけど、僕はプロプライエタリ製品も使う。それが良いものであればの話だけど。Linuxを作ったのは、プロプライエタリがあまりにも高くて、そしてひどかったから」とLinux開発の動機について語っています。
自分が使いたいものを自分で作り、みんなにも使ってほしくなったから公開したというLinus氏。好きなことをひたすらやり続けているうちに協力者が集まり、「気がついたら22年も経っていた」と振り返ります。Hohndel氏から「ビル・ゲイツになりたいとか、このソフトで儲けてやろうとか思わなかった?」と振られると「ビル・ゲイツ? なりたいわけないじゃん。僕はビジネスマンにはなれないのはわかっていたし」と笑いながら答えました。「このソフトをどうしたいとか、プランなんか何もなかった。でもオープンソースにして、みんなで作るようになってから、楽しさが加速した。ただひたすら楽しいからやり続けてきただけ。正直、お金のことはあまり考えなかった」というLinus氏のコメントに、オープンソース開発の原点があるように思えます。成功するプロジェクトは開発者本人がいちばん楽しんでいるというのも納得できます。
「僕ができるのはコードを書くことだけ」とLinus氏はところどころにこのフレースをはさんでいたのが印象的でした。天才的なプログラミング能力をフィンランドという自由な社会で開花させ、その人間的魅力も相まって数多くの協力者が彼のもとに集い、Linuxは世界でもっとも使われているソフトウェアプラットフォームに成長しました。もっともLinus氏自身は22年前からそのスタイルや信念をほとんど変えていません。むしろLinus氏の変わらない部分こそがLinuxカーネル開発の"核"となって人々を集め、Linuxの成長の源泉となっているのではないか、久しぶりに生のLinus氏を近くで見てそんなふうに感じさせられたすばらしいキーノートでした。