millenium technology prize
linux

Linus Torvalds, 山中博士と並んでミレニアム賞のファイナリストになる

次の記事

どうやったら開発のコストを少なくできるか? 答え:コードを書かない

156px-Linus_Torvalds

フィンランドが隔年で授賞するMillenium Technology Prize(ミレニアム技術賞)の目的は、“生活の質を高めて持続可能な発展を目指す研究開発や創意工夫に褒章を与えること”だ。Webの発明者Sir Tim Berners-Leeは、2004年にこの賞を受賞した。今年のファイナリストは幹細胞の研究に貢献したDr. Shinya Yamanaka(山中伸弥博士)とLinuxの作者Linus Torvaldsだ。受賞者の発表は6月13日にフィンランドのヘルシンキで行われる。

プレスリリースには、こう書かれている:

のちにLinuxオペレーティングシステムとして広く使われることになる新しいオープンソースのコンピュータ用オペレーティングシステムカーネルを彼が作ったことを顕彰する。LinuxがWeb上で無料で入手できることはたちまち連鎖反応を喚起し73000人年に相当するその後の開発と細部的改良を導いた。今日では数百万の人びとがLinuxで動くコンピュータやスマートフォンやTivoのようなデジタルビデオレコーダなどなどを利用している。Linus Torvaldsの業績はその後の共有的ソフトウェア開発とネットワーキングとWebのオープン性に大きな影響を与えそのアクセス性を全世界的に拡大した。

先日、Linusにメールでインタビューすることができた。それがThe Chris Farley Show*のナードバージョンでなかったことを、祈りたいよ。〔*: Chris Farleyというおとぼけお笑いタレントが有名人たちに愚かな的外れの質問をして笑いをとる、というテレビ番組。〕


Scott Merrill: MacBook Airを使っておられるのは、静かで良質なコンピュータだからですね。なぜそれが、Appleだけなのでしょうか。ご自分の名声やお金の一部を使って、この状況を変えたいとは思いませんか?

Linus Torvalds: ぼくにハードウェアの設計をさせるなんて、それはないよ。ぼくはソフトウェアエンジニアとしてはまあまあだが、たとえばファッションセンスは世界的に評価されていない。白いソックスにサンダル姿なんて、どう見ても“デザインセンスが良い”とは言えないだろ。;)

でも確かに、AppleがMacbook Airでやったことを誰も見習おうとしないのは不思議だね。すでに発売から数年経つのに、そのほかのノートブックベンダたちは相変わらず、ぶざまな製品ばかり作り続けている。真似をしようとしたベンダはいるけど、あまり上手な真似とは言えない。薄くて軽いラップトップは、世界中の人が求めているはずなのにね。

でも、Appleでさえ、本当に良いと言えるのはAirだけだと思う。Appleのほかのラップトップはルックスは良いけど、ぶざまさでは他のベンダと変わらない。きれいな衣装を着ているだけだ。

“小さくて静かな”コンピュータに対するぼくの欲求は、相当ラジカルだと自分でも思う。それは、ラップトップにかぎらない。Intelがハードウェアのプレリリースをくれることがあるが、そのたびにIntelの連中が思い知らされるのは、ぼくの最大の要求が、デスクトップでも“ささやくように静かであること”だ。よくみんな、あんなリーフブロワー(落ち葉を掃除するための強力送風機)みたいな音を、我慢してるよね。

仕事場は、静かであってほしい。許されるいちばん大きな音は、猫が喉を鳴らすときの声ぐらいだね。旅行するときも、ぼくは軽装だから、1キログラムよりも重いラップトップはノーだ。今は11インチのMacbook Airを使っているが、まあ、1キログラムにかろうじて近い、とは言えるかな。

SM: すみません、さっきの質問の趣旨は、なぜ自分でハードウェアのデザインをしないのか、ではなかったのです。人は誰も、自分の長所に集中すべきです。ぼくが言いたかったのは、あくまでもLinuxの問題。つまり、ハードウェアのメーカーがLinuxを公式に認めるまでに、かなりの年月を要しました。今ではますます多くのOEM企業が、Linux対応を意識し、ときには目的としています。ですから、グローバルなLinuxコミュニティが、みんなの求めるもっと良いラップトップのデザインを業界に求めていくことが、できるのではないか。その運動をあなたご自身が主導することはないと思いますし、それは当然だと思います。でも、この問題に関して、何かご提案やお考えはおありでしょうか?

