マニフェストの高速なアップデートを支える政策オープンソースプロジェクト(GitHub)の概要
安野たかひろ事務局メンバーの今泉です。
彼が共同創業者として立ち上げた二社目のスタートアップである、リーガルテック企業「MNTSQ」の縁でお声掛け頂きました。本業は法務ですが、主に政策オープンソース(GitHub)関連のPjM(プロジェクトマネジメント)を担当しております。
本記事投稿時点では7/2、まだ中盤ではありますが、これまでの活動を振り返って、政策オープンソースプロジェクトの工夫や、裏側の思想についてご紹介します。技術そのものについては、後述する自動モデレーションの仕組み以外はGitHubをそのまま使っているだけですので、本稿ではむしろ歴史的・思想的背景について言及していければなと思っています。
プロジェクト概要
GitHubのissue機能とPull Request機能を用いて、誰でも政策リポジトリにアクセスし、議論し、そこに書かれているマニフェストに直接修正をかけることができる、という「双方向の政策ディスカッション」を実現する試みです。
本プロジェクト単体であれば「GitHubが使えるのは一部の人だけ」「デジタルディバイドを助長している」と言われてしまいますが、今回は、AIタウンミーティング(「AIあんの」)や、 #TOKYOAI ハッシュタグでの民意の可視化など、別キャンペーンで取り入れた意見もメンバーが政策リポジトリにフィードバックするので、誰も取り残さないための試みも同時に行われています。
プロジェクト前史:先人の試み
「政策マニフェストへの意見を募集するために候補者がGitHubを使う」という使い方は今回がおそらく初の試みではありますが、実は以前から「ドキュメント管理」や「意見公募」のためにGitHubを使うという試みは行われていました。つまりこのキャンペーンには元ネタがあります。いくつかご紹介したいと思います。
①GitLab Handbook(社内ドキュメント)
GitHubと同様、Gitを使ったソースコード開発サービスを提供しているGitLabという会社があります。GitLabは全世界に1000人以上の従業員がおり、全員リモートワークをしているというきわめて特殊な組織なのですが、このような体制だと、電話やミーティングなどの同期コミュニケーションは成立しにくく、共通理解をもって一つの事業に向かうこと自体が困難です。そこで、GitLabは自社サービスを使って「GitLab Handbook」という超巨大な社内ドキュメントを作成しています。これについては安野自身が解説したブログ記事があるので、ぜひご一読ください。「なぜWikiではなくGitなのか」「なぜGitシステムがオープンネスを担保するのか」についても考察されており、今回のキャンペーン発案につながる洞察を見ることができます。
②利用規約や社内規程など、法的ドキュメントの管理
GitHubのよいところとして、「どの変更がどのような理由で行われたのかを行単位で追うことができる」という点があります。Pull Request(変更提案)は複数のcommit(修正差分)を束ねた形で提起され、それぞれがどのような意図をもって行われた修正なのかが記録されています。このような仕組みは、たとえば利用規約や社内規程の管理などと相性がよく、「どの版が、いつ、どのような理由で、どこが修正されたのか」を効率的に管理するために使用している民間企業は国内にもすでに存在します。
また、ワシントンD.C.では法律自体がGitHubで管理されており、法制執務への応用もすでに行われています。
③経済産業省・モデル契約書改訂(意見公募)
経済産業省の試みとして、2021年にスタートアップが利用するモデル契約書についての意見募集をGitHubで募集したことがありました。こちらのプロジェクトはリポジトリに記載するマニュアル等を作成するにあたり大いに参考にさせて頂きました。GitHubを用いる意義について「様々なプレーヤーが継続的にフラットに意見を発信できるような仕組みを構築していくべき」と述べられています。「少数意見で構成される有識者会議」や「貰いっぱなしのパブリックコメント」などが特徴的だった行政の意見公募においても、情報収集の仕方は再検討されつつあるといえます(まだ主流とは到底言えませんが)。
プロジェクトの工夫
上述のような先人たちに学び、では我々が「市民から」「オープンソースで」「政策マニフェストへの」「変更提案を受ける」ためには、どのようなことに注意すればいいのかについて、我々は以下のように考えました。
工夫①:編集の敷居を下げるための工夫
GitHubのUIでしか現在時点でのマニフェストを確認できないとなると、そもそもGitHubを使ったことがない人にとってはページにたどり着いた時点でウッとなり、とっつきにくくなることが予想されました。そのため、ウェブサイトでも内容を確認できるよう、マークダウンファイルをHTMLに変換してくれるmkdocsというオープンソースソフトウェアを使用しました。
マークダウンという比較的簡易に扱えるマークアップ言語を利用することで、編集するのがテキストだけでよくなる(HTMLを編集する必要がなくなる)というメリットもあります。
工夫②:参加ハードルを下げるための工夫
通常、オープンソース開発の場面では、行動規範や禁止行為がきっちりドキュメンテーションされていることが多いです。上記のGitLabの例などが近いですが、不特定多数の人が一つの目的に向かって行動するには、厳密なルールとそれを支える文化が必要になります。メンバー内でも、オープンソース開発の文化に慣れ親しんだエンジニアからはそのようなルールを作成した方がいいのではないかという意見が出ました。
ただ、今回の場合は、「そもそもオープンソースとは何かを知らない人でも広く参加することが重要」であり、「議論そのものの質も重要だが、それよりも双方向のコミュニケーションでマニフェストが進化する姿を描くことが重要」であると考えたため、Code of Conduct(行為準則)や権利調整規定(コントリビューターの権利について規定したり、コントリビューターライセンス契約などを結ぶ例もあります)は、READMEに収まる必要最小限度の記述にとどめました。
一方で、contribution.md「貢献したいあなたへ」というページを用意し、どのように貢献することができるのかについて、初めてGitHubを使う人でもわかるように説明をさせて頂きました。ここでは、「このプロジェクトはあくまでオープンガバメントのあり方を探る一つの社会実験であり、GitHubという手段は唯一の正解ではない」ことと、「GitHubが難しいと感じてもX(Twitter)やgoogle formなど別の方法で我々は意見をお伺いすることができる」ことについて強調させて頂きました。
また、GitHubの操作マニュアルも作成しましたが、これは上述の経産省プロジェクトにアイデアを頂いています。
オープンソースプロジェクトに変更提案をするにあたって、Gitで操作しようとすると、普通はfork, checkout, commit, pushといったなんだかよくわからないコマンドを打ち込まなければならず、とても初心者には無理でした。しかし、GitHubではブラウザの操作だけでOSSへの変更提案が行えるので本当に助かりました。これができなかったらこのプロジェクトは破綻していたかもしれません。ありがとうGitHub。
工夫③:健全な議論を促進するための工夫
GitHubはエンジニアのSNSと言われることもありますが、SNSには荒らしがつきものです。都民のみなさんや本プロジェクトに興味をもって見に来てくれたみなさんの都政に対する熱意は疑ってはいませんが、対立が激化して議論がままならなくなるとか、他候補の支持者が大挙して押し寄せてきてめちゃくちゃになるとか、議論がヒートアップして誹謗中傷が飛び交うとか、運用の過程で生じるダークストーリーはいくつか想定していました。(もっとも、そんな心配をよそに、非常に質の高いすばらしい議論が行われていることは見て頂いたみなさまにもわかっていただけると思います。)
そこで、OpenAIのAPIを用いて投稿を評価し、①issueの重複の検知、②他人の権利を侵害する可能性のある投稿の非表示、警告するbotをGitHub Actionsで作成し、巡回させました。
これについては技術面からがっつり紹介してくれた方がいらっしゃいますので、ブログを紹介させて頂きます。本稿があんまり技術で解説するところがないのはこの記事の存在によるものです。
裏話:チーム安野参加の顛末
わたしがチーム安野に参加したのは6/6の出馬会見の翌日でした。出馬会見の動画を見ながらなにしてんのあの人と爆笑していたところ、本人から直接DMで「あのGitHubのところを作ってほしい」と言っていただいたので、即答してその日にSlackに参加しました。
その時点では、mkdocs new されただけのまっさらなテスト用リポジトリだけが存在していて、また政策も5本の柱と各政策の方向性は決まっているものの、エビデンスをそろえたりなど肉付けが必要な状態でした。公示日はもう二週間後なので、あと二週間で政策とリポジトリを作りきらなければならないというハードなプロジェクトでした。特に政策部分は安野さんが集めた各界で活躍する優秀なメンバーがいなければ到底完成しえなかったところであり、21日に無事公開できたときはドキドキしていました。そして、その後の選挙戦の盛り上がりは当初の予想のはるか上をいくものでした。
MNTSQで一緒に仕事をしていたときから、あるいはその前の知り合いのころから思っていたことですが、安野さんは愛嬌があって、意思決定がうまくて、天才で、実行力があって、誠実であるという、お世辞抜きで現代のリーダーが備えているべき要素をすべて持ち合わせている人物だと思います。
私は安野さんが東京を変えている姿が見たいです。
みなさんはいかがでしょうか?