1. はじめに
---------------------------------------
みなさん、OSPOという言葉を聞いたことはありませんか。最近比較的よく聞く言葉なのではないかと思います。Open Source Summitの中での催し物という形ですがOSPOCon(OSPOに関するConference(会議)の略でしょう)とかありますし(※1)。
では、そもそもOSPOって何でしょうか。Open Source Program Officeの略というところまではインターネットで検索するなりすれば出てきますよね。Open Sourceというのは「オープンソース(ソフトウェア)(OSS)」のことです。(ごめんなさい、このブログを読むような人には釈迦に説法でしたね。)そして、Officeというのは部署のことです。弊社というか私は「室」と訳しています。ここまでは異論も疑問もほとんどないと思います。残った Programですが、どう思いますか。プログラマーの皆さんだと、もしかして「それは当然、私がこんな文章を読む直前まで作っていたものだ」と思うかもしれません。でも、違うのです。ここでの「プログラム」とは、、、、とプログラムの意味について説明してもいいのですが、それよりは、OSPOと呼ぶようになった歴史を簡単に説明したほうが分かりやすいと思います。簡単とは言っても歴史ですから、ちょっと話は長くなりますが、お付き合いをお願いします。ここに書いてあることはあくまで個人の見解です。ただ、最後まで読んでもらえれば、どうしてそうなってしまうかも分かるのではないかと思います。
2. OSPO小史
---------------------------------------
OSCO登場
OSPOに該当するものは、以前はOSCOと呼ばれていました。(「おい、それはあまりにも乱暴な言い方だ」と思われた方、あなたは詳しすぎます。)OSCOという言葉なのですが、これが最初かどうかは知りませんが、あの有名なBusyBoxの裁判での和解条件の中にOSCOを置け、というのがありました(※2)。その当時はOSCOとは略されていなくて、Open Source Compliance Officerと書かれています。分解して説明すると、Open、、、と繰り返すのはやめておいて、OSPOと違うところはComplianceですね。「コンプライアンス」とカタカナにすれば誰でも一度は目にしたことがあるのではないでしょうか。日本語に訳すと「法令遵守」ですね(この訳に首を傾げる方もいるかもしれませんが、そこまで外れてもいないかと思います)。
例えば「株式でインサイダー取引をしてはいけません」とかです。「こんぷらくんのインサイダー取引規制Q&A」(※3)とかあるくらいですし。BusyBoxの文脈だと、OSCO=「オープンソースのコンプライアンスの責任者」を置け、ということになります。オープンソースでコンプライアンスと言ったらライセンスを守れってことですよね。
(SOFTICの「IoT時代におけるOSSの利用と法的諸問題Q&A集」(4)ではOSCOに対して「ソースコード提供等のGPL適合性を監視監督するコンプライアンス責任者」という説明を当てているようです。)このBusyBoxの件が大きなきっかけとなって、「会社としてOSSを使うのならOSCOを設置すべし」という流れができたのだと思います。
OfficerからOfficeへ
弊社もそんな世の中の流れとは無縁というわけにはいかず、OSSのコンプライアンスについて何か手を打たないと、ということになりました。そんな時期にちょうど私が入社したのです。「前職ではOSS混入確認ツールを使っていた」と上司に話したところ、OSS混入確認ツールの導入を含めてOSSのコンプライアンス体制の構築を担当することになりました。職務の名前をどうしようか、ということになったのですが、上に書いたような流れを踏まえて「こういう仕事を担当する人はOpen Source Compliance Officer、略してOSCOと呼ばれています」と私は上司に話しました。「君は入社したばかりでOfficerではないよね(普通、Officerと言われたらCEOなど偉い人を想像してしまうのではないでしょうか)。それに一人でやるというわけでもないよね」と上司に返されたので「それなら、OSCOのOはOfficeのOということで、そこに私が所属しているという形でどうでしょう。」と提案しました。
その結果、弊社には(正式な部署ではないのですが)Open Source Compliance Office、略称OSCO(オスコ)、日本語にすると「OSSコンプライアンス室」なるものが設置されることになりました。OSCOとOSPOの説明のところでは意図的に触れなかったのですが、OSCOのOはOfficerのOですが、OSPOのOはOfficeのOですよね。「OSCOのOはOfficeのO」という私の提案はOSPO時代を先取りしています。こんな提案をした私って、もしかしたら預言者の素質があるのかもしれませんね(笑)
ちなみに、その時からずっと私は自分の部署を「OSCO」/「OSSコンプライアンス室」と名乗っています。正式な部署ではないので、しばらくの間は社内向けにだけ使っていたのですが、メールの署名を使い分けるのが面倒になってきたので、最近は社外向けにもそう名乗ってしまっています。私とメールのやり取りをした人は、私がOSSコンプライアンス室の所属と名乗っているのを見たことがあるかもしれませんね。
OSCOの業務
そんなOSCOの業務なのですが、名前の通り「会社として、OSSのライセンスをしっかり守れるようにすること」が目的です。「会社としてOSSのライセンスをしっかり守らないといけない」というのはどの会社にとっても変わりませんので、会社というまとまりで見た場合には、何をするかはそれほどばらつかないでしょう。ですが、「会社として」しっかりできていれば良いので、会社としてしっかりやるための作業のどの部分をOSCOが担当するかについてはいろいろなやり方がある、ということになります。
例えば、FossIDなどのOSS混入確認ツールの使い方にしても、(1)開発者からソースコードを受け取りOSCOでFossIDを使って確認する方法もありますし、(2)開発者に必要な教育をしてある前提で、開発者自身がFossIDを使って確認し、OSCOはその結果のみをチェックする方法もあるでしょう。(弊社は後者です。なんせOSCOには私の提案があっさり通るほどの人数しかいませんので。)ですので、OSCOの人(OSCOに相当する人)がセミナーで講演している場合には、「この人はOSCOとして何をどこまでやっているのだろう」という観点で話を聴いてみると面白いかもしれません。
OSCOからOSPOへ
そのように会社にとって大切なコンプライアンスを担ってきたOSCOですが、ここ数年新しい流れが出てきました。それは一言でいうと「コンプライアンスだけでいいの︖」という疑問です。例えば、自分の会社で使っていたOSSでバグを見つけて、自力で修正したのだけど、さてどうしよう、と言った場合です。
この場合、その修正をOSSの開発者にフィードバックした方が(他の人がまた同じことをしなくて済みますから)世の中のためにはなるでしょう。ですが、別にそんなことをしなくてもコンプライアンスの観点からは全く問題ありません。
その結果、「コンプライアンスからさらに一歩(もしくはそれ以上)進んだ活動」をしよう、その活動をプログラム(Program)と呼ぼう、そしてその活動を担当するところをOpen Source Program Office(OSPO)と呼ぼう(一歩(もしくはそれ以上)進んだ活動を一人で担うのは難しいので、OfficerではなくOfficeとしよう)ということになりました。(はい、ごめんなさい。断言してしまっていますが、ここは半分以上私の想像が入っています。)
ですので、ここの「プログラム」は、プログラマーにとってのプログラムではなく、むしろ世の中一般で使われる「プログラム」、例えば「運動会のプログラム」「ピアノの発表会のプログラム」などの方が意味が近いと思います。なかなか他の言葉で言い表すのが難しいですが、「予め計画して、それに沿った取り組み」ということになるかと思います。
3. OSPOの活動
---------------------------------------
上で述べたような経緯から、OSPOと呼ばれるようになっても、OSCOと呼ばれていた当時から担っていた業務(コンプライアンス)は担い続けることになるでしょう。OSPOでは、それに加えて「コンプライアンスからさらに一歩(もしくはそれ以上)進んだ活動」もすることになります。
この書き方から分かるように、OSPOの活動は「一歩(もしくはそれ以上)進んでいれば」何でもいいということになります。例えば、上で例として出したバグ修正のフィードバックを開発者が行なうのをサポートするというのもOSPOの活動の範囲に入ってくるでしょう。また、SCAツールのアウトプットからライセンス管理のサポートも大切な役割になります。より積極的に、自分の会社で作成したプログラムをOSSにして、そのOSSに関するコミュニティ活動を盛り上げる、なんていうのもOSPOの活動と言えると思います。私も社内でコンプライアンスの業務に携わっているだけではなく、社外でOpenChain JapanWGなどの活動に参加していますので、OSCOを名乗ってはいますが、活動の実態はOSPOと言えるかもしれませんね。
4. 結局OSPOとは
---------------------------------------
今まで述べてきたことをまとめると、OSCOはOSSコンプライアンスを担うところで、OSPOはOSCOの担っていること+αを担当するところ、ということになります。どちらも会社によって活動内容が異なる可能性がありますが、OSCOの場合はばらつくとは言っても「会社としてのコンプライアンス」という大きな枠がありました。ですので、何をやっているかは比較的理解しやすいと思います。
一方、OSPOはそのコンプライアンスの枠を超えた活動をも担うところですので、会社ごとのばらつきはOSCOの比ではありません。(車の運転に例えるなら、OSCOは「運転免許の取得」、OSPOは「自分で車を運転してやりたいこと」になるでしょうか。「運転免許の取得」であれば、教習所や試験会場が違っても、教える内容や試験に極端な違いはないでしょう。一方、「免許を取ってやりたいこと」は、それこそ人それぞれですよね。)それに、OSPOは比較的最近出てきた言葉ですから、その内容・概念も成長・成熟の過程にあるのだと思います。ですので、OSCOを見るような目で現時点のOSPOを見てしまうと、OSPOが何をしているかというのはつかめないでしょう。OSPOは「+α」の部分に注目して見るのが良いと思います。
5. おまけ
---------------------------------------
この文章をほとんど書き終えた後で英語に詳しい人から聞いたのですが、「会社ではよく”project”という言葉は聞くでしょう。”project”というのは比較的短期的なものを意味しますが、”program”というのはより長期的なものです」と言われました。なので、OSPOという言葉自体に長期的な取り組みという意味が含まれているようです。コンプライアンスに限ってもそうすぐにできるものだとは思いませんが、「+α」まで入るとさらに長期的な取り組みになるでしょうから、OSPOという名前にも納得です。
【参考文献】
- 例えば https://events.linuxfoundation.org/open-source-summit-north-america/about/ospocon/
- 裁判の当事者による文が https://softwarefreedom.org/news/2007/oct/30/busybox-monsoon-settlement/ にあります。
- https://www.jpx.co.jp/learning/tour/books-brochures/detail/12.html
- https://www.softic.or.jp/ossqa/all_180328.pdf
- https://openchain-project.github.io/OpenChain-JWG/index.html
※本文中記載の会社名、商品名、ロゴは各社の商標、または登録商標です。
Tips集のご案内
企業の中でOSSと上手につきあうためのポイントや、OSSを活用したソフトウェア開発に役立つヒントなどをさまざまな視点からまとめたTips集を提供しています。過去の記事掲載もありますので、まだダウンロードされていない方は、こちらからご確認ください。