LT: Appleにそれができた理由は、よそ見をしなかったことだ。Appleに比べると、大手のコンピュータメーカーはSKUが無意味に多すぎる。SKUが少なければ、深く集中し、とことん製品企画を磨き上げることができる。そこらの平均的な製品に比べて、はるかに良いものを作れる。

Apple製品にもメモリ搭載量の違いとかはあるけど、HPやLenovoやToshibaのようなクレージーでワイルドな世界とはほど遠い。彼らほどむちゃくちゃな製品多様化をしないところも、やはり安全のために無難で退屈な品揃えをする。また、退屈のうめあわせのために彼らが作る奇怪な“デザイナーモデル”製品は、これまた明らかに製品企画の失敗だ。

Appleは、的を絞った集中力がすばらしい。Appleの歴史を見ても分かるとおり、それは決して平坦な道ではない。ちょっと前までは、いつ倒産してもおかしくないような会社だったんだ。いや、みんなそう感じていたはずだよ。集中を長期にわたって維持することは難しいから、多くの企業がそれをやらない。長期的に一貫して革新志向の企業は、つねにつぶれる危険性を抱えた企業でもある。

だから、集中はリーダーに根性がなければできない。ぼくはAppleファンではない…ひどい製品もあるからね。でも認めざるをえないのは、優秀なデザイナーがいるだけでは良い製品はできないこと。Appleが世間に示したのは、何よりも根性が必要であること。Jobsの本質は、まさにそれだね。

でも、ラップトップのことは、もう、比較的どうでもいいね。Macbook Airは革新的だったし、今でもそうかもしれない。しかし今は、ハードウェアに関しては何でもできる時代だから、良いラップトップを作るために天才は要らない。回転メディアは過去のものになりつつあるから、ハードディスクのスピンドルや、光学ドライブの馬鹿げたスピンドルがデザインの制約になることも、なくなるね。

過渡的には、大容量を安価に求めようとすると回転メディアで我慢せざるをえない。そういう製品は、しばらくは生き残る。しかしそれも、フラッシュメモリがもっと良質になり、安くなるまでだ。今すでに、SSDは革命的とはもう言えないけどね。とにかくこれからの標準のフォームファクターは、mSATA/miniPCIeだろうな。

しかもCPUが十分高速になれば、Macbook Airのようなフォームファクターがむしろ、ありふれたものになるだろう。Appleはその先陣を切った、ということだ。ぼくは自分が使うハードウェアに関して、ほかの人よりもうるさいほうだと思うけど、ノートブック市場はいずれ全体的に、ぼくが文句を言う必要のない、理想状態に達するはずだ。回転メディアがガチャガチャいってるでかいマシンのニーズは残るだろうけど、薄くて軽いマシンは今のような高価で特殊なものではなくなるだろう。

言い換えると、数年後にはMacbook Airのフォームファクターがふつうになる。革命的だった製品が、やがてスタンダードになるのさ。

たしかに、そのために要する時間は、もっと短くてもよかったとは思うね。薄くて軽くて静かという欲求は、Macbook Airが出る前からあった。だからAppleが作りだしたコンセプトではなくて、ぼくのコンセプトがやっと実現した、という感じで歓迎したんだ。

いろんな意味で、ぼくが本当に関心を持てるのは、物ではなくて、新しいことをやっている人間だね。たとえばRaspberry PIのコンセプトは、とってもいいよね。Macbook Airなんかとは、全然方向の違う革命だ。フォームファクターが美しい云々ではなくて、テクノロジの利用コストを極限まで下げる試みだ。まだ完成形とは言えないけど、あれで35ドルはすごいよ。数年後の姿が、本当に楽しみだね。

あれがおもしろいのは、コンピュータをプラットホームとして利用する技術開発を、世界中どこでも誰でもできるようになること。それぐらい、超安いことだ。もちろん教材としても良いけど、期待は、いろんな新しいおもしろいものの開発の量と速度が、これまでより一桁二桁も上がることだ。

