オープンプロセスによって、COCOAの信頼を再構築する
今年に入ってから、COCOAに関する不具合報告が続いており、様々な立場の皆さんからご心配やご批判の声があがるとともに、社会的に極めて重要な課題として注目されております。これを受けて、先般の厚生労働省の発表にもありましたとおり、この度、内閣官房情報通信技術(IT)総合戦略室(以下IT室)と厚生労働省の連携チームが事態の収拾のために発足され、私もそのメンバーの一員として、正式に関わらせていただくことになりました。
なお、私個人としての新型コロナ対策との関わりについては、昨年4月・5月に発出された1回目の緊急事態宣言の折に、私が代表理事を務める一般社団法人Code for Japan のプロジェクトの一つとして、現在のCOCOAと同様のコンセプトを持つ「まもりあいJapan」というアプリの開発をしておりました。
COCOAの開発先が決定して以降、まもりあいJapanチームは、初期の仕様書のレビュー等の引き継ぎを行ったあとに解散し、今に至っております(詳しい経緯についてはまもりあいnoteに書いておりますので、そちらをご覧ください。)。
その後、昨年8月に接触確認アプリの不具合という問題の所在は、OSSコミュニティではなくリリースプロセスの不備にあるのではというブログを書いた以降は特に動けていませんでしたが、昨年10月から政府CIO補佐官という立場に就いたこともあり、遅くともその段階からもっと積極的に動いていればこうなる前に何かできたのかもしれないと、反省すると共に悔しい想いをしています。
しかし、上記の通り、内閣官房情報通信技術(IT)総合戦略室と厚生労働省の連携チームが発足され、私もそのメンバーの一員として関わらせていただくことになった以上は、今最優先に私たちが行うべきことは、一刻も早く事態を収拾し、COCOAの運用を中心として想定された行政上の施策について、あるべき姿に戻すことだと考えています。
そこで、この note では、同じプロジェクトチームであるCIO補佐官、東さんや楠さんと、現時点で進めたいと検討している内容を共有させていただきます(以下、特段の言及なく「私たち」と表記する場合は、この3名のことを指します。)。
最初に申し上げておきますが、ここに書いていることは政府としての公式見解ではありません。私たちが現時点で進めていきたいと考えていることの表明にすぎませんのでご了承ください。
Be Open
冒頭に紹介した 接触確認アプリの不具合という問題の所在は、OSSコミュニティではなくリリースプロセスの不備にあるのでは という記事の時点では、私は以下のように書きました。
新しい事にチャレンジする際は、失敗がつきものです。批判するのは簡単ですが、多くの問題にはわかりやすい悪者がおらず、構造的な課題があります。それを改善するための王道は、腹を割って話し、相手の立場も理解し、建設的に考え、改善策を出し合うことです。
エンジニアである皆様、プロフェッショナルであるならば、OSSになっているアプリの不備を列挙することに終始するのではなく、このプロジェクトをコードで支援し、不具合を一刻も早く解消し、国民に安心して使ってもらえることを一丸となって目指しませんか?
しかし、その後、COCOA の GitHub リポジトリには不具合を指摘する書き込みがあったにも関わらず、それを政府側で受け止めるための体制が作られていなかったことについては、上記のように発信した者としても、一エンジニアとしても、痛恨の極みです。
ここについては、Code for Japan が以前から指摘してきたように、プロダクト開発を推進する体制不足などが一つの原因として考えられますが、他方で、関係各所の個別事情があったことは推察されますし(それを事後的にどう評価するかはここでは一旦置いておきます)、仮に、リソースや余力が無かったとのことであれば、むしろ、そういう状況なればこそ、国として国民の力を借りていくということが必要だったのではないかと思います。
私たちは早急に、大臣発表にもあるようにGitHubによるコミュニケーションを開始できるよう調整中です。
例えば、ドイツの接触確認アプリのリポジトリは大変活気がありますし、Issue も良く整理されています。このようにオープンに会話ができるのが理想ですよね。
まずは一刻も早い修正を
現行アプリのフレームワークに対してネガティブな意見があり、また、その中には、まもりあいJapanに言及いただいている意見があることも承知しております。
この点、確かにまもりあいJapanでは、OS固有の仕様差異がある上にユースケースが少ないアプリとなり、また、扱える技術者がいなかったことなどからネイティブ実装を選んではいましたが、とはいえ、それでうまくいったかどうかは誰にもわかりません。また、以前の記事で書いた通り、少なくとも元々のオープンソースプロジェクトの技術選択それ自体に不具合の原因があったとは私自身は思っていませんし、それは現段階でも変わりません。どんな技術や仕組みにも、それ自体に一長一短があり、それらを活用する側に必要なのは常に改善し続けることだと考えます。
以上に加え、アプリケーションを今から作り直すことには相当なリスクが想定されますので、まずは現行のアプリをベースに、IT室、厚生労働省、パートナーである事業者と共に修正をしていきたいと思います。
今発覚している不具合については、厚生労働省からの発表にもあるように、対応中のもの、さらなる調査が必要なものなど、既に精査を進めている段階です。また、テスト環境やログ機能の実装などでベースの品質管理のための仕組みは構築してきていますが、更なる品質向上に向けた管理プロセスや受入時の検証プロセスの見直しも進めていきます。
GitHub 上で様々なフィードバックやコントリビューションをいただきながら進めることで、よりスピーディに問題に対処できるでしょう。
ともに考え、ともにつくる
接触確認アプリの目的、言い換えれば、アプリを通じて実現させるべき社会の状況とは、どういったものでしょうか?
それは、私は、可能な限り多くの人たちにリスクを早めに通知することで、個々人の行動変容を促すことだと考えます。
そのためには、COCOAとしてApple/Googleの提供するAPIの変更にタイムリーに追従していく必要がありますし、UI/UXの更なる改善も必要なように思います。
複数の専門家が、接触確認アプリは単体で高い効果を生むことはなく、他の様々な対応策と組み合わせることで意味があるという見解を示しています。
接触確認アプリを社会全体で活用していくためには、適時的確でわかりやすい広報、インストール後のコミュニケーションや接触通知後のユーザーエクスペリエンス(利用体験)の改善・向上など、やるべきことはたくさんあります。
他国での状況を調べて参考にする必要もありますし、あるいは、ここで一度立ち止まって、そもそもあるべき姿について皆で再度考える必要もあるかもしれません。
そういったことを、専門家や開発者の皆様とオープンに議論していきたいと思います。
まだどのような形を取るかはわかりませんが、決まり次第、順次公開していきたいと思います。
以上です。
いきなり多くのことを変えられるわけではなく、国民の健康・命に関わるものであるということを第一に、法律、リソース、技術面等様々な制約を踏まえながら、できるところから着実に、頑張っていきたいと思います。
もしよければ、応援いただけましたら幸いです。