「GitHub」の過去1年間の成長や使用状況をまとめた年次レポートが公開:COVID-19の流行でOSS活動が活発化
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つのテーマ別に解説されている。
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は「われわれは2020年に、作業スペースとスケジュールの見直しを迫られ、仕事と家の境界をテストした。その結果、線引きが難しい場合もあることが分かった」と述べ、「仕事と遊びのバランスを見いだす」というテーマでの分析結果を示した。
- 新型コロナウイルス感染症(COVID-19)に対する政府の対策が、あらゆる地域で在宅勤務に明確な影響を与えた
- 開発者が働く時間は増えているが、OSSプロジェクトに費やす時間も増えている
アクティブユーザー当たりのOSSプロジェクト作成数について、前年比増減率をまとめたグラフからは以上の2点の効果をはっきりと読み取ることができる。
1週間の傾向を見ると、週末は開発者の仕事時間が減る一方で、OSSの活動が増えていた。これはOSSの活動が学び、創造する場であるとともに、仕事から逃れる場でもあるということかもしれない。
開発時間を把握するため、メインブランチへの最初のプッシュから最後のプッシュまでの時間を測定した結果、どの曜日でも、2019年よりも2020年の方が長かった。この他、次の傾向が明らかになった。
- 調査を行ったどの地域でも、開発者はより多く働き、より協力して働いた
- リポジトリの作成数の前年比増加率 35%
- OSSプロジェクトへのコントリビューションの増加率 25%
- チームの生産性が最も高く、コラボレーションが最も活発な週にプルリクエストがマージされるまでの時間の短縮幅 7.5時間
誰もが自宅待機を強いられるときに、世界の開発者はOSS活動を通じて、つながりやコミュニティーを見いだしている。この1年で、GitHubは世界的に規模と多様性が拡大した。プロジェクトの種類やコントリビューターのスキルも広がっている。コントリビューターの前年増加率が多い10カ国を見ると、アフリカやイスラム諸国、南米などが目立つ。
COVID-19はOSSの活動に別の側面からも影響を与えた。COVID-19自体を扱うOSSプロジェクト「Open Source for Good」のリポジトリが急増している。こうしたプロジェクトは新しい開発者にとって、OSSコミュニティーへの格好の入口になる。
GitHubに参加する人々はいわゆる開発者だけではない。データアナリストや研究者、学生、教師、デザイナーがGitHubに参加している。このことは、GitHubにおけるコラボレーションの対象が、コードだけにとどまらず、より拡大していることを示唆している。
GitHubを教育のプラットフォームとして使うことには意味がある。学生や生徒に対して、長期にわたるソフトウェア開発のキャリアへの準備をさせたり、世界の人々の生活にインパクトを与える機会を紹介したりできる。アクティブな教師は73%増加し、アクティブな学生や生徒は32%増えたという。
世界のソフトウェアのセキュリティを確保する
GitHubは「コミュニティーはワークフローに自動化を取り入れることで、より容易かつ迅速に脆弱(ぜいじゃく)性を特定、修正している」と述べ、「世界のソフトウェアのセキュリティを確保する」というテーマでの分析結果のポイントを次のように挙げた。
- npmの推移的依存関係が683件と最も多く、PHP(70件)、Ruby(68件)、Python(19件)がこれに続く。これらはいずれも1つのセキュリティ脆弱性の影響を受ける。
- サポートされているパッケージエコシステムがあるアクティブリポジトリから、1年以内にセキュリティアラートを受け取る確率は59%に上る。
GitHubのほとんどのプロジェクトはOSSに依存している。この分析は、2019年10月1日〜2020年9月30日に毎月少なくとも1回コントリビューションがあったパブリックオープンソースリポジトリを対象としている。
脆弱性については次のような分析結果を示した。
- ほとんどの脆弱性は、悪意ある攻撃ではなく、ミスに起因している
- 明示的な悪意ある脆弱性は全体の17%だが、アラート全体のうちわずか0.2%にすぎなかった
- 残存している脆弱性の83%は、ミスに起因している
- 修正プログラムによるアップデートのプルリクエストを自動生成したリポジトリは、自動生成しなかったリポジトリと比べて、1.4倍高速にソフトウェアにパッチを適用できた
- 脆弱性が検出、特定されるまでの期間は4年と長い
- 脆弱性が特定されてから、コミュニティーが修正プログラムを作成し、リリースするまでにかかる期間は4.4週間
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- OSS技術者の開発ストーリーを紹介 GitHubが「ReadMEプロジェクト」を開始
GitHubは、ソフトウェア開発コミュニティーでの開発ストーリーを共有し、互いの学びを提供する新たな場として「ReadMEプロジェクト」を始めた。オープンソースの背景にある開発者のストーリーを紹介する。 - Google、ファジングツール評価を自動化できる「FuzzBench」をリリース
Googleは、複数のファジングツールの評価を自動化できるオープンソースソフトウェアであり、無料サービスである「FuzzBench」をリリースした。どのソフトウェアテストが優れているのか、判定しやすい。 - 「自社の成果物をOSSとして公開しよう」――何に気を付けるべき?
自社の成果物をOSSとして公開する場合、どのようなことに気を付けなければいけないでしょうか? OSS利用の変遷を振り返りつつ解説します。