かつては、ホームコンピューティングが相当安価になったから、それがぼくの人生を変えた。だから今本当に関心があるのは、ラップトップのデザインがどう良くなるかではなく、高性能なコンピュータボードがティッシュやコーラみたいに世界の隅々で大量に安く手に入るようになったら、テクノロジと開発の世界がどう変わるかだ。そう言う意味で、これからおもしろいのは組み込み開発の分野だね。

SM: あなたはほかのカーネルデベロッパやパッチの提出者たちに対して、とても厳しいそうですが、家でお父さんとしてもそうですか?

LT: どうかな。子どもたちはふつうに育っているし、家族内で厳しいルールを設けることが発育の害になるとは思わないな(バスルームで5分間反省という罰則もある)。愚痴を言ってはいけない、というルールもある。子育てには、厳しいルールもいくつかは必要だよ。

でも、たぶん、うちの子はごくふつうだね。いけないことをしたら、一日中バスルームに閉じこめるよ、と冗談半分で言っているけど、最近は全然、子どもにバスルームで反省をさせたことはないな。

仕事は家でしているけど、でも仕事をしているときのぼくは“父親”ではない。子どもたちもよく分かっていて、ぼくがコンピュータに向かっているときは邪魔をしない。邪魔をしたら叱られるだけだから。子どもが邪魔になるから家では仕事ができない、と言う人は多いけど、うちではそれはない。家で仕事をしていても、ごくふつうの家族だよ。(妻の)Toveが家にいて、家事も子どもの世話もみんなやってくれるから。

カーネルのデベロッパたちと対話するときは、ものすごく口が悪くなることもある。それがつい、子どもたちに向かうことも、ときにはある。でも子どもたちには、ハグやおやすみのキスもあるからね。カーネルデベロッパには、ハグやキスはないけど。

ぼくにののしられるより、ベッドで毛布をかけてほしい、と思ってるデベロッパはいるかな? いたら嬉しいけど、ぼくは少なくともそんなタイプのデベロッパではないね。

SM: ご家族はあなたのお仕事のことを、どう思ってますか? 何か、質問をされることはありますか?

LT: ずっとそればっかりやってるから、それが当たり前と思ってるんじゃないかな。それがお父さんのお仕事、と。娘は三人とも今のところ、コンピュータに関心がないようだ(ゲームやチャットやFacebookなんかはやってるが)。全員Linuxを使ってるけど、そのことを特別気にしている様子はないね。

SM: 日常生活の中で、たとえば子どもの学校などで、技術的な問題を扱うことはありますか? そんなときは、どうされてますか?

LT: おぉ、ぼくはどこかのサポート担当と思われたくないね。あり得ない状況だ。

もちろん家ではコンピュータのメンテナンスをするし、コンピュータといえば子どもたちのラップトップ…学校でも使っている…も含まれる。Linuxを使っているが地元の学区でもコンピュータ室でLinuxを使っているからとくに問題はない。Linuxだからといって、特別視されることは何もないね。

でもぼくという人間は、MISタイプじゃないな。関心もない。ぼくがおもしろいと思うのは、コンピュータの低レベルの部分だ。ユーザの問題とか、誰かがパスワードを忘れたとか、バックアップをしなかったとか、そんなごたごたには対応できないな。ドラッグやアルコールに逃げたくなる世界だよ、そんなの。

カーネルのプロジェクトでも、自分がいわゆる管理職じゃないことが、いちばん嬉しい。ロジスティックや人を管理しなくていい。技術的な問題だけを考えてればいい。プログラミングはもうそんなにしないし、他人が書いたコードをマージする仕事ばっかりやってるが、でも自分が管理職だとは思わない。あえて言うなら、“技術的指揮官(technical lead person)”あたりかな。

SM: これまで誰にも聞かれなかったことで、なにか、人びとに言いたいと思っていることはありますか?

LT: 人に伝えたい“メッセージ”などはない。過去にもなかった。ぼくがLinuxをやるのは、楽しくておもしろいからだ。また、オープンな環境で行う開発にはソーシャルな側面があり、それも楽しい。でも、ことさら人びとに言いたいことなどはない。

SM: 質問の仕方が悪くてごめんなさい。メッセージやスローガンのことをお聞きしたのではなくて、セレブとしてたくさんのインタビューを受けられると思いますが、同じ質問ばかりでうんざりされるのではありませんか? 彼らが決して聞かないようなことで、逆にあなたから伝えたいことはあるか、という質問をしたのです。

