より賢く活用するためのOSS最新動向

なぜ自社で開発したソフトウェアをOSSにするのか?

吉田行男

2018-07-20 07:00

 日立ソリューションズの吉田です。

 ここ数年、自社で開発したソフトウェアをOSSとして公開する例が増えています。米Googleは、2017年1月から15もOSSとして公開しています。内容も3Dデータの圧縮「Draco」やJPEGを35%小さくできるエンコーダ「Guetzli」だけではなく、機械学習用データの分析ツール「Facets」やコンテナ関連のツールである「kaniko」や「gVisor」など、多岐にわたっています。また、海外の会社だけではなくヤフーやTISなど、日本の会社もいろいろなソフトウェアをOSSとして公開しています。

 なぜ、OSSとして公開するのでしょうか?

1.企業イメージの向上に貢献

 新しい技術や分野に積極的に取り組んでいる企業であるというイメージを社外に与えることができることは、大きな意味があります。

 技術的にまだ黎明期にある分野で自社開発したソフトウェアをOSSとして公開することで、その分野における技術力を誇示できます。さらに、その分野での技術的優位性を得ることにより、その技術全体をリードすることができるようになります。そうなれば、ビジネス的にも大きなアドバンテージになる可能性があります。深層学習やコンテナ関連の技術でグーグルが優位に立とうとしているのは、これが理由です。

 また、このように最新技術を開発していることで、新しい技術に興味のある技術者を集めることが容易にできるようになります。その上、現在開発に携わっている技術者のモチベーションの向上にも効果があります。自らが開発に関与している技術が業界標準になったり、多くの人から評価されたりすることは、技術者にとって、この上ない喜びになります。

2.コミュニティーを形成できる

 OSSとして公開すると、他社の技術者がダウンロードして、評価を始めてくれます。評価の結果、気に入ってもらえれば、様々な情報がアウトプットされるようになります。不具合情報などもそのひとつですが、それだけではなく、機能改善の提案やドキュメントの作成などを手伝ってもらえるようになります。

 このように関係者が増えていくことで自然とコミュニティーが形成されていきます。そうなれば、あとは自然に広がっていき、より多くの技術者に利用してもらい、より多くの貢献を受けることができます。

 OSSに限らず、このように仲間を増やしていくことは大きな意味があります。前述のように技術的な優位性を取ろうとしたときに、どちらの陣営にどのようなメンバーが参加しているかが、大きなポイントになります。昔の話で恐縮ですが、1970年代半ばから、家庭用ビデオ規格で規格争いがありました。ソニーを中心とした「ベータマックス」と日本ビクターを中心とした「VHS」です。結局、この争いは1988年にソニーが「VHS」との併売に踏み切り、「ベータマックス」は事実上の市場撤退となりましたが、これと同じことです。どちらが技術的に優位性であったかということだけではなく、メンバー数や誰が参加しているかが大きな問題になりました。結局、当初から、多くの家電メーカが採用していた「VHS」が勝利しました。

 このようにコミュニティーを形成するときも戦略的に活動することが求められます。

3.エンジニアの退職対策

 まだ、日本ではあまり想定できないかもしれませんが、米国の特に西海岸では、このような理由でOSSとして公開している例がいくつもあります。技術者の流動性が高い米国では、あるソフトウェアを開発した技術者がいつまでも同じ会社に在籍しているとは限らないため、最初からOSSにするという選択をする経営者がいます。OSSにすることで、開発した技術者が他の会社に転職しても、メンテナンスは同じ技術者が対応することができますし、それだけではなく、誰でもが開発に参画することができ、貢献することができます。

4.その他

  これも、以前ご紹介しましたが、MidoNetのようなに、顧客からの要請によって、OSS化を果たしたという例もあります。特にベンチャー企業の場合は、開発資金の枯渇等により、開発の継続が困難になることも多く想定されますので、企業システムの中で基幹となる部分にOSSを採用しようとすると慎重になります。したがって、OSSであることは、開発企業ではなく、ユーザ企業にとっても、有効な手段であると言えると思います。

 とはいえ、OSSとして公開するためには、考慮しなければいけないことがいろいろとあります。

1.ライセンスの選定

 OSSそのものを修正した場合や自社が開発したソフトウェアをOSSとリンクすることを前提とする場合は、ソースコードを公開する必要が出てきますので、これを嫌がる企業が多く存在するため、できるだけ制限の少ないライセンスを選定した方が良いでしょう。

 しかし、単独で活用することが多く、他のソフトウェアと疎な関係で連携できる場合は、より多くのフィードバックを貰えるようなGPLのようなライセンスを選定するのが良いと思います。

 いすれにしても、公開するOSSの使われるシーンを想定して、ライセンスを選定することが必要になってきます。

2.関連資料の整備

 インストール手順書などの関連資料を整備する必要があります。これを怠ると誰も使ってくれません。もちろん、インストール手順だけではなく、ソースコードだけでは理解が難しい部分については、関連のドキュメントを用意する必要があります。

3.公開場所の選定

 ソースコードをどこで公開するかを検討する必要があります。最近では、GitHubが一般的ですが、それぞれの都合で、良いと思う場所で公開することになります。自社のサイトでも問題ありませんが、できるだけ多くの方がアクセスできる場所を選択するべきだと思います。

4.知的財産のチェック

 以下のような知的財産にかかわる部分についても、チェックが必要になります。特に権利侵害や自社の技術の流出には、十分考慮する必要があります。

(ア)自社保有特許との関係確認

 OSSに自社が保有している特許が含まれている場合、そのOSSのユーザーに対して、権利行使ができなくなる可能性があるので、確認が必要です。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]