Определяем местоположение по коммитам в git
Вот вам карты «возможного» местоположения разработчиков Telegram и React для затравки.

Telegram Desktop. Всего 205 человек. Из них 3 основные. Два (работают с 2014 и 2019) в районе Самара-Кавказ (Армения, Грузия, Азербайджан) и один (работает с 2018) вероятно в Турции.

ReactJS. Всего 1854 человек. Основной состав: 14 работает, 26 уволилось. Примерно 50/50 сидят на восточном и западном побережье США.
Параметры:
масштаб +/- страна;
промах до тыс. км.;
вероятность ошибки, по ощущениям, пока ~20%;
Факты:
Текущий алгоритм:
смотрим часовой пояс в метки времени коммита;
в некоторых часовых поясах расположен лишь один крупный город (например: +4:30 Кабул, +5:45 Катманду, +10:30 Аделаида);
в некоторых часовых поясах расположена лишь одна страна (например: +05:30 Индия, +12:00/+13:00 Новая Зеландия);
имея зону с N странами учитываем только те, где большая вероятность IT (например: в зоне Буркина Фасо / Великобритания исключаем Буркина Фасо)
проверяем домен первого уровня у почтового ящика (например: mil в основном используют военные США);
проверяем почтовый сервер (например: китайцы предпочитают qq.com)
проверяем уникальные символы в текстах коммитах (например: ł для Польши, ß для Германии, ñ для Испании);
проверяем популярные фамилии (например: Ким и Пак это ~15 млн. корейцев из зоны Корея/Япония, а Судзуки и Сато ~4 млн. японцев)
Что можно ещё:
сохранить ТОП 100 IT-компаний и их адресов. Из email узнать компанию (например: для ivan@luxoft.com это, скорее всего, Luxoft). Сопоставить почту, офисы и текущий диапазон стран.
если человек долго и много коммитил, можно составить гистограмму и сопоставить провалы в ней с гос. праздниками (например: рождество у католиков, фиеста и сиеста у испанцев, день независимости в Папуа — Новая Гвинея).
сопоставить местоположение с другими метриками и выделить на карте работающих и уволенных (или основной состав). Далее корректировать местоположение отдельных ребят по позиции большинства.
Минусы:
много мест с «если», поэтому будут ошибки. Моя задача угадать не 100% случаев, а верно предположить «для большинства».
алгоритм легко обмануть, но «для большинства» это бессмысленная задача.
Да, метод не самый точный. Но текущая реализация (с багами) уже неплохо угадывает, а если добавить правильные переходы на летнее и зимнее время, а так же расширить метрики, станет ещё лучше. Исходники тут, онлайн демо тут.
Пакеты для Python, Ruby, JS, PHP, Docker
Python:
установка: pipx install assayoсоздать отчёт: assayo
Ruby:
установка: gem install assayoсоздать отчёт: assayo
JS:
создать отчёт: npx assayo
PHP:
установка: composer require bakhirev/assayo
создать отчёт: vendor/bin/assayo
Docker:
образ: https://hub.docker.com/r/bakhirev/assayo
P.S.: Когда я писал это, новости про Linux ещё не было. А теперь как-то странно выходит, ведь это потенциально можно использовать для массовых баннов. Но с другой стороны, причина банов не в инструменте составления списков. Странно будет удалять это.