LT: うーん。楽しめるインタビューといえば、コンピュータのことをあまり知らないけど、やたら攻撃的、という人からのだね。ソビエト崩壊直後にぼくにインタビューしたロシア人の経済ジャーナリストは、Microsoftと金儲けと資本主義を大絶賛していた。経済ジャーナリストは全員が、ウォール街を賞賛しているのかもしれないけどね。

そいつとのインタビューがおもしろかったのは、ぼくが論争好きだからだろう。そういう人間に、オープンソースの有効性を説明したり、あんたが憧れるMicrosoftや金儲けよりもこっちのほうが良いことを理解させようとしたりするのは、おもしろい体験だった。彼を説得できたとは思わないが、とにかく記憶に残るインタビューにはなった。

でも、とくに聞かれてみたい質問はない。個々の質問が、おもしろいと思ったことはないね。楽しいのはプロセスと議論と、インタビューにおける思考や話題の流れだ。“良い質問”もなければ、“それを聞かれたら言える良い答”というものもない。だからあなたのさっきの質問への答を、ぼくは持ち合わせていない。

しかしあえて言うなら、ぼくの場合それは、ソフトウェア開発においても同じだ。やはり、好きなのは*プロセス*。ソフトウェアを書くことが楽しい。何かをもっと良くすることが楽しい。いろんな意味で、最終結果は重要ではない。それは経験全体の口実にすぎない。Linuxも、最初からOSという「物」を目標にしたのではなく、当時、自分が取り組めるおもしろいプロジェクトが欲しかっただけだ。

さらに一般的に言えば、もっとおもしろいのは、個々のソフトウェアを改良することよりも、改良の仕方や書き方を改良するほうだ。ソフトウェアを作る工程(プロセス)を、慣れてるやり方から変えることには苦痛もあるが、でも得られる成果が大きいことも多い。たとえば”git“を作ったのも、そんな動機からだ。さらに、一般的にオープンソースは言うまでもなく、“プロセスモデル”の変化の大きな成功例だ*。〔*: 開発プロセスそのものが変わった、ということ。〕

だからぼくのモデルは、“結果が良ければどんな手段方法でも正当化される(“end result justifies the means”)の真逆だ。それ(オリジナル)はとんでもない、人類の歴史上もっとも愚かな説で、悪い行動の言い訳だから、ぼくなら絶対に言わない。しかも、物事の本質を見間違えているから、最悪の説でもある。

重要なのは結果ではなく、途中の手段方法だ。重要なのは、旅程だ。最終結果はほとんど無意味だ。ものごとを正しくやれば、最終結果も当然良いだろう。でも本当の楽しさはやることにあり、結果にはない。

20年経った今でも、何かを“やってる”ことが幸福なのであり、その先に見える結果が嬉しいのではない。

SM: Linuxの歴史を振り返って、コードというより意思決定の場面で、大きく後悔したことはありますか?

LT: 技術的な意思決定は通常、問題ではない。たしかに間違った意思決定もたくさんしたが、しかしその時点ではそうすべき理由があったのだ。しかも、技術的な意思決定は、間違いを自覚したときに直せる。“ひでえ間違いをしちゃったなぁ”と思う場面はしょっちゅうあるが、ひどい間違いほど気づくのも早いし、したがって直せるのも早い。

今でもおぼえているひどい例は、Linux開発のごく初期に、メインのハードディスクに対して自動ダイヤルをするコードを、書いてしまったことだ。モデムの回線で大学に自動ダイヤル*した*つもりでね。その結果、当時のぼくのMinixのセットアップがモデムのATコマンドの書き込みで全部消されてしまった。

それが、(Minixから)Linuxに全面移行するきっかけになったから、Linux開発史の大事件だよ。1991年だったな。

SM: 誰かに賞をあげる立場だったら、誰に、何について、あげますか?

LT: ぼくは今でもコンピュータ人間だから、ヒーローはやはり“本物の科学者”だよ。誰でもいいのなら、たとえばRichard Dawkins(リチャード・ドーキンス)、それまでの非科学的で混乱した思考に、大きな一撃を食らわしたからね。

SM: Millennium Technology Prizeの授賞式は6月13日ですが、たまたまぼくの誕生日なので、ディナーパーティーであなたの隣に座りたいな。 😉

