ITmedia DX
ニュース
» 2021年01月07日 17時00分 公開

「GitHub」の過去1年間の成長や使用状況をまとめた年次レポートが公開COVID-19の流行でOSS活動が活発化

GitHubは、「GitHub」の過去1年間の成長や使用状況をまとめた年次レポートの最新版「The 2020 State of the Octoverse」を公開した。新型コロナウイルス感染症(COVID-19)がOSS開発に与えた大きな影響についても触れている。

[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 GitHubは2020年12月20日(米国時間)、ソースコードのバージョン管理システム「Git」のホスティングサービス「GitHub」について、過去1年間の成長や使用状況をまとめた年次レポートの最新版「The 2020 State of the Octoverse」を公開した。

 このレポートは2019年10月〜2020年9月のデータに基づいており、GitHubの成長や使用状況のパターン、トレンドに関する分析も含まれている。こうしたパターンやトレンドは、開発者やチームがオープンソースソフトウェア(OSS)に取り組む際や企業での仕事に役立つという観点から、GitHubが選んだものだ。これらの分析は、「仕事と遊びのバランスを見いだす」「健全なコミュニティーに力を与える」「世界のソフトウェアのセキュリティを確保する」という3つのテーマ別に解説されている。

1年間で作成されたリポジトリは6000万以上

 3つのテーマを解説する前に、レポートではGitHubの活動状況について、幾つかの数値を紹介している。

 GitHubでこの1年に構築されたコードと、コミュニティーの規模については次の通りだ。

  • GitHubを使用する開発者の総数 5600万人以上
  • GitHub Enterpriseを使用するフォーチュン50企業の割合 72%
  • この1年に新規作成されたリポジトリ 6000万以上
  • この1年のコントリビューション 19億以上

 アクティブユーザーの地域分布も示した。

  • 北米 34%(前年比2ポイント減)
  • アジア 30.7%(前年比1.1ポイント増)
  • 欧州 26.8%(前年比0.1ポイント増)
  • 南米 4.9%(前年比0.4ポイント増)
  • アフリカ 2%(前年比0.3ポイント減)
  • オセアニア 1.7%(前年比横ばい)

 GitHubで最も利用されているプログラミング言語はJavaScript、2位がPythonだった。伸びが著しいのはTypeScriptだ。

GitHubで利用されている主なプログラミング言語(出典:GitHub

仕事と遊びのバランスを見いだす

 GitHubは「われわれは2020年に、作業スペースとスケジュールの見直しを迫られ、仕事と家の境界をテストした。その結果、線引きが難しい場合もあることが分かった」と述べ、「仕事と遊びのバランスを見いだす」というテーマでの分析結果を示した。

  • 新型コロナウイルス感染症(COVID-19)に対する政府の対策が、あらゆる地域で在宅勤務に明確な影響を与えた
  • 開発者が働く時間は増えているが、OSSプロジェクトに費やす時間も増えている

 アクティブユーザー当たりのOSSプロジェクト作成数について、前年比増減率をまとめたグラフからは以上の2点の効果をはっきりと読み取ることができる。

COVID-19の大流行(パンデミック)が起こり始めた2020年3〜4月に、OSSの活動が2019年比で大幅に増加した(7日間移動平均)(出典:GitHub

 1週間の傾向を見ると、週末は開発者の仕事時間が減る一方で、OSSの活動が増えていた。これはOSSの活動が学び、創造する場であるとともに、仕事から逃れる場でもあるということかもしれない。

曜日別で見たユーザー当たりの平均開発時間とオーバーレイオープンソースリポジトリへの全てのコントリビューションの割合(出典:GitHub

 開発時間を把握するため、メインブランチへの最初のプッシュから最後のプッシュまでの時間を測定した結果、どの曜日でも、2019年よりも2020年の方が長かった。この他、次の傾向が明らかになった。

  • 調査を行ったどの地域でも、開発者はより多く働き、より協力して働いた
  • リポジトリの作成数の前年比増加率 35%
  • OSSプロジェクトへのコントリビューションの増加率 25%
  • チームの生産性が最も高く、コラボレーションが最も活発な週にプルリクエストがマージされるまでの時間の短縮幅 7.5時間

 誰もが自宅待機を強いられるときに、世界の開発者はOSS活動を通じて、つながりやコミュニティーを見いだしている。この1年で、GitHubは世界的に規模と多様性が拡大した。プロジェクトの種類やコントリビューターのスキルも広がっている。コントリビューターの前年増加率が多い10カ国を見ると、アフリカやイスラム諸国、南米などが目立つ。

コントリビューターの前年比増加率が高い国や地域(出典:GitHub

 COVID-19はOSSの活動に別の側面からも影響を与えた。COVID-19自体を扱うOSSプロジェクト「Open Source for Good」のリポジトリが急増している。こうしたプロジェクトは新しい開発者にとって、OSSコミュニティーへの格好の入口になる。

リポジトリが急増した主な分野(出典:GitHub

 GitHubに参加する人々はいわゆる開発者だけではない。データアナリストや研究者、学生、教師、デザイナーがGitHubに参加している。このことは、GitHubにおけるコラボレーションの対象が、コードだけにとどまらず、より拡大していることを示唆している。

学生や教師、データアナリストもGitHubに参加している(出典:GitHub

 GitHubを教育のプラットフォームとして使うことには意味がある。学生や生徒に対して、長期にわたるソフトウェア開発のキャリアへの準備をさせたり、世界の人々の生活にインパクトを与える機会を紹介したりできる。アクティブな教師は73%増加し、アクティブな学生や生徒は32%増えたという。

世界のソフトウェアのセキュリティを確保する

 GitHubは「コミュニティーはワークフローに自動化を取り入れることで、より容易かつ迅速に脆弱(ぜいじゃく)性を特定、修正している」と述べ、「世界のソフトウェアのセキュリティを確保する」というテーマでの分析結果のポイントを次のように挙げた。

  • npmの推移的依存関係が683件と最も多く、PHP(70件)、Ruby(68件)、Python(19件)がこれに続く。これらはいずれも1つのセキュリティ脆弱性の影響を受ける。
  • サポートされているパッケージエコシステムがあるアクティブリポジトリから、1年以内にセキュリティアラートを受け取る確率は59%に上る。
OSSに依存するアクティブリポジトリの割合(出典:GitHub

 GitHubのほとんどのプロジェクトはOSSに依存している。この分析は、2019年10月1日〜2020年9月30日に毎月少なくとも1回コントリビューションがあったパブリックオープンソースリポジトリを対象としている。

 脆弱性については次のような分析結果を示した。

  • ほとんどの脆弱性は、悪意ある攻撃ではなく、ミスに起因している
  • 明示的な悪意ある脆弱性は全体の17%だが、アラート全体のうちわずか0.2%にすぎなかった
  • 残存している脆弱性の83%は、ミスに起因している
  • 修正プログラムによるアップデートのプルリクエストを自動生成したリポジトリは、自動生成しなかったリポジトリと比べて、1.4倍高速にソフトウェアにパッチを適用できた
  • 脆弱性が検出、特定されるまでの期間は4年と長い
  • 脆弱性が特定されてから、コミュニティーが修正プログラムを作成し、リリースするまでにかかる期間は4.4週間

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。