COCOAの事情

 前述したように、COCOAの主要部分はOSSとして開発されましたが、単純にCOCOAがOSSであるとは断言しづらい状態にあります。

 まず、厳密に言うとCOCOAはOSSではありません。OSSなのは、その元となった「Covid19Radar」というアプリです。そのREADMEには以下のように記述されています。

 接触確認アプリは、厚労省の公式バージョンの一つのみ存在します。こちらのGitHubは、厚労省の公式アプリのコードそのものではなく、公式アプリの元になっているオープンソースコードです。

 つまり、実際に使われているCOCOAとGitHubで公開されているOSS版のCovid19Radarは同じものである保証はないということです。これが話をややこしいことにしています。

 その原因(の一つ)となっているのが、Google/Apple方式における「1国1アプリ」制度です。つまり、日本という地域においてExposureNotification APIを使えるよう認可されたのは厚労省の公式バージョンであるCOCOAのみです。OSSにつきものの派生バージョンなどは許容されないということになります。

 実際、新型コロナ流行防止のために接触確認アプリの必要性が述べられてから、楽天をはじめとする企業や、Code for Japanのような団体などが接触確認アプリの開発に取り組みました。しかし結局、厚労省の判断でGoogle/Apple方式の採用が決められ、その流れでCovid19Radarを「元にする」ことが決定されました。

 このような制限は、自由な開発をベースとするOSS開発とは矛盾しがちです。

時間との闘い

 COCOAの開発は、OSSとしては例外的に「時間に追われていた」ことも無視できません。

 Google社とApple社がExposureNotification APIの仕様を発表したのは2020年5月20日です。その後も若干の仕様変更があったので、実際にアプリの開発が始められたのは5月の終わりから6月初め頃だったようです。

 西村康稔担当大臣は政府会見として「6月19日にはアプリをリリースします」と宣言していましたから、開発側のプレッシャーも相当だったと思います。

 そこから6月19日にリリースするためには、それこそ超高速の開発が必要だったと思われます。Google Play StoreもAppleのAppStoreもアプリの審査にある程度の時間がかかりますから、その時間も計算に入れると実際の開発期間は2週間もなかったのではないでしょうか。

 「我々はOSSなんだからそんな約束は知らないよ」というのも一つの態度です。しかし、OSSだろうがなんだろうが、プロジェクトの重要性を考えれば社会的責任があると詰め寄る人は多いですし(経験談)、それを完全にはねのける鉄の意志がある人は、ほとんどいないだろうと思います。COCOAのような幅広いユーザーを対象にしたプロジェクトに強い要求を出す人がどれだけいるかは想像に難くありません。

 政府のプロジェクトだからということで、要求仕様の取りまとめから始めて、概要設計書、詳細設計書とまとめてから開発に取り掛かる従来の開発プロセスを採用していたら、どうだったでしょうか。2週間どころか、どんなに早くともプロジェクト完了まで半年以上はかかったでしょう。

 COCOAの開発は、OSSの開発プロセスだからこそ、実質2週間という期限になんとか間に合ったのだろうと推測します。それと同時に、このような厳しいスケジュールの開発では不具合が残るのも無理はないなとも感じます。いちプログラマの視点から見ると、初期の不具合の多くは、異常系の確認をする時間が十分に取れなかったためだろうなと想像できるものばかりです。

 そのような強い制約下で開発することになってしまったことには同情しかありません。

COCOAの開発体制

 COCOAの開発体制が完全に透明ではない点も気になります。COCOAそのものの開発は国のプロジェクトとして、パーソルプロセス&テクノロジーが受注しているとの報道がありました。その報道によれば、開発はさらに同社から日本マイクロソフトとフィクサーの2社に再委託されたとのことです。

 となると、OSSプロジェクトとCOCOAの関係はどうなんだろうかと疑問に思うのは当然ですが、その点はあまり明らかにされていません。

 OSSプロジェクトの開発メンバーのツイートによれば「1円ももらっていない」そうなのですが、その人の所属が日本マイクロソフトで、再委託先に日本マイクロソフトが入っていれば、ますますどうなっているのだろうかと思います。

 このことから、COCOAに関する報道の中にはあまり根拠のない邪推に満ちた記事も見受けられるようです。COCOAが(正確には元になったCovid19Radarが)OSSであるということと、政府のプロジェクトの成果物であることが、伝言ゲームのように伝わっていろいろな誤解を生んでいるように思います。

 例えば、「COCOAはOSSだが日本マイクロソフト社員が仕事として作っている」というのが典型的ですね。明らかになっているのは、Covid19RadarがOSSであり、そのリード開発者が日本マイクロソフト社員であることです。本人の発言を信じるのであれば、彼は純粋にボランティアとして開発に参加しています。私は彼と共通の知人がいますが、そういうところで噓をつくような人ではないと感じています。

【PR】まつもとゆきひろさん好評連載中! 日経Linux9月号 発売中です。
 日本で唯一のLinux専門誌「日経Linux」では15年以上にわたって、Rubyの父、まつもとゆきひろさんにご寄稿をいただいています。Linuxは無料で使えるOSで、サポートが切れてしまった古いWindows PCなどで簡単に使い始められます。

 2020年8月7日発売の日経Linux 9月号では「Linuxの遊び方大全100」と銘打ち、Linuxを遊び感覚で楽しく活用する方法を100本集めた大特集を掲載しています。付録冊子の「ラズパイ&電子工作 スタートブック」は超小型PCボード「Raspberry Pi(ラズパイ)」の使い方を100ページでまとめた入門書です。

 この夏は新型コロナ禍により外出しづらい日々になりそうですが、自宅でじっくり楽しめる、Linuxやラズパイに挑戦してみてはいかがでしょうか。

日経Linuxの購入は<<こちら!>>