OSSと上手に付き合う方法① ~攻めは最大の防御なり~

 

攻めは最大の防御なり

OSSを活用するということ

---------------------------------------

OSSを活用されている場面がずいぶん増えてきたように思いますが、活用するユーザは、OSSを活用するということについてどのように考えているのでしょうか︖
まず、メリットとして、導入コストや運用保守コストを削減できるという「コスト削減」を一番に挙げることが多いと思います。そのほかにも、ベンダー依存体質を排除できるということで「ベンダーロックインからの解放」というメリットを挙げることもあると思います。最近では、新しい技術がOSSから始まることもあり、「最新技術の活用」という側面もあると思います。
しかしながら、このようなメリットだけではなく、OSSを活用することに対して不安を感じるユーザが多くいることも事実です。例えば、「緊急時のサポートが迅速に受けられない」とか「ベンダーやSIer のサポートが継続して受けられるかどうか不安がある」などになります。また、セキュリティの脆弱性に対する対応が迅速に行われないのではないかという不安や、OSSの最大の特徴でもあるライセンスを理解するのが難しいことや特許などで訴訟を起こされることへの不安もあります。
スキャンツール等を活用し、事前にOSSライセンスと脆弱性の確認をすることは必須条件といえます。

 

OSSサポートの不安

---------------------------------------

これらの不安の中で、ここでは「サポートの不安」について考えてみたいと思います。
そもそもOSSの開発主体はコミュニティになります。会社組織ではありませんから、責任の所在が明らかではないと考える人もいると思いますが、Apache Softtware Foundation(ASF)やLinux Foundation(LF)の傘下で開発されているOSSに関しては、迅速に対応しなければ、その組織から除外されることがあります。
また、2014年に起きた「Heartbleed」の件(*1)では、そもそも「OpenSSL」をフルタイムで開発していたのが経済的な理由で一人になってしまい、手が回らなくなってしまったという事例もあります。
しかし、これに対してLFが資金面で援助するために「Core Infrastructure Initiative」を創設し、多くの企業が参加することで、この問題は解決されつつあります。

 

コミュニティへの積極的な参加

---------------------------------------

しかし、本質的には、コミュニティが開発したものを単に活用するだけでは、解決しない問題が多く存在します。この問題を解決するための最大の対策が「コミュニティへの積極的な参加」であることを紹介したいと思います。
まず、「コミュニティへの積極的な参加」が有効と書きましたが、これは必ずしもソースコードを書くことだけではありません。それでは、コミュニティ活動には、どのようなものがあるのでしょうか︖
簡単にまとめたものを下図に示します。

この中で、まずOSSをテストし、テスト結果やバグを見つけたらレポートすることなどから始めるのが簡単なのではないでしょうか︖
とはいっても、企業としてOSSコミュニティに参加することで得られるメリットがなければいけません。

 

コミュニティへの積極的な参加

---------------------------------------

企業にとってのメリットを以下でご紹介します。

 

◆ 優秀な人材を引き付けられる
OSSプロジェクトを知り尽くしている人材を見つけ出すための最良の場所は、そのプロジェクトのコミュニティです。コミュニティで公に仕事をすることにより、自分が好きなOSSプロジェクトで働いて報酬を得ることができるということを知った人々を引き付けることができます。

 

◆ メンテナンス コストを削減する
OSSプロジェクトに対して行ったバグ修正や機能追加をアップストリームプロジェクトに速やかにフィードバックしてこなかった企業は、後にアップグレードする際、アップストリームの新機能を追加したり、セキュリティ フィックスを適用したりすることが非常に高いメンテナンス コストを必要とし、それは大変な作業になることに気づくことになります。変更をアップストリームプロジェクトにコントリビューションして戻すことにより、追加のメンテナンス コストを必要とせずに、変更が自動的に将来のアップデートに含まれることになります。

 

◆ プロジェクトの方向性に影響を与える
OSSプロジェクトでは、新しい機能追加はコントリビューションの形で行われ、これらのコントリビューションがプロジェクトの方向性に影響を与えます。企業にとって重要な機能をプロジェクトに追加したい場合は、それを実現するための変更をコード実装できる活動的なコントリビューターが必要になります。その変更がプロジェクトの目標と一致している限り、コントリビューションを通して、プロジェクトの方向性にある程度影響を与えることができます。

このようなメリットが考えられますが、ここからは、具体的にOSSコミュニティへ積極的に参画することで、ビジネス上メリットを得た企業を紹介したいと思います。

 

サムスン電子の場合

---------------------------------------

