GitHubは、世界保健機関(WHO)のOSPOを支援する中で、WHOが管理する100以上のオープンソースリポジトリの健全性を可視化した取り組みを公式ブログで解説した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
GitHubは2024年9月3日(米国時間)、同社のボランティアプログラムの活動の一貫として世界保健機関(WHO)のOSPO(Open Source Program Office)を支援している取り組みを公式ブログで解説した。
GitHubは2020年以来、WHOと協力し、インナーソースの取り組みの強化やOSPOの設立支援に取り組んできた。WHOには、さまざまなグループによる100以上のオープンソースリポジトリがあるが、「オープンソースエコシステムが安全で信頼性が高く、メンテナンスが行き届いている(つまり健全である)こと」を必須要件の一つとしている。
このミッションを確実に果たすために、それぞれのオープンソースリポジトリが順調なのか、改善すべき点は何があるのか、注意すべき点は何があるのかを、測定できるようにする必要があったという。
そこでGitHubは、「Social Impact Skill-Based Volunteering(社会的影響を与えるためのスキルベースのボランティアプログラム)」の一環として、オープンソースのメトリクスダッシュボードを構築したという。GitHubはメトリクスダッシュボードの構築方法や、同様のプロジェクトにも適用できる3つのベストプラクティスを解説した。
メトリクスダッシュボードを構築するための最初のステップは、「オープンソースの健全とはどういうことか?」を定義することだった。そこで、オープンソースコミュニティーの健全性を分析するためのメトリクスやメトリクスモデル、ソフトウェアを提供するLinux FoundationのCHAOSSプロジェクトを参考に、WHOのOSPOチームが関心を持つ項目をリストアップし、それが測定可能かどうかを照合したという。
この経験を踏まえ、GitHubは同様のメトリクスダッシュボードを構築する際には、以下のような課題に対処する必要があると述べている。
GitHubはこれらの課題にどう取り組んだのか、工夫した点を踏まえ次のように解説している。
オープンソースプロジェクトでのコラボレーションは、非同期での最適な作業方法、予測事項の文書化、進捗(しんちょく)状況の共有など、成功するための作業手段を見つけることが重要だ。このメトリクスダッシュボードを構築する際に、次の点がプロジェクトの円滑な進行に役立った。
アーキテクチャの設計は、2つの別々のアプリケーションに分けて構築した。データを生成するTypeScriptバックエンドプロジェクトと、アプリケーションのUIをレンダリングするNextJS/Reactプロジェクトだ。ビルド時には「GitHub Actions」を通じてデプロイパイプラインを実行する。このパイプラインでの処理は次の通り。
GitHubは同プロジェクトを振り返った上で、3つのベストプラクティスを次のようにまとめている。
Copyright © ITmedia, Inc. All Rights Reserved.