GitHubは、「GitHub」の過去1年間の成長や使用状況をまとめた年次レポートの最新版「The 2020 State of the Octoverse」を公開した。新型コロナウイルス感染症(COVID-19)がOSS開発に与えた大きな影響についても触れている。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
GitHubは2020年12月20日(米国時間)、ソースコードのバージョン管理システム「Git」のホスティングサービス「GitHub」について、過去1年間の成長や使用状況をまとめた年次レポートの最新版「The 2020 State of the Octoverse」を公開した。
このレポートは2019年10月〜2020年9月のデータに基づいており、GitHubの成長や使用状況のパターン、トレンドに関する分析も含まれている。こうしたパターンやトレンドは、開発者やチームがオープンソースソフトウェア(OSS)に取り組む際や企業での仕事に役立つという観点から、GitHubが選んだものだ。これらの分析は、「仕事と遊びのバランスを見いだす」「健全なコミュニティーに力を与える」「世界のソフトウェアのセキュリティを確保する」という3つのテーマ別に解説されている。
3つのテーマを解説する前に、レポートではGitHubの活動状況について、幾つかの数値を紹介している。
GitHubでこの1年に構築されたコードと、コミュニティーの規模については次の通りだ。
アクティブユーザーの地域分布も示した。
GitHubで最も利用されているプログラミング言語はJavaScript、2位がPythonだった。伸びが著しいのはTypeScriptだ。
GitHubは「われわれは2020年に、作業スペースとスケジュールの見直しを迫られ、仕事と家の境界をテストした。その結果、線引きが難しい場合もあることが分かった」と述べ、「仕事と遊びのバランスを見いだす」というテーマでの分析結果を示した。
アクティブユーザー当たりのOSSプロジェクト作成数について、前年比増減率をまとめたグラフからは以上の2点の効果をはっきりと読み取ることができる。
1週間の傾向を見ると、週末は開発者の仕事時間が減る一方で、OSSの活動が増えていた。これはOSSの活動が学び、創造する場であるとともに、仕事から逃れる場でもあるということかもしれない。
開発時間を把握するため、メインブランチへの最初のプッシュから最後のプッシュまでの時間を測定した結果、どの曜日でも、2019年よりも2020年の方が長かった。この他、次の傾向が明らかになった。
誰もが自宅待機を強いられるときに、世界の開発者はOSS活動を通じて、つながりやコミュニティーを見いだしている。この1年で、GitHubは世界的に規模と多様性が拡大した。プロジェクトの種類やコントリビューターのスキルも広がっている。コントリビューターの前年増加率が多い10カ国を見ると、アフリカやイスラム諸国、南米などが目立つ。
COVID-19はOSSの活動に別の側面からも影響を与えた。COVID-19自体を扱うOSSプロジェクト「Open Source for Good」のリポジトリが急増している。こうしたプロジェクトは新しい開発者にとって、OSSコミュニティーへの格好の入口になる。
GitHubに参加する人々はいわゆる開発者だけではない。データアナリストや研究者、学生、教師、デザイナーがGitHubに参加している。このことは、GitHubにおけるコラボレーションの対象が、コードだけにとどまらず、より拡大していることを示唆している。
GitHubを教育のプラットフォームとして使うことには意味がある。学生や生徒に対して、長期にわたるソフトウェア開発のキャリアへの準備をさせたり、世界の人々の生活にインパクトを与える機会を紹介したりできる。アクティブな教師は73%増加し、アクティブな学生や生徒は32%増えたという。
GitHubは「コミュニティーはワークフローに自動化を取り入れることで、より容易かつ迅速に脆弱(ぜいじゃく)性を特定、修正している」と述べ、「世界のソフトウェアのセキュリティを確保する」というテーマでの分析結果のポイントを次のように挙げた。
GitHubのほとんどのプロジェクトはOSSに依存している。この分析は、2019年10月1日〜2020年9月30日に毎月少なくとも1回コントリビューションがあったパブリックオープンソースリポジトリを対象としている。
脆弱性については次のような分析結果を示した。
GitHubは「コミュニティーの活動が拡大する中、開発者の“燃え尽き”を防ぐことがこれまで以上に重要になっている。GitHubの新機能は開発者に対して、他の開発者とつながり、コラボレーションを試みる場を提供し、誰もが最も重要な仕事に集中できるようにする」と述べ、「健全なコミュニティーに力を与える」というテーマでの分析結果を紹介した。この新機能とは2020年5月に発表された「GitHub Discussions」であり、「next.js」のβテストで成功を収めた。
コミュニティーはGitHub Discussionsにより、メンテナや主要リーダーに負担をかけることなく、コンテキストやノウハウを共有できるようになった。人々は、会話と作業を分離しながら、共通プラットフォームを共有できるGitHub Discussionsの機能を高く評価している。
Discussionsは、新しいコミュニティーメンバーの維持にも貢献している。新メンバーはディスカッションに参加した場合、コミットのプッシュやイシューの作成を行った場合よりも、コミュニティーにとどまる割合が高かった。
上に示したグラフではアカウント作成後、28日以内に最初のコントリビューションを行ったかどうかを見ている。28日以内にコントリビューションを行った場合、残留したと見なした。
OSSコミュニティーは自動化も活用した。チームはワークフローの自動化により、重要な作業に集中できる時間を増やし、ソフトウェアデリバリーをスピードアップできる。「GitHub Actions」を使ってプルリクエストを自動化したOSSプロジェクトは、ソフトウェアデリバリーが迅速化し、コラボレーションも向上した。OSSコミュニケーションと自動化のパターンを学ぶことで、エンタープライズチームの生産性を高めることもできる。
Copyright © ITmedia, Inc. All Rights Reserved.