KubeCon NA 2020で語られたオープンソースに貢献する意味・メリットとは?
今回は、KubeCon+CloudNativeCon NA 2020で行われたオープンソースプロジェクトに貢献する意義を解説したセッションを紹介する。これはUnlockOpenというコンサルティング会社の代表を務めるTobie Langel氏が行ったセッションだ。Langel氏はコンサルタントとしてMicrosoft、Google、Intelなどのクライアントと仕事をした経歴を持ち、Facebookに所属していた時はW3CにおけるFacebookの代表として活動をしていたという。
セッションへのリンク:Making the Business Case for Contributing to Open Source - Tobie Langel
セッションのタイトルは「Making the Business Case for Contributing to Open Source」であり、オープンソースを使うだけではなくプロジェクトに貢献することのビジネス上の意義を解説するものだ。テクニカルな解説やデモが中心となるIT系のカンファレンスでは、少し毛色の違った内容となった。
このスライドで引用されているのはMarc Andreessen氏がWall Street Journalに2011年に語ったコメントの「Software」を「Open Source」に改めたもので、すでに多くのソフトウェアの中にオープンソースソフトウェアが含まれていることを、「97%のアプリケーションにオープンソースソフトウェアが含まれている」というBlack Duckの調査から紹介した。
このスライドでは、単に利用するだけではなくオープンソースソフトウェアに対して貢献を行う際の理由付けを問うもので、「常識として良いことだから」「正しいことだから」などが挙げられているものの、ビジネス上の理由が挙げられていないことがわかる。ちなみに「The Right Thing to Do」は1972年のカーリー・サイモンのヒット曲のタイトル、「Pay it forward」は2000年のヒット映画のタイトルから取られているようだ。
そしてオープンソースソフトウェアに貢献することに対するマイナスを挙げ、常識で考えれば「貢献しない」という選択肢になるだろうと説明した。ここではマイナスのポイントとして「ノウハウがない」「リスクが増える」「リソースの無駄」「知的財産の損失」「競争力を失う」などが挙げられている。
ここでもわかるように、オープンソースソフトウェアを使う、消費する利点は理解されているが、それに貢献する利点は理解されていないとして、ここからそれを解説するフェーズとなった。
このスライドに鮫の写真が使われている意味は、「実際に鮫に襲われて死亡するリスクは蜂に刺されて死ぬリスクよりはるかに少ない」ことだとして、人々は鮫に対して過剰な恐怖を覚えることを説明した。そして同様に、オープンソースソフトウェアに貢献すること自体のリスクが過大評価されていると強調した。
ここからは戦略的な価値、運用的な価値、付加的な価値の3つの観点からオープンソースソフトウェアに貢献する意味を解説した。
このスライドではGoogle、Intel、Red Hat、Facebookを例に挙げて、それぞれの企業の本業とそれぞれの企業が貢献しているオープンソースソフトウェアを挙げ、本業を補完する役割としてのオープンソースソフトウェアを解説している。
例えばGoogleの本業は広告だが、Chrome Webブラウザーのオープンソース版であるChromiumや、スマートフォンのOSのデファクトスタンダードであるAndroidといったオープンソースソフトウェアも手掛けている。そのどちらも、広告を載せるプラットフォームとして重要と言えるだろう。
Intelの本業はCPUを始めとしたチップだが、そのチップを稼働させるエンジンとしてのLinuxに大きな貢献を行っている。Red Hatの本業はオープンソースをパッケージし、サービスとサポートを提供することだが、そのコアとしてLinuxは重要だ。Facebookの本業は利用者から生み出されるデータを使って広告枠を売ることだが、そのためには大量のデータを処理できる膨大なサーバーを安価に実現することが必要だ。それぞれの本業を補完し、強化するためにオープンソースのコミュニティを利用しているとも言える。
2つ目の観点である運用上の価値に対しては、レガシーなシステムをメンテナンスするソフトウェアエンジニアにとっては理解し易い「技術的な負債(Technical Debt)」という概念を用いて解説を行った。
このスライドで使われているような複雑に絡み合った電線のようなシステムをメンテナンスするような場合、利用するだけではなく貢献することによって、内部の構造やアーキテクチャーをより深く理解することができる。その結果、負債を返上することが容易になるというロジックだ。
そしてこのスライドで使われた例は、Facebookがオープンソース化したJavaScriptのライブラリーであるReactを挙げ、業務として利用しているソフトウェアをオープンソース化することで、品質の向上とその他のプロジェクトに発展的に拡大したことを解説した。ここで単に使う&作るだけではなく、公開&共有することで大きな価値が生まれることを強調した。またFacebookは、コミュニティからReactに精通したエンジニアを雇うことが可能になったとして、Facebookに所属していた当時の経験を活かしたコメントをしていた。
最後のパートは、エンジニアの活動を模式化して解説することから始まった。ここではソフトウェアエンジニアに問題とコーヒーを与えるとコードが生成されるが、副産物としての皮肉/批判(Sarcasm)が生まれることを解説した。
この場合、Sarcasmの意味はそれほど重要ではなく、「副産物がある」という部分が重要だ。複数のエンジニアがオープンソースコミュニティとして活動することで対話やコードレビューなどが行われ、その副産物として単に皮肉や批判以上の価値のあるモノが生まれるというのが、Langel氏の主張のポイントだ。
特にコード品質の向上やベストプラクティスの共有などは、バックグラウンドが違うエンジニアにとっては大きな価値があるだろう。その中でそれらの副産物をカテゴリー別に整理したのが次のスライドだ。
複数のソフトウェアエンジニアがオープンソースコミュニティで協力することで、個人、チーム、プロジェクト、組織のそれぞれに大きな利益があることを紹介した。例えば個人にとっては、レベルアップや良いポジションへの転職の可能性が高くなるといった点などが挙げられた、また組織にとっても、社内文化やモラルの改善、より良い才能にアクセスできることなど利点は多いと言える。
このスライドで引用されている「オープンソースに貢献する組織は、使うだけの組織よりも倍の生産性がある」というコメントは、ハーバードビジネススクールのFrank Nagle教授の論文からの引用だ。
このスライドではFacebookのリクルーターのコメントとして「新たに雇われたエンジニアの75%がFacebookによるオープンソースへの貢献を知っており、それが転職の大きな理由となったこと」を挙げているとして、組織がオープンソースに貢献することがエンジニアにとって重要であることを示している。
またリスクの一つとして挙げられていた「競争力を失う」ことについては、北米のプロアイスホッケーの大スターWayne Gretzky氏の有名なコメント、「I skate where pack is going to be, not where it has been」を例として挙げた。これは「凡庸なプレイヤーは今パックがある所に行こうとするが、私はパックが行くところを予想してそこに行く」という意味だ。競合力を強めるためには、常に先行していなければいけないという意味だろう。多くのイノベーションがオープンソースをコアにして行われていることを前提にすれば、オープンソースに貢献することで、より速くイノベーションを起こせると言う意味とも取れる。
このスライドは自社が開発したソフトウェアをオープンソース化することで「知的財産の損失」となるというリスクについて解説したもので、コメントはNew York Universityの教授でFacebookのChief AI ScientistでもあるYann LeCun氏の発言だ。ここでは「現代のインターネットサービスの進化のスピードを考えれば、知的財産を所有することは、研究の結果を製品として素早く世に出して、スケールさせることよりも重要性は低い」という意味だ。ソフトウェアを知的財産として守ることに時間とコストを掛けるよりも、オープンスースとして公開し、素早く実装することのほうが大事だという、いかにもインターネットサービスの現場を知る研究者らしいコメントと言える。
最後にまとめとして、ビジネスのトレードオフとして考えることと、利益と損失を考えた戦略の必要性を訴えた。さらに「小さく始めること」「マインドシフトが重要であること」などを付け加えて、セッションを終えた。
日本では、事業会社もオープンソースソフトウェアの消費者としてフリーライドする傾向にあり、エンジニアにとって社外のエンジニアと交流したり、自社製ではないソフトウェアに時間を使ったりすることの価値があまり理解されていないというのが現状だろう。
企業によっては特許を申請することがキャリアアップの条件になっていることもあるだろう。しかし進化が早いソフトウェア業界では、知的財産を守るために人的資源を使うよりも、公開することで無駄なコストを省いて品質を上げるほうが、トータルで見れば利益を最大化できる。管理職や経営層はこのことを理解するべきだ。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- LinuxCon ChinaでMicrosoftのエンジニアが説くオープンソースプロジェクト成功のポイントとは?
- オープンソースを活用する企業にオープンソースプログラムオフィスは必要か?
- CNDT2020シリーズ:オススメのGitOpsツールをCAのインフラエンジニアが解説
- eBPF Summit、Verizon-Mediaが利用するKatranのセッションを紹介
- Open Source Leadership Summit開催 FoundationモデルはOSSのインキュベーションのコアとなる
- GitHub UniverseでMSのエンジニアが語った「共有と協力」への険しい道
- Zabbix Conference Japan 2023からZabbix日本代表によるセッションを紹介
- CloudNativeSecurityCon開催。シアトルで2日間行われたセキュリティ特化のカンファレンスを紹介
- LinuxCon+ContainerCon+CloudOpen China開催。中国企業の存在感が大きかった初日
- IBMのJeffrey Borek氏にインタビュー。OSPOに関する課題と未来を考察