LinuxCon Japan 2012 Preview

Linuxが開くテクノロジの進化から目が離せない ─LinuxCon Japan 2012 初日キーノート レポート

この記事を読むのに必要な時間:およそ 3.5 分

カーネルメンテナーはつらいよ?!

続いては,Linuxの著名なカーネルメンテナーで,このほどLinux FoundationのフェローとなったGreg Kroah-Hartman氏のお話。⁠What They Do and How You Can Help Them⁠(彼らは何をしていて,どうすれば彼らの助けになるのか?)というタイトルですが,ここで言う⁠彼ら⁠とは,Greg氏をはじめとするカーネルメンテナーの皆さんのことです。

Greg Kroah-Hartman氏。存在感あります

Greg Kroah-Hartman氏。存在感あります

冒頭Zemlin氏から⁠grumpy⁠(気難し屋)と紹介されたGreg氏は「私も好きでメールでブツブツ言っているわけではないんだ」と,カーネルメンテナーの日々の葛藤? について語りはじめました。Greg氏たちの元には全世界の3,000人近いカーネル開発者から続々とカーネル改良パッチが送られてきます。この2週間をとっても,実に487本のパッチを受け取ったというGreg氏。中には相当ひどいものも含まれています。そのうちいくつかを紹介しましょう。

  • 複数のメールに分けたパッチのうち何本かが届かない
  • “Signed-off-by"行がシグネチャについている(本来はパッチの先頭に入れるべきもの)
  • パッチを送ってきたメールに「confidential(機密⁠⁠」と書いてある
  • タブが全部スペースに変換されている(※メールをExchange Serverに通したときによく起こる)
  • インデントのスペースが削除されている
  • パッチのdiff出力がunified formatになっていない
  • ドライバディレクトリにパッチを作っている
  • /usr/src/linux-2.6.32(かなり古いバージョン)のパッチを作っている,しかもルートツリーに
  • 作っているのとまったく関係ないツリーにパッチを入れて送って来る
  • コーディングスタイルに従っていない,しかも確信犯
  • コンパイルを1回もしていないコードを送って来る
  • 3番目めのパッチでビルドが壊れるが,6番目のパッチで直す
  • 途中のパッチでビルドが壊れるが,あとで修復したパッチを送るとコメントに書いてある
  • 1本のパッチが4500行もある

まさに「こんなパッチはイヤだ」の大集合ですが,Greg氏によると「これでもいつもよりは穏やかな2週間だった」とのこと。⁠私にあなたのパッチを却下させる言い訳を与えないでほしい」と訴えるGreg氏は,カーネルパッチを送るときに次のような点を注意して欲しいと提言します。

  • コーディングスタイルを守る(チェックツールがあるのでかける)
  • そのパッチを送るのに適した人に過不足無く送る(これもチェックするツールがある)
  • メールに適切なSubjectを付ける(⁠⁠ドライバの問題を解決した⁠では何だかわかりません)
  • チェンジログのコメントは適切に
  • なぜそのパッチが必要なのか書く
  • 1つのパッチで変える部分は最小限に
  • 一目でわかるくらいシンプルに
  • 関係ない開発ツリーにパッチを作らないこと
  • 複数のメールに分けるときは順番がわかるように(送った順に届くとは限りません)
  • ちゃんとビルドできるものをください
  • できるだけちゃんと動くか確かめて
  • レビューしたコメントを無視しないで(こっちも時間かけてレビューしてるんです)
  • 戻したパッチを直して再送するときは理由を書いて(前回との違いがわかるように)

講演の最後に,MLであまりにも酷いパッチを送ってきた開発者に向かって暴言を吐いたGreg氏にLinus Torvalds氏がかけた言葉を引用し,結びの言葉としました。

Publicly making fun of people is half the fun of open source programming.

In fact the main reason to eschew programming in closed environments is that you can't embarrass people in public.

[以下筆者訳:間違ってたらごめんなさい]
オープンソースプログラミングの楽しみの半分は,公然とみんな(コントリビュータ)を笑いものにできること。でも実は,閉じた環境でプログラミングをさせない本当の理由は,人前でならみんなに恥をかかせなくて済むからだよ。

Linusさんも口の悪さでは引けを取らないと思いますが…,陰でブツブツ言うよりオープンな場ではっきり言う暴言なら建設的に作用することが多い,といったところでしょうか。

NO Linux, NO Cloud

初日基調講演の最後は,Linuxで最も成功を収めた企業,Red HatのCTO,Brian Stevens氏の登場です。2012年度の決算で11億3,000万ドルの売上を達成し,ビリオンダラー企業の仲間入りをしたニュースも耳に新しい同社ですが,今回はマイルストーンを達成した企業のトップが考える,Linuxビジネスの最前線についてのお話でした。

Brian Stevens氏

Brian Stevens氏

まず同社のこの10年を振り返り,当時の企業ユースでおもに使われていたUNIXワークステーションからどのようにシェアを取ってきたかについて語りました。UNIXワークステーションのハードウェアを新しいものに取り替えると,OS,ミドルウェア,アプリケーションとすべてを新しいハードに合うバージョンに入れ替える必要があり,膨大な費用が掛かります。

Red Hatはすでに安定して動いていて,バージョンアップの必要性を感じていない─むしろミッションクリティカルであるが故にバージョンが上がっては困るユーザがシステムをそのまま運用できるように,Linuxのバージョンを1つにロックダウンし,シングルバージョンで10年間サポートする方針を打ち出しました。ハードを最新のもの入れ替えてもLinuxカーネルやアプリのバージョンを上げずに使えるように,ドライバ類もバックポートして提供されます。

こうして同社のシステムをはじめとするLinuxが,世界中の多くのビジネスを支える存在になりました。現在,そして今後同社が力を入れているのはもちろんクラウド,仮想化の分野。OpenShiftなどのRed Hatのクラウド技術です。OpenShift上ではJava EEやJBossが標準で用意されます。ポイントはこれまでと同じく,今使っているシステムをそのまま移行できるようにする点です。

「エンタープライズとまったく同じ環境をクラウドで提供できる。何も変更することなくシームレスに移行できるのです」⁠Stevens氏)

