OSSガバナンスを社内構築するためのヒント

OSSガバナンスを社内構築するためのヒント

1.はじめに

皆さまの会社では、オープンソースソフトウェア(OSS)をお使いでしょうか︖ 実は、ソフトウェア開発をしていない会社の業務でも、また個人でスマートフォンを利用している場合でも、知らないうちにOSSをたくさん利用しているのです。
このブログでは、ソフトウェアにおけるOSSの位置づけを説明しながら、企業としてOSSと上手につきあうため、その利用にあたっての注意点やOSSを利用したソフトウェア開発活動の価値を根付かせるTIPS集を書いてみました。
また既にソフトウェアをよくご存じで、最新のOSSを使いたくてしかたない方も会社の技術陣には多いと思います。その開発現場に方にも、会社の経営戦略に立脚したOSSとの付き合い方としてガイドラインの精神を理解いただく必要があります。こちら向けにもTIPS集を書いてみました。

 

2.経営幹部を味方にしよう

普段、私たちが享受しているサービスは、もはやソフトウェア無しでは成り立ちません。サービスを実現するために全世界で稼働しているソフトウェアの総量は、今はやりの言葉で言えばオーバーシュートしており、量的爆発を起こしています。ソフトウェアは人が開発しますので、開発するにはコストもかかります。ですから、できるだけ共用できるものは皆で共用し、相互に知恵を出し合い進化させていくアイディアが出て来ました。このようにソフトウェアの総開発コストの引き下げと技術進化の両立を兼ねることができるのが、開発者が互いにソフトウェアのソースコードをオープンに見せ合いながら開発するOSSです。

 

OSSを使う4つのメリット

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

今では、ソフトウェアを開発する企業は、LinuxやDockerなど、多くのOSSを使っています。そのメリットを4点あげてみます。

  1. スピード
    ソフト開発をゼロから行わなくても、インターネットからOSSをダウンロードしてビルドすれば欲しい機能を手に入れることができますので、開発を短期間で行うことができます。
  2. イノベーション
    顔認識や自動運転での経路選択など、大学などの研究機関が日々アルゴリズムを研究開発しているものも、今は利用者に評価してもらうため、オープンソースで公開されるものが多くなっています。このように世界で最新の技術を、OSSをダウンロードするだけで、その日から利用可能になります。
  3. 低コスト
    多くのOSSはインターネットから無料でダウンロードすれば使えます。このため初期費用を抑えることができます。ただし、そのOSSの中身をしっかり理解して使いこなせるソフト開発における力量は必要になります。
  4. 柔軟性
    OSSは文字通り、ソフトウェアのソースコードが公開されています。このため、所望の機能までOSSがサポートしていなくても、近いOSSをダウンロードして自ら改造することができます。

 

 

会社で開発にOSSを導入する時は、まずこの経営視点でのメリットを会社幹部と共有しましょう。今の時代、OSS抜きには他社競争力のあるサービスをタイムリーに開発できないことを会社幹部も理解するはずです。

 

#TIPS OSSのメリットを強調し競争社会に勝ち抜く源泉であると幹部に説明しよう

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

さて、良いことずくめの感じがするOSSですが、その利用にはマナーがあります。マナーとして、無料で使える分、自分もOSSの開発を行う一員として何かを返すことが求められます。無料でメリットを手に入れたからには、無料で相手(OSSを運営しているサイト)に返すと、ずっと気持ち良く使うことができます。
会社で開発にOSSを導入する時は、この相互扶助のマナー精神を会社幹部に説明しましょう。

#TIPS OSS利用には相互扶助の精神に基づくマナーがあると幹部に説明しよう

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

さて、相互扶助の精神は高邁なのですが、企業活動において、ここはお金をかけて開発したとことなので無料で公開したくないと言う部分があると思います。独占利用を続けるために特許を取得して守ることも多いと思います。
しかし、自社の大切な開発成果物を使って、あるOSSを改良したとします。するとOSSの相互扶助の精神に則り、自社の開発成果物も無料で開示しなければならなくなる場合が出てきます。

