GitHub опубликовал отчёт с анализом статистики за 2020 год. Основные тенденции:
- Аудитория GitHub возросла на 15 млн пользователей и достигла 56 млн (в прошлом году было 41 млн, позапрошлом - 31 млн). На 25% возросла интенсивность разработки открытых проектов. На 34% возросло число принятых pull-запросов. На 18% сократилось время рассмотрения запроса перед слиянием кода.
- За 2020 год было создано 60 млн новых репозиториев (за 2019 год - 44 млн) и добавлено более 1.9 млрд изменений.
- В Cеверной Америке сосредоточено 34% активных пользователей (-2% за год), в Aзии - 30.7% (+1.1% за год), в Европе - 26.8% (+0.1% за год), в Южной Америке - 4.9% (+0.4%), в Африке - 2% (+0.3%).
- Самым популярным языком на GitHub остаётся JavaScript. Второе место занимает Python, третье Java. TypeScript за год поднялся на две позиции и занял четвёртое место. PHP опустился на две позиции с четвёртого на шестое место. Язык Си поднялся с 9 на 8 место, а Shell опустился с 8 на 9.
- После начала пандемии COVID-19 разработчики стали больше тратить времени на открытые проекты, а число создаваемых открытых проектов возросло на 40%.
- Общая активность разработчиков в выходные дни снижается, но активность разработки открытых проектов наоборот возрастает.
- По числу используемых зависимостей лидируют JavaScript-проекты, использующие NPM - в среднем подобные проекты связываются с 683 зависимостями. На втором месте PHP - 70 зависимостей. Далее следуют Ruby - 68 зависимостей и Python - 19 зависимостей. Отмечается, что при увеличении числа зависимостей увеличивается и риск распространения уязвимостей, выявляемых в зависимостях. Шанс получить уведомление об уязвимости в одной из зависимостей в следующем году в среднем оценивается в 59%.
- 94% активных репозиториев с кодом на JavaScript используют зависимости с открытым кодом. Для кода на Java этот показатель составляет 65%.
- 83% выявленных уязвимостей связаны с ошибками при программировании и человеческим фактором, а 17% являются результатом вредоносных атак. В среднем уязвимости остаются незамеченными в течение 4 лет. На выпуск исправления уязвимости в среднем уходит 4.4 недели. 10 недель в среднем тратится на выпуск уведомления об устранении уязвимости.