LT: きみにそんなことを言われるとは、思ってもみなかったよ。妻が承知しないと思うね。

SM: ぼくの妻もね。でも、あなたは後悔するかも! :)

SM: メジャーなディストリビューションの中で、正しいやり方をしてるのと、逆にまずい点は何でしょう? 最近Google+で、OpenSUSEのセキュリティ方式を批判しておられましたが、あれにこの質問の答のヒントがあるようです。フォーマルなディストリビューションは、必要悪でしょうか? あなたが影響を与えたディストリビューションは、ありますか?

LT: ぼくは、どんなディストリビューションでも*愛してる*よ。ぼくにやる気のないことを、全部やってくれてるからね。しかもディストリビューションは、非常に初期からカーネルの偉大なる支援者だった。(ぼくも含めて)技術者が絶対に気づかないようなことを、指摘してくれたから。使いやすさとか、国際化、パッケージング、Linuxの日常利用を快適にすること、などなど。

Linuxが成功したのも、ディストリビューション様のおかげだ。しかも、すごく初期からあるからね(最初のディストリビューションは92年にフロッピーで提供された)。

だから、必要悪どころか必要善だよ。技術的にも、また使いやすさや近づきやすさの点でも、Linuxの今ある姿を作ったのはディストリビューションだ。

重要だからこそ、これは進歩じゃなくて退歩だなと思うものにぶつかると、いらいらする。SuSEを批判したのは、技術系でないユーザに、パスワードに関する、技術系でないユーザが知る必要のないことを、しかもその必要のない状況で、要求しているからだ。ユーザを敵に回すような愚行は、慎むべきだね。Ubuntuをけなす人がいるけど、ぼくはUbuntuの方向性は正しいと思う。しかも非常に、ユーザ中心主義だから。

GNOME 3の(2からの)変更の多くも、いらつくね。彼らは整理魔になってしまって、分かりやすさや使いやすさを犠牲にしている。単純で平凡なことを、どうやればできるのか分からない場面が多い。ミニマリスト*になることが、進歩ではない。UIの専門家たちが、思想を誇示しているだけだ。その結果、使いづらくなっている。“これまで簡単にできたものが急にできなくなる”のは、進歩ではなく退歩だから、いらつくよ。〔*: minimalist,少ない/小さいことは良いことだ主義。〕

ぼくがディストリビューションに与えた影響、という質問だけど、現実はその逆だね。ディストリビューションがカーネルに大きな影響を与えている。それは、大量のエンジニアを起用することだけではない。ディストリビューションを見ると、カーネルのどの部分がどのように使われるのかが分かる。そこから、新しい機能のアイデアももらう。新しい機能の提案も、ディストリビューションがすでにそういうことを独自に実装していれば、採用の弾みになる。

ぼくが何をどうマージしているかは、ディストリビューションに対するぼくからの影響と言えるかもしれない。でも、カーネルの新バージョンの最初のユーザはディストリビューションだから、そのリリースの時期もディストリビューションに合わせることがある。彼らはリリースのスケジュールをその1〜2週間前に教えてくれるから、そこが、難しいことはそろそろやめて、信頼性を優先しよう、と思う潮時になる。

たとえばLinuxが“ノーリグレッション(no regressions)”ルールを厳密に守っているのも、ディストリビューションも含む最終ユーザが、アップグレードを不安に感じないためだ。つまり、これまで何かが、あることをあるやり方でずっとやってくれていたのなら、それはそのままの状態を全力で維持する、という開発方針だ。たしかにバグもあるし、ユーザに気づかれない変更もある。でも全体的には、人びとがなるべく苦痛なくアップグレードできるような、カーネル開発を心がけている。〔余計な訳注: GNOME 3の例に見られるように、ディストリビューション側がリグレッションやってユーザを困らせる例は多い。〕

アップグレードが苦痛だと、みんなアップグレードしないからね。

SM: 20年やってこられて、最近のカーネル貢献者に新しい収穫はありましたか? スターになりそうな人とか? あるいは、若手の貢献者の資質や考え方に、問題を感じますか?