もちろん、自社開発成果物のデファクト化を狙い、ソフトの改良を自社コストだけで行わなくても済むように、敢えて自社開発成果物をOSS化して無料で開示する高等戦術もあります。が、これは、かなりの高等戦術なので、提案しても社内で理解を得るまでには多くの困難があります。古来、損して得取れと言う戦略を実行した為政者が最終的に天下を治めて来ました。経営幹部は、そのことはよくご存じです。しかし、自己責任で損して得取れ戦略ができるかと言うと、短期で損した瞬間に株主はじめ多くのステークホルダーから批判が出るため、怖くてそのような戦略は取りにくいのです。

今、OSSに関し、日本の経営幹部に提案して同意が得やすい戦略は、OSSはメリットも多く利用すべきだが、自社の開発投資で作った成果物をいかに守るか、と言う視点のものになります。過去投資分の回収ができなくなるとのロジックは単純で理解しやすいので、すぐに同意してもらえます。

#TIPS OSS利用には相互扶助の精神に基づくマナーがあると幹部に説明しよう

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

OSSを利用する場合、相互扶助の精神で自社改良分はOSSとして開示しながらも、自社投資による開発成果物はOSSにはせず秘匿したいとの基本線が経営幹部と合意できれば、開示と非開示の境界線を具体的に定義することが必要となります。この境界線の定義がOSSを利用する際の、企業の経営戦略になります。そして境界線を定義したものが、企業におけるOSSガイドラインになります。つまりOSSガイドラインは、企業における経営戦略の重要な文書の一つとなります。
このことから、OSSガイドラインを制定・発布する活動について、その実務はOSSを含むソフトウェアに詳しい方をリーダとしながらも、その活動の責任者には経営幹部のどなたかに就任いただきましょう。

 

3.ガイドライン精神の開発現場への浸透

次にOSSガイドラインがスムーズに運用されるためには、開発現場にもその考え方を浸透させることが必要です。ここで大切なことは、OSSガイドラインの条文を逐一覚えてもらうことではなく、なぜ、そのような条文が制定されたかの背景を開発現場に理解してもらうことにあります。

例えば、一般消費者向け製品の組込みソフトウェアにはGPLv3と言うOSSライセンス条件でライセンスされるOSSは利用禁止、との条文があったとします。なぜ、このような条文ができたかの背景を開発現場には是非とも説明してあげてください。

組込みソフトウェアでは、一般に単に実行ソフトモジュールをROMに書き込んだだけでは実行させることができず、そのソフトモジュールを実行させるためのインストールの手順が必要です。GPLv3では明確に、そのインストール手順も開示対象であることが書かれています。このため開示される情報を使えば、消費者によるソフトウェア改造と再インストールが可能となりますので、そこには新たな知恵が入り、製品の機能向上が図られるかもしれません。このようなメリットが想定できる反面、メーカが製品の品質保証として安全性にも配慮して出した製品の、その安全配慮部分が無くなってしまうリスクもあります。万一、一般消費者による改造で製品が暴走、発火、セキュリティホール化などなった場合、メーカも責任を問われることとなります。このような相互扶助の精神と現実社会との狭間を、どう解釈し企業の経営戦略としたかの結果がOSSガイドラインには記載されています。

GPLv3の例をあげたのは、昨今のAI活用が進む中、多くの大学や研究機関がカメラやライダーなどを使った空間認識技術で、様々なアルゴリズムと学習済モデルで競争している現在の状況を踏まえたからです。各研究機関では、多くの競争相手同士で互いに切磋琢磨できるように、開発された技術をOSSとして開示することが普通になりました。このような最先端技術について、最近はGPLv3をライセンス条件として使うものが増えて来ています。メーカは試作で、こういう最新技術をダウンロードしてシステムに組み込むことで、早期にシステム全体の有効性を確認できるようになりました。しかし、メーカの製品が一般消費者向けの場合、GPLv3のソフトを一部に組み込むことで、市場でのリスクを抱えることになります。OSSガイドラインにおけるGPLv3の取扱いの背景を開発現場でも理解していると、開発現場では、試作ではGPLv3は使えるが、商品では、そのモジュールは作り変えないといけない、と自然に判断できるようになります。

