GitHub показал связь открытого кода и экономики стран

Исследователи представили работу, в которой данные GitHub Innovation Graph использованы для оценки экономического влияния открытого ПО и вклада разработчиков. В статье в журнале Research Policy показано, что география разработки открытого кода на GitHub помогает измерять «цифровую сложность» стран и прогнозировать экономические показатели.

Авторы применили индекс экономической сложности (Economic Complexity Index, ECI) к данным GitHub, чтобы выяснить, как программное обеспечение связано с ВВП на душу населения, неравенством доходов и выбросами. По их словам, традиционные подходы, основанные на торговле товарами, патентах и научных публикациях, почти не учитывают программный код, хотя он содержит значимую часть производственных знаний.

Команда использовала GitHub Innovation Graph, который предоставляет поквартальные данные о количестве разработчиков по странам и языкам программирования для 163 экономик и 150 языков в период 2020–2023 годов. Однако отдельный язык программирования редко выступает в одиночку, поэтому исследователи перешли к анализу устойчивых сочетаний языков.

Для этого они сформировали дополнительный набор данных через GitHub GraphQL API, собрав репозитории, активные в 2024 году, и рассчитали, какие языки чаще встречаются вместе. На основе взвешенного со‑встречаемости языков и косинусного сходства были выделены 59 «программных пакетов», представляющих собой устойчивые технологические стеки (например, HTML+CSS+JavaScript для веба или Python+Jupyter Notebook для анализа данных).

Далее исследователи построили матрицу «страна — программный пакет» и вычислили сравнительные преимущества стран, чтобы понять, где у них есть «непропорционально высокая» концентрация разработчиков по сравнению с мировым средним уровнем. На основе этой бинаризованной матрицы был рассчитан индекс экономической сложности по стандартной методике: страны, которые активно участвуют во многих редких пакетах, получают высокие значения ECI, а страны, сосредоточенные на распространённых технологиях, — низкие.

Отдельный блок посвящён принципу «связанности» способностей. Исследование показывает, что страны не переключаются случайно между программными специализациями, а расширяют компетенции рядом с уже имеющимися стеками. Это повторяет известный в экономике эффект: государства осваивают товары и технологии, близкие к уже освоенным.

Авторы объяснили идею ECI через аналогию с кухней: «страны‑кухни» с широким набором «ингредиентов и инструментов» могут готовить сложные «блюда» — в данном случае сложные программные системы. В традиционных исследованиях такими блюдами считались экспортируемые товары, а в этой работе — программное обеспечение, создаваемое на GitHub.

Исследование указывает и на ограничения подхода. Во‑первых, GitHub Innovation Graph фиксирует только публичную активность, поэтому закрытые корпоративные проекты не учитываются, что особенно искажает картину в странах с сильным, но преимущественно проприетарным софтом. Во‑вторых, период наблюдения пока составляет четыре года, чего достаточно для сравнения стран в текущий момент, но мало для уверенных выводов о долгосрочном росте, который обычно рассматривается в горизонте десятилетий.

По словам авторов, идеальный набор данных сочетал бы активность, подобную GitHub, с информацией о назначении проектов: используемых фреймворках, библиотеках и функциональном назначении ПО. Это позволило бы строить более точные «пакеты возможностей» по типу применения — например, финтех, игровые движки или авионика, а не только по языкам. Пока для оценки этой стороны они частично используют GitHub Topics, но признают, что эти данные «шумные» и неполные.

Исследователи обсудили и политические выводы. По словам Цезара, программное обеспечение интересно для промышленной политики, так как опирается прежде всего на мобильный человеческий капитал — разработчиков. Страны могут стимулировать рост через программы привлечения талантов, но при этом рискуют отпугнуть специалистов и компании чрезмерно жёстким регулированием в сфере защиты потребителей и труда, которое фактически перекладывает риски инноваций на малые и средние фирмы.

Для самих разработчиков вывод другой: полезно понимать, что страны сильно различаются по профильным стек‑технологиям. Авторы предполагают, что картирование программных специализаций по странам может помочь инженерам выбирать регионы, где их навыки будут наиболее востребованы и совместимы с локальной структурой разработки.

Отдельное внимание уделяется тому, как генеративный ИИ изменит картину «цифровой сложности». Команда ставит вопросы, снизят ли ИИ‑ассистенты входной порог для освоения новых языков и ускорят ли диверсификацию технологий в странах или, напротив, укрепят преимущества государств с развитой инфраструктурой ИИ. Исследователи отмечают, что уже ведут работу в этом направлении, в том числе в новом исследовании в журнале Science о распространении ИИ‑ассистированного программирования на GitHub.

Авторы ожидают, что индексы экономической сложности на основе программных данных в течение ближайшего десятилетия войдут в стандартный набор инструментов для государственных решений наравне с индексами, построенными на торговой статистике. Преимущества такого подхода, по их мнению, в том, что данные открыты, обновляются ежеквартально и позволяют измерять то, чего пока не видно в традиционной экономической статистике.

В интервью также затронуты научные биографии авторов и их повседневная работа. Исследователи пришли в экономическую сложность из математики, физики, экономической географии и вычислительной социальной науки, а GitHub‑данные рассматривают как богатый и открытый источник информации о создании знаний. В повседневной практике они сочетают программирование, анализ данных, написание статей и взаимодействие с коллегами из разных дисциплин.

Команда отмечает, что широко использует большие языковые модели как вспомогательный инструмент: для отладки конвейеров обработки данных, создания шаблонного кода и проверки статистических подходов. При этом, по их словам, ИИ даёт наибольшую пользу, когда у исследователя уже есть чёткая постановка задачи.

В заключение авторы делятся советами для молодых исследователей и инженеров. Они рекомендуют фокусироваться на проектах, которые имеют шансы стать более значимыми через 10–20 лет, создавать свои датасеты, не бояться закрывать «почти готовые» работы без перспективы роста, а также раньше выходить в коллаборации и междисциплинарные проекты, как это произошло с их совместным исследованием на основе GitHub Innovation Graph.

Источник: GitHub, Research Policy.

Читать новости ИИ и технологий в Telegram.


Оцените статью
Gimal-Ai