米国の非営利団体であるLinux Foundationが発行している「Linux Kernel Development Report(*)」によると、2017年には、Linuxカーネルの開発者のうち、80%以上の開発者が企業に雇用されており、業務の一環としてLinuxカーネルの開発をしています。また、所属が「なし」もしくは「不明」の開発者の割合が、2011年︓18.9%、2012年︓17.9%、 2013年︓13.6%、2015年︓12.4%、2017年︓ 8.2%と減少しています。このようにLinuxカーネルは、ボランティアベースの開発というよりも企業活動としての開発という側面が強くなってきています。
その中でも特筆すべきは、2013年から存在感を示しているのが韓国のサムスン電子です。2010年に発売された「Galaxy S」でAndroidを採用し、スマホビジネスを推進し、現在では世界シェアで1位となっています。このようにAndroidスマホビジネスを推進するにあたって、サムスン電子は単に出来上がったAndroidを自社のスマホに搭載するという受け身の対応ではなく、AndroidスマホのベースになっているLinuxカーネルの開発やAndroidのその他の開発にも積極的に参画することにより、最新の機能をいち早く自社の製品に取り入れ、市場での地位を絶対的なものにしていきました。ここでのポイントは、OSSに積極的に参画することでビジネスに大きな影響を与えることができるということです。

ちなみに、2013年に突然「サムソン電子」が登場したのは、長年にわたる紆余曲折を経て、2013年に「Android」が本流のLinuxに完全に統合されたということが理由のようで、2013年から開発に参画したことではありません。

(出典︓https://go.pardot.com/l/6342/2017-10-24/3xr3f2/6342/188781/Publication_LinuxKernelReport_2017.pdf)

 

(出典︓https://gs.statcounter.com/vendor-market-share/mobile/worldwide)

 

NTTデータの場合

---------------------------------------

日本でも同様の事例がありますので、ご紹介したいと思います。
NTTは2006年4月に、NTTグループにおけるTCO削減、SI競争力の強化を目的に「NTT OSSセンタ(以下OSSセンタ)」を立ち上げました。OSSセンタでは、NTTグループ企業を対象に情報提供や技術支援、複数OSSミドルの組み合わせ検証、大規模・高信頼・高性能システムへの適用に向けたOSSプロダクトの機能拡充/品質改善のためのコミュニティ活動を推進しています。
そのような活動を進める中、2014年12月に大規模データを対象とした並列分散処理を実現するオープンソースソフトウェアApache Hadoop(以下Hadoop)およびその関連のプロジェクトのコミッタに、小沢健史氏(NTTソフトウェアイノベーションセンタ)、鯵坂明氏、岩崎正剛氏(NTTデータ システム技術本部)の3人が就任しました(*2)。コミッタとは、開発やメンテナンスにおいて、プログラムを書き換える権限を持つ主要開発者のことで、Hadoopの場合は2014年12月時点で、全世界の約3000人の開発者のうち、コミッタはわずか100人程度でした。Hadoopにおいては、日本企業から初のコミッタ就任となりました。NTTデータは、2010年ころにはすでにこのHadoopの開発に携わっており、長期的な視点で活動をしてきました。その後も、2015年には「Apache Spark」、2019年には「Apache Airflow」といったOSSの主要プロダクトのコミッタに就任しています(*3)。このように多くの技術者が、OSSコミュニティの中心メンバーになることで、NTT及びNTTデータのビジネスに大きな影響を与えています。
さらに興味深いのは、2018年12月からNTTデータがトップ級の技術者に年収2,000万~3,000万円を支給するという人事制度を導入(*4)したことで、NTTデータのHadoop事業を立ち上げた社員が最初に適用されました。その後も、OSSコミッタとして活躍する技術者にも適用されたそうですが、企業にとってのメリットだけではなく、OSSコミュニティでの活動が技術者個人にとってもおおきなメリットになりました。
このようにOSSコミュニティに積極的に参画することにより、バグ修正や機能追加はもちろん、技術者のモチベーションにもつながることになります。特に自社のビジネスにとって、重要な機能を提供するOSSプロジェクトに技術者を積極的に参画させてみてはいかがでしょうか︖

 

(*1)https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%BC%E3%83%88%E3%83%96%E3%83%AA%E3%83%BC%E3%83%89
(*2) https://www.nttdata.com/jp/ja/news/information/2014/121801/
(*3)https://www.nttdata.com/jp/ja/news/information/2019/122600/
(*4)https://www.nttdata.com/jp/ja/news/release/2018/120400/

 ※本文中記載の会社名、商品名、ロゴは各社の商標、または登録商標です。

 

Tips集のご案内

テクマトリックスでは、開発企業としてOSSと上手につきあうための「OSS活用Tips集 – シーズン2」を提供しています。
「資料ダウンロードはこちら」から、ホワイトペーパーを一括でダウンロードできます。

  1.「OSS最新動向-コロナに負けないオープンソース」
  2.「オープンソースSBOMが必要な理由とは!」
  3.「ソフトウェアイノベーションはOSSから、コンテナ・AI技術がイノベーションを牽引」
  4.「OSSと上手に付き合う方法~攻めは最大の防御なり~」
  5.「OSSと上手に付き合う方法~サプライチェーンを安全に~」
  6.「ISO/IEC 5230で変わる?OSSコンプライアンス対策」
  7.「著作権トロールとは?」

ソニーグループ様が語る!組織的なOSS管理を担うOSPOとは~サイバーセキュリティ対策の強化とSBOMの最新動向~

2023年10月12日に実施したOSSコンプライアンスセミナーの講演動画+講演資料を提供中です。

OSSコンプライアンスセミナー