Linux Daily Topics

2017年2月20日「信頼できる“メンテナーシップ”こそがカーネル開発を支える」 ―Linus、Linuxの25年を語る

Linus Torvaldsは2月15日(米国時間⁠⁠、米カリフォルニア州のリゾート地であるレイクタホで開催された「Open Source Leadership Summit 2017」⁠主催: The Linux Foundation)に登壇、友人でもあり、The Linux FoudaitonのエグゼクティブディレクターであるJim Zemlinのインタビューに答えるかたちで、Linuxカーネル開発への思いを語っている。

Zemlinは最初の質問で「オープンソースに関わったばかりの人々が驚くのは、Linuxカーネル開発のペースの速さとコードの量の膨大さ。1日に1万行が追加され、8,000行のコードが削られ、1,500~1,800行のコードが修正されている。これが毎日毎日続いている。こんな驚異的なペースの開発を可能にするシステムをどうやって作り上げたのか」とLinusに尋ねている。これに対しLinusは、⁠たしかにカーネル開発は(ほかのオープンソースに比べて)すこし特殊かもしれない」と前置きし、⁠25年間のカーネル開発の歴史でずっと課題になっていることのひとつが、⁠お互いのつま先を踏みつける連中⁠がいるということ。その解決のために僕らがやってきたのは、コードをオーガナイズし、コードのフローをオーガナイズし、そしてメンテナーシップをオーガナイズすることだった。だから組織の中のガン(pain point⁠⁠、つまりはコードの細かい部分に文句を言い続ける連中は基本的にいなくなるしくみになっている」と答えている。

現在、Linuxカーネル開発には5,000人を超える開発者が参加しているが、この巨大なコミュニティをLinusは、⁠モジュール化された複数の案件がパラレルに進行するソーシャルプロジェクト」であり、⁠個人の信頼関係をベースに構築されたネットワーク」と評している。⁠カーネル開発はすでに結果が決まっている"インテリジェントデザイン"じゃない。短い開発サイクル(8週間)でトライ&エラーを繰り返し、その繰り返しがLinuxカーネルを進化させる」とLinus。だからこそ、信頼関係をベースにしたネットワークでなければ無理な話だと強調する。

Zemlinが「カーネル開発者の90%が企業に属している職業プログラマ」という統計結果を引用すると、Linusは「僕が信頼しているのは個人であって、会社じゃない。その人物がどの会社に属していて、どこへ移ろうが関係ない」とコメント、あくまでも個人の能力と信頼関係のもとにつくられた"メンテナーシップ"こそがカーネル開発を支えているとしている。

この個人の才能と適性を見抜く力はLinusならではといえる。Zemlinが、Linusが作ったもうひとつのソフトウェアであるGitについて話題を振ると、Linusは「僕がGitのマスターだったのはたったの6ヵ月。あとはJunio(濱野純氏)という素晴らしいメンテナーにすべてを任せることができた。その後10年間、ずっとうまく回っている」とさらりと答えているが、数あるメンテナーの中から「全面的に任せられる人物」として濱野氏を見出したのは、コーディングとは別の、もうひとつのLinusの才能を如実に表している。

また10年前に機能にフィーチャーしたリリースから8週間ごとの定期的なリリースに変更したことについて「何年もひとつの機能にとらわれていた開発のプロセスから抜け出すことができた。期限を決めてリリースすることで、逆に開発がスケールする。この会場にいるみんなに言っておきたい。プログラミングはものすごくチャレンジングでフラストレーションがたまる作業だけど、期限内にやり遂げられたときの達成感はものすごく大きい。でもプロセスがうまく回らないことによる不満はそうはいかない。ただうざったいだけ(a pain in the ass⁠⁠」と強調している。

キーノートの最後、Linusは「この25年から思うところを言わせてほしい」として、Linusらしいいつもの毒舌で締めている。

「僕は"汗をかくことが99%、インスピレーションは1%(99 percent perspiration, 1 percent inspiration thing)"という考えの強い信奉者だ。それはどんなテクノロジに関しても同じだと思っている。だから(自動車やテレコムなどの)業界関係者がしょっちゅう使っている"イノベーション"という言葉は本当にくだらない(bullshit⁠⁠。イノベートなんて誰だってできるのに、わざわざ"考え方を変えよう"とか"ビッグイノベーションを!"とか、目を覚ませっての。マジで意味ないから。僕がさっき言った99%、それは仕事をきっちりやるということだ。僕はテクノロジ系のニュースが定期的に"コンスタントなイノベーションを! 新しいアイデアを! そしてレボリューションを起こそう! "と騒ぐのが全然好きじゃない。どうしてかというと、この手のインチキには"本当にやるべき仕事(real work)"が存在しないから。本当の仕事とはもっと細部に宿るものだよ。そう、こういうカンファレンスも"ビジョナリーなイノベーションが…"みたいな話じゃなく、もっと日々の作業に紐づいたこと ―自分が抱えている問題が何なのか、それを解決するにはどうしたらよいか、そういったことにフォーカスしてほしいね⁠⁠。

おすすめ記事

記事・ニュース一覧