OSSガイドラインで記載されている条文は、それぞれに過去の裁判事例や、ライセンス条件の解釈に基づき、OSSの相互扶助の精神と企業の社会責任を両立させるように社内で決められたものなので、その制定に至る背景を十分に開発現場に理解してもらうことは非常に重要です。

 

#TIPS OSSガイドラインの各条文の背景を開発現場には丁寧に伝えよう

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

OSSガイドラインを、企業におけるOSS利活用戦略と、具体的な対応方針(ポリシー)に加え、企業によっては会社の業務プロセスとして定義し、社内プロセス文書としていることも多いと思います。

プロセス化は、それが定型処理になっている場合は、ワークフローとしてうまく流せるのですが、OSSを含めソフトウェアについては、ビジネスモデルの進化、個別契約による影響、最新判例による条文改訂、などの影響があり定型化してもすぐに改変が求められます。この要求に応えられるように、プロセスを柔軟に変更できる仕組みが必要です。

またプロセス化されると、時間の経過とともに、なぜそのプロセスにしたのかの背景が忘れ去られ、処理のみが形骸していきがちです。結果、その運用を担当する側が権威主義に陥り、開発現場に対してルールの押し付けを行い、新たな課題に対して硬直化したまま対処できなくなる事態もしばしば見受けられます。これを防ぐためには、開発現場とプロセス運用で人財をローテーションする施策も有効です。プロセス運用側は、最新の開発事情とOSSにまつわる係争結果などの背景を理解し、開発現場に寄り添いながらスムーズにプロセスを回すことが求められます。

 

#TIPS OSS運用プロセス担当と開発現場は頻繁な人事交流を行おう

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

OSSガイドラインを制定・発布・改訂を行うメンバーは、OSSと言う最新のビジネスモデルに立脚しながら、経営幹部と開発現場を仲介する重要な役割で、かつ縁の下の力持ちになります。OSSガイドラインと言う経営戦略文書をツールとして、企業経営に寄与する自覚を持ち、経営幹部から権限を委嘱され、開発現場からは信頼されることを目指さねばなりません。

そのためにも、経営幹部、開発現場代表が臨席する定期的な会合を主催することは有効です。そこではリスク事例の共有や時代に合わなくなって来たプロセス改訂など、企業戦略視点で議論すると良いでしょう。経営幹部との信頼が深まれば、敢えて自社開発成果物をOSS化すると言う高等戦略に踏み出し、そのためのプロセス整備に尽力することも考えられます。

 

4.おわりに

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

テクマトリックス主催のOSS Management Trainingでは、戦略、ポリシー、プロセスのベストプラクティスについて、具体的な事例を多用しながら、その考え方、背景などをOSS利活用経験豊かな講師がわかりやすく説明します。このような場も利用することもお勧めします。

OSS無くして今後の社会活動はあり得ないぐらい、OSSは私たちの身の回りに空気のように存在しています。競争社会の中、自社の成長を確かなものにするためにも、OSSとは上手につきあい、経営戦略としてのOSSガイドラインを企業内に定着させていきましょう。

 

 

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

 

Tips集のご案内

テクマトリックスでは企業としてOSSと上手につきあうための注意点など、OSSを利用したソフトウェア開発活動の価値を根付かせるためのTIPS集を全6回にわたりご提供してきました。
総集編として、過去全6回に渡り配布したホワイトペーパーを一括でダウンロードできるようにしました。

  第1弾!「OSSガバナンスを社内構築するためのヒント」
  第2弾!「組み込みソフトウェアにおけるOSSを活用する方法」
  第3弾!「CASE時代のオープンソース(前編)」
  第4弾!「CASE時代のオープンソース(後編)」
  第5弾!「ロボットを動かすオープンソース」
  第6弾!「OSSライセンスコンプライアンス確立の傾向と対策」

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

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

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