Методология
Кого мы учитываем
- Для каждой страны мы ищем на GitHub пользователей, у которых местоположение в профиле совпадает со страной или одним из её городов. Список строк местоположения для каждой страны лежит в
presets/и открыт для пул-реквестов. - Поиск GitHub не умеет сортировать по вкладу, поэтому из всех подходящих мы берём 1000 пользователей с наибольшим числом подписчиков и ранжируем только их. На странице каждой страны указано, сколько подписчиков у наименее популярного из рассмотренных.
- Организации и боты исключаются.
- Каждый относится ровно к одной стране: к первой, которая упомянута в местоположении профиля. Если указано несколько стран, учитывается только первая.
Что мы считаем
Вклад за последние 12 месяцев в том виде, в каком GitHub считает его в профилях:
- Публичный вклад — коммиты, пул-реквесты, issue и ревью, видимые всем.
- Весь вклад — публичный плюс приватный. Приватный вклад учитывается только у тех, кто сам решил показывать его в профиле; у остальных на этой вкладке то же число, что и на публичной.
- Коммиты — только публичные коммиты.
При равенстве выше тот, у кого больше подписчиков, а дальше — по логину.
Под каждым именем: C — публичные коммиты, PR — пул-реквесты, IS — issue, RV — ревью и замок для приватного вклада (наведите курсор, чтобы увидеть точные числа). GitHub отдаёт приватную активность одним числом, которое нельзя ни разложить, ни проверить, поэтому в рейтинге Весь вклад маленький замок рядом с итогом отмечает тех, у кого вклад почти целиком (90% и больше) приватный. Их не исключают: многие работают над закрытым кодом. Основной рейтинг считает только публичный вклад.
Некоторые аккаунты показывают огромное число коммитов и почти никакой другой активности: ни пул-реквестов, ни issue, ни ревью. Так выглядит скрипт, который весь день коммитит в один и тот же репозиторий, а также аккаунт, почти все коммиты которого уходят в его собственный репозиторий, которым никто больше не пользуется. Тех, кто коммитит напрямую в широко используемый чужой проект, как это часто делают мейнтейнеры больших сообществ, автоматическими не считают. Такие аккаунты отмечены маленьким роботом в рейтингах стран и не попадают в мировой рейтинг и мировые бейджи.
Почему меня нет в списке?
- Местоположение в вашем профиле не совпадает ни с одной строкой из пресета вашей страны. Местоположение — это свободный текст: укажите свой город или страну либо пришлите пул-реквест в пресет.
- Вы не входите в 1000 пользователей вашей страны с наибольшим числом подписчиков.
- Ваш вклад приватный и не показывается в профиле.
- Вы попросили себя удалить (см. Приватность и отказ).
Доступ к данным
Каждый рейтинг доступен и в JSON: /api/index.json перечисляет страны, а /api/<country>.json (например, /api/canada.json) содержит все три рейтинга с местом, логином и вкладом. Мировой рейтинг — в /api/world.json. Файлы статические, их можно загружать с любого сайта.
Используйте их для исследований открытого кода, статистики и проектов сообщества. Не используйте их для массовых рассылок, рекрутинга или перепродажи данных. Те, кто отказался от участия, в данных никогда не появляются.
Обновления
Страны обновляются по очереди, начиная с тех, что обновлялись давнее всего. На странице каждой страны указано время последнего обновления.
Вдохновлено committers.top.