一方,同社はLinuxのメインツリーをはじめ,Fedoraなど多くのオープンソースプロジェクトにもコミットしています。これらのプロジェクトで得られた知見を自社技術にフィードバックしつつ,コミュニティとともに成長してきた点を協調します。⁠このコミュニティモデルはどの分野にも応用が利きます。JBoss,仮想化,そしてOpenStackもすべて同じやり方で進めることができるのです」⁠Stevens氏)

OpenStackは今注目を集めているオープンソースのクラウド基盤技術です。Red HatもOpenStack FoundationのプラチナメンバーとしてIaaS管理ソフトCloudFormsなどを提供し,プロジェクトに貢献しています。⁠始まって2年くらいのプロジェクトですが,これもLinuxなしにはありえなかったものです。クラウドに関連する技術やプロジェクトはすべて,Linuxを前提としているのです」⁠Stevens氏)

画像

さらに注目を集め続ける「ビッグデータ」関連の技術として,昨年同社が買収したGlusterの分散ストレージ技術が紹介されました。⁠これは非構造化データ,つまり既存のデータベースに乗りにくいデータを集めるのに適したシステムです。まさに⁠Software as a Strage⁠な技術といえます」⁠Stevens氏)

新しい技術トピックをOSSコミュニティとともに発展させ,ユーザにはシームレスなソリューションを提供する。このある意味シンプルでぶれないビジネスモデルがRed Hatをビリオンダラー企業にしたと実感させる講演でした。

著者プロフィール

小坂浩史

gihyo.jp編集部 所属。最近では電子書籍の制作にも関わる。