Linuxはコミュニティがポイント。初期から参加しオープンにやり取りする
IBM Open Systems Development Vice-President Daniel Frye氏
Jim Zemlin氏に「LinuxConに限らず最も人気のあるスピーカ」と紹介されたIBMのDaniel Frye博士は、Open Systems DevelopmentのVice-Presidentであると同時に、Linux Foundationの理事も務めている。Daniel氏は、「 10+ Years of Linux at IBM」という講演を行った。10年間、IBMがLinuxに取り組んだ上で学んだことを紹介するもので、何百、何千というエコシステムに参加しているIBMほどLinuxで成功したものはないと言われるが、そこで得た教訓を述べた。
1990年代中頃、インターネットが登場し、多くの企業がたとえ非効率であっても導入した。その後、個人レベルでもネットワークを利用するようになり、コミュニティの概念が変わった。以前は独立していたデベロッパがお互いにコミュニケーションを取り協力するようになり、特に日本、インド、米国、ハンガリーにおいて発達していった。この相互接続性がオープンソースのソフトウェアの劇的な増大が始まりであり、テコの支点のように機能した。
開発ツールやライセンスでもコミュニティが中心へと劇的に変化し、真の意味でのイノベーションが起きた。オープンソースコミュニティでは、特定の見方ではなく中立性が大事であるとして、ビジネスを変える原動力、革新する力になるとIBMは確信したという。
1998年9月、IBMは将来の大規模なコンピューティングのプラットフォームになるという位置づけでLinuxを社内で提案し、議論を開始した。企業内にチームを作り、コミュニティには参加しないもののLinuxの勉強を開始した。IBM内でもLinuxを聞いたことがないという人が多かった。何なのか、誰が作って誰が使うのか、誰がコントロールしているのか、正式に討論された。そしてIBM自体が大きく変わった。Linuxは先にお客様が使い始め、IBMも検討しながらついていく感じになった。
1999年3月、何も準備せずにLinux Worldに参加した。しかも、まったく知らないマーケティングの人間が参加したという。しかしそれでいろいろと学ぶことができた。1999年後半には、さらに業界に参入、Linuxコミュニティで開発やパッチなど行うようになり、自社でやっていくことに決定した。
そして、IBMはLinuxテクノロジーセンターを設立した。これはLinuxをより良くしていくことを使命としたもの。いろいろなコミュニティに参加しなければならず、中立の立場は異質だったという。それでも成功しようとしたとDaniel氏は言う。その結果、オープンソースコミュニティはひとつではなく、コミュニティによって様子がだいぶ違うことを学んだ。参加の仕方も異なっていた。さらに、教育面でのオープンソースの素晴らしさを理解した。そしてミスもあったが、RedHatやMozillaの人たちにも受け入れられた。
1999年9月にはストラテジを変更し、より真剣に取り組むことになった。Linuxのマーケットを検討し、ハードウェア、ソフトウェア、サービスにおいてマーケットがあると結論、投資も必要であると認識した。そしてIBMも徐々に信頼を得てきた時期であった。
2000年8月にはお客様も増え、テクノロジーセンターでKernelにも貢献できるようになった。そこでコミュニティに参加し、「 遅い」と言われながらもコミュニティの複数の部分で貢献できるようになった。そしてIBM全体として競争を促進するいいものであると認識したという。クライアントにとっても有効なものであり、価値をLinuxから得るとして、さらに本格化、加速をした。コントロールはしないが10億ドルの投資を行い、成熟の加速に貢献しようとした。
徐々に組織、ミッションが大きくなり、LinuxはIBMの中でも主要な開発ツールになった。プロダクション、アプライアンス、サーバ、IBM.comに至るまで、クライアントへアウトソースする際にもグローバルの一環としてLinuxに取り組んでいる。
続いてDaniel氏は、この十余年の活動を通して得た教訓を挙げた。まずは「初期から参入すること」 、そして「コミュニティに参加すること」 。しかも、グループではなく個人でコミュニティに入っていくことが重要であるとした。その際には、自分のことを充実させることも大事だ。コミュニティのルールを理解した上で、早めに目標を設定し迅速にパッチを投げていく。フィードバックを良く聞くことも忘れてはならないとした。
一番学んだのは「コミュニケーションは必ず外を経由させる」ことだったとDaniel氏は言う。スケーラビリティを高めるためにプロダクトを立ち上げ、メールでやり取りしようとしたが、コミュニティは動かなかった。実際にコミュニティの人と話す機会があったので相談すると、メールもミーティングもコミュニティのやり方に則していないと言われたという。そこでコミュニティ経由でやり取りするようにしたら徐々にスケールアップしていった。
また、コミュニティは「熟成させる」文化である。完成した後でコミュニティに伝えるのではなく、コードに手を加えた時点でコミュニティに持ち込み、反復によりコードを熟成させていく。さらに、コミュニケーションはオープンにする。必要なものすべてに参加する。助けてくれるところはあるので、それを受け入れてより良くしていく。批判から学ぶことも重要であるとした。
今、Linuxはビジネスの鍵となっている。Linuxは数10億ドルの収益をもたらすものであり、世界中のあらゆるところで使われている。IBMでは引き続き投資することでLinuxをグリーンなOSにしようと考えている。まだ使いづらい部分があることも事実だが、より洗練されたデスクトップなど、もっと成熟することで大きく成長できると思う、とLinuxの可能性触れてDaniel氏は講演を締めくくった。
「Kernel開発のモチベーションは?」イベントの締めはディスカッション
「LinuxCon Japan/ Tokyo 2010」では、3日間で大小70以上のセッションが行われ、立ち見が出るなど活況を呈した。すべてが英語によるネイティブセッションであり、日本からも日立、富士通、NEC、NTT、NTTデータ、ソニーなどがセッションを行っているが、そのすべてが英語により実施された。たとえば富士通のLai Jangshan氏による「RCU and Scalability」では、更新と参照の同時実行を可能にし、優れたスケーラビリティーとパフォーマンスを実現する同期機構「RCU(Read-Copy-Update) 」についてのプレゼンテーションが行われた。このプレゼンテーションでは、大規模システムでのRCUの効能、ユーザスペースのRCU、およびC言語の依存順序(C-Language Dependency Ordering)に対するRCUベースのアプローチについて講演した。
また、NECの柴田氏は「Statistic Analysis of The Linux Kernel Development」というセッションを行い、バージョンごとにLinux Kernelを分析、そのほとんどをドライバ、arch、fsの3つのディレクトリが占めていることや、ファームウェア自体は非常にコンパクトであること、またリリースのサイクルやパッチ、メーリングリストの数、機能の推移などの検証を行った。
日立の安井氏は「Development Status of LVM Mirror」というセッションを行い、デバイスの柔軟な管理が可能なフレームワークである「Logical Volume Manager Version 2(LVM2) 」の重要な機能のひとつ「LVMミラー」を紹介した。LVMミラーのアーキテクチャーとそのエラー処理メカニズムを説明し、発表者が関わってきた機能改善の詳細と、LVMコミュニティでディスカッション中の、既知の問題点を説明した。これらのセッションも盛況であったことは言うまでもないだろう。
最終日となる9月29日の最後のセッションは、「 Japanese Kernel Developer Panel」として、NTTのストレージ関連のリサーチエンジニアである藤田氏、富士通のメモリ管理のプログラマである亀沢氏、日立のトレーシング関連のリサーチャーである平松氏によるディスカッションが行われた。
左からNTT 藤田氏、富士通 亀沢氏、日立 平松氏
モデレーターはLinux Weekly NewsのJon Corbet氏が務めた。
モデレーター Linux Weekly News Jon Corbet氏
Jon氏はまず、Kernel開発に関わったきっかけを聞いた。藤田氏は「2003年頃にiSCSIが必要なケースがあり、Linux関連でサポートが必要になったことがきっかけ。その後はiSCSI以外のことも勉強するようになった」という。亀沢氏は「2004年からKernel開発に携わるようになった。当時は仕事を探している状態で、履歴書に『Kernel開発ができます』と書いたら富士通に採用された。ここ3年くらいはメモリ管理をやっている」と答えた。平松氏は「大学ではロボット制御のプログラミングにLinuxを使用していた。その後、就職後修飾語はトレーシング関連を主にやっている」という。
続いてJon氏は、これからコミュニティを始めたい人へのアドバイスを聞いた。これには「自分が本当に関心のある、取り組みたいことをアピールすべき。そのためには企業に勤めるのもひとつの方法(藤田氏) 」 「 LKML(Linux Kernel Mailing List)をよく読むこと。毎日800通からのメールが来るが、それをすべて読むこと。これを1年続ければ状況を把握できる(亀沢氏) 」といった答えがあった。
「コミュニティは世界規模だが、ディスカッションなど人と関わるときの文化の違いなどへの対処はどうしているか」という問いには、「 メールでのやり取りは、なかなか返事が来ないことがある。カンファレンスなどに積極的に参加して、チャンスを活かすといい(平松氏) 」 「 講演の際に『質問はメールで』などと言っても、特に日本人はメールで質問せず、講演の後で直接質問しに来たりする。日本人はシャイなのかも知れないが、パッチテストのレポートなどをきっかけにコミュニケーションを取り、そこから広げていくといいと思う(亀沢氏) 」などの答えがあった。
さらにJon氏は「3人ともKernel開発をしているが、無償で提供するものに対しての開発で、なぜ報酬がもらえるのか」という質問を投げかけた。これには「トレーシングは、トラブルの解決に役立つ重要なもの。開発をすることで、お客様の環境に問題が発生したときに、早急な解決が可能になる。そのサポートのクオリティ向上の対価と考えている(平松氏) 」 「 私の部署でメインフレーム向けの独自OSを販売していた関係で、上司は必要な機能を理解している。それを実装することへの対価がひとつ。もうひとつは、お客様からのニーズに応えていることだと思う(亀沢氏) 」 「 NTTでは、Linux Boxをさまざまなサービスに使用している。ストレージはそのキーフューチャーであるためだと考えている(藤田氏) 」といった答えが返ってきた。
開発を行う上でのモチベーションについての質問では、「 Kernel開発には、スキルの高い人や才能のあるプログラマが多い。こういった人たちと仕事をすること、付き合うことは自分にとって大きなプラスになる(藤田氏) 」 「 藤田氏と同じ意見。付け加えれば、Linuxは世界中のいろいろなところで使われている。NASAも同じシステムを使っていると考えると楽しい(亀沢氏) 」などの答えがあった。「 Linuxの時代が終わる可能性は?」という質問には、「 Linuxのようなものをこれから新しく作るのは難しい。誰かが新しいアイデアでインフラを実装する可能性はあるが、オープンソースであり続けると思う(平松氏) 」といった答えがあった。このほか、参加者からの質問にも答え、用意された1時間はあっという間に過ぎた。