LT: ずっと大きなデベロッパベースを維持できていることは、とてもハッピーだよ。各リリースごと(約3か月間隔)に、1000人以上増えるからね。たった1行の変更を加える程度の貢献が圧倒的に多いし、その小さなフィックスをやったら二度と音沙汰なくなる人もいるが、その1行が貢献の始まりだった、という人も多い。

20年で大きく変わったことといえば、進行中の“プロセス”の数がとても多くなったことだ。多くの1行貢献者たちは、ぼくの目に直接触れることはない。サブメンテナなどなどの層が何重にもあって、彼らはそこのどこかにいるんだよ。ぼくが“未来のスター”に気づくころは、彼らはそれまですでに、小さな変更を長年やっているのさ。

避けられない問題もある。カーネルがどんどん大きくなり、コアのコードもすごく複雑化して、全体を理解するのが難しいこともある。VMサブシステムやVFSレイヤなどのコア領域は、新人デベロッパの手には負えない。だから、コア部分をやりたい人にとっては、敷居が高くなっている。10〜15年前に比べて、バーの高さが上がったんだよ。

でも、以前だって、参加が容易だったわけではない。コアでない周辺部分から始めるのが、よいだろう。カーネルデベロッパの多くが、最初は特定のドライバとかプラットホームを手がける。そしてそこから、“育って”いく。今デベロッパの数はとても多いけど、とくに、カーネルに関わっている人が多いことが、ほかのオープンソースプロジェクトのメンテナから見て、うらやましいらしいね。

SM: モチベーションの持続が難しい、と言っておられましたが、世の中に技術的チャレンジがいろいろある中で、あなたや彼らがカーネルに固執する理由は何でしょう?

LT: ぼくの場合は、性格が、花から花への蝶々ではないせいだな。Linuxばかりやっているのは、始めた以上はとことんつきあいたいからさ。

ハードウェアとの低レベルの対話が、コンピュータのいちばんおもしろい部分だと若き日に思ったのだから、取り組む対象は必然的にOSのカーネルになる。おもしろそうな技術的チャレンジはほかにたくさんあるけど、ソフトウェアとハードウェアの低レベルの対話にはまってしまったら、オペレーティングシステムのカーネルほどおもしろいものは、ほかにないのさ。

SM: Linuxカーネルが支えるシステムやアーキテクチャが増え続けていますが、それら固有の開発は意識しますか?(特殊なハードウェアの入手とか)。さまざまな変更リクエストが舞い込むと思いますけど、どうやってそれらを評価しますか?

LT: ああ、それなら答は簡単。意識も評価もしないね。

全体のモデルは、デベロッパたちの信頼のネットワークの上に構築されている。信頼は長年かけて築かれたものだ。Linuxがサポートするすべてのプラットホームを、われわれがテストするなんて、とてもできない。マージされる一つ一つのコミットをチェックできないのと、同じだ。それに、そういう個々のハードウェアや変更をチェックしたいとも思わない。オープンソースと分散開発の精髄は、ワンマンではなくみんなでやることにある。“最高レベル”のメンテナが数十人いて、いろんなサブシステムの面倒を見ている(例: ネットワーキング、USBドライバ、グラフィクス、特定のハードウェアアーキテクチャ、などなど)。その彼らですら、自分の領域のすべてを試験することはできない。たとえば、そんなハードウェアが手元にないとか、状況はいろいろだから。ぼくは彼らを信頼しているし、また彼らは一緒に仕事をしている連中を信頼している。

ビッグプロジェクトの成功の鍵は、信頼できる人を見つけることだ。そしてその信頼に依存すること。ぼくは、人の重箱の隅を管理(micro-manage)したくない。したくても、できないけどね。

優秀な人たちの中でも、とくに重要なのが、“センスのいい人”(good tasteの人)だ。なかなかいないけど、いればすぐ分かる。ぼくの最大の成功は、Linuxそのものではない。gitの上でJunio Hamanoを見て、こいつはいいデベロッパだ、とすぐに分かる才能。彼を信頼してLinuxのメンテナを頼める資質というか性格。人を信頼してまかせることのできる能力が、とっても重要だ。それだけの信頼がなければ、ビッグプロジェクトは成り立たない。


賞金をもらったら何に使いますか?
“子どもたちの教育費の心配をしなくてすむように、なるかもね”。

ぼくの取材に応じてくれてありがとう、Linus。受賞を祈ってます。

写真クレジット: Wikipedia

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))