Стоит ли бояться исключения россиян из мирового Open Source-сообщества

СМИ о нас Источник: РБК

Отечественные компании, применяющие открытое ПО, обеспокоены возможными массовыми блокировками российских разработчиков в международных Open Source-проектах. Оправданны ли эти страхи — в колонке Ивана Панченко, заместителя генерального директора Postgres Professional. 

В марте 2023 года разработчики Linux отказались принимать правки в код ядра системы от российского разработчика процессоров «Байкал Электроникс». Правки предложил один из сотрудников российской компании Сергей Семин. В переписке один из участников Linux Kernel Organization Якуб Кицински ответил ему, что организации «некомфортно» принимать правки от людей из «Байкал Электроникс», и попросил перестать принимать участие в разработке ядра Linux до дальнейших уведомлений.

Ровно год назад аккаунты нескольких десятков российских разработчиков без предупреждения заблокировал GitHub — самый популярный в мире репозиторий открытого кода, крупнейший в мире веб-сервис для хостинга IT-проектов и их совместной разработки. Сервис сослался на то, что владельцы аккаунтов связаны с подсанкционными регионами — Крымом, ЛНР или ДНР.

Ранее для пользователей из России уже заблокировали свои сайты и пакетные репозитории разработчики многофункциональной библиотеки QT, лежащей в основе графической оболочки Astra Linux, популярного чата Mattermost, системы оркестрации (управления) IT-инфраструктуры Terraform (используется в инфраструктуре Гостеха) и QCAD (свободная система автоматизированного проектирования).

В российском сообществе разгорелся спор, стоит ли относиться к этим событиям как к серьезному прецеденту и могут ли россиян массово отрезать от мирового сообщества Open Source. Чтобы ответить на эти вопросы, разберемся, какой вклад вносят россияне в проекты с открытым кодом, что произойдет, если негативный сценарий подтвердится, и как предотвратить такое развитие событий.

Чем ценен Open Source и почему важно сохранить к нему доступ

Отказ Якуба Кицинского вызвал резонанс в российском IT-сообществе, для которого работа с открытым и свободным программным обеспечением — ОСПО — часть привычной картины мира. ОСПО — основа любого современного софта. Почти все новые программные решения сейчас пишутся на базе уже существующего кода. Костяк будущего решения собирают из готовых блоков, как правило, с открытым кодом, при необходимости дорабатывая их. Так происходит потому, что разрабатывать ПО каждый раз с нуля — чрезмерно долго, дорого и неэффективно. Все равно что изобретать колесо каждый раз, проектируя новый автомобиль.

Именно поэтому в разработке ядра Linux в период с 2005 по 2017 год приняли участие около 15,6 тыс. человек из более чем 1400 компаний по всему миру. Сейчас в ядре — больше 30 млн строк кода, и каждый день в сообщество поступает около 25 патчей — новых дополнений кода. Чтобы с нуля написать операционную систему, сравнимую по возможностям с Linux, понадобилась бы работа нескольких тысяч разработчиков в течение десятков лет.

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

Вслед за ростом популярности софта на основе открытого кода растет и спрос на его разработчиков. По данным опроса RedHat, 82% заказчиков предпочтут вендора, который вносит вклад в ОСПО. Во-первых, такие компании, по данным опроса, более эффективны в решении возникающих проблем и могут продвигать нужную заказчикам функциональность. Во-вторых, регулярный вклад компании в свободный софт подтверждает уровень ее технологической компетентности и зрелости.

Все это увеличивает ценность ОСПО как для IT-индустрии, так и бизнеса в целом. Вместе с тем становится все более важным и то, кто определяет развитие открытых решений.

Раньше код для открытых проектов писали разработчики-энтузиасты, которые таким образом могли поделиться опытом и оставить след в истории крупных проектов. Чуть позже лидерство перехватили коммерческие компании. Сообщество помогает им тестировать нужные для заказчиков фичи, ищет и устраняет уязвимости, а также делится новыми патчами.

Основные контрибьюторы ОСПО сегодня — крупнейшие корпорации: Google, Microsoft, Red Hat, IBM, Intel, Amazon, Facebook (принадлежит компании Meta, которая признана в России экстремистской и запрещена) и другие. Однако в ряде международных проектов есть существенное участие российских разработчиков.

Вклад россиян в Open Source

Важный вопрос — кого считать российскими контрибьюторами: тех, кто проживает на территории России, тех, кто имеет российское гражданство, тех, кто связан со страной этнически, русскоговорящих или только тех, кто сам идентифицирует себя как россиян. Как бы то ни было, среди разработчиков ОСПО достаточно программистов, отвечающих хотя бы одному из этих условий.

По состоянию на апрель 2023 года Россия находится на седьмом месте в списке стран, наиболее активно использующих GitHub. Разработчики от Калининграда до Владивостока генерируют около 3% всего трафика на платформу. На конец 2021 года сервис использовали 1,98 млн программистов, указавших Россию в качестве локации у себя в профиле. В 2022 году к платформе присоединились еще 582 тыс. отечественных разработчиков. Кто-то из них активно участвует в развитии международных проектов, кто-то сам пишет решения, которые позже завоевывают популярность по всему миру.

В октябре 2022 года сотрудники Университета Болоньи и Политехнического института Парижа представили крупнейшее исследование географии контрибьюторов проектов ОСПО с 1971 по 2021 год. Они проанализировали около 2,2 млн коммитов (принятых дополнений кода) от 43 млн разработчиков и сделали графики, демонстрирующие процентное распределение вклада разных регионов мира в открытые проекты.

На первый взгляд, доля россиян может показаться не такой большой. Но если учитывать, что график сравнивает не страны, а регионы, ее значимость заметно растет. Россия заметно обгоняет по своему вкладу Китай, Австралию, Юго-Восточную и Западную Азию и сравнима с Центральной и Южной Азией. При этом заметно, что с 2000-х годов доля соотечественников медленно, но верно растет.

Среди самых известных проектов ОСПО с российскими корнями — веб-сервер Nginx Игоря Сысоева, аналитическая СУБД ClickHouse Алексея Миловидова, библиотека для машинного обучения CatBoost Андрея Гулина и Анны Вероники Дорогуш. Еще один известный пример — язык программирования с открытым исходным кодом Kotlin, разработанный специалистами компании JetBrains. Язык был создан в 2011 году и сейчас занимает 13-е место в рейтинге PYPL с долей рынка 1,77% в 2023 году.

Российские разработчики внесли заметный вклад и в крупные международные проекты ОСПО. Например, отечественный разработчик систем управления базами данных Postgres Professional занимает второе место из более чем 140 в мировом рейтинге разработчиков СУБД с открытым кодом PostgreSQL. Каждый год команда компании вносит в сообщество больше ста правок кода — патчей. В 2022 году по объему вклада Postgres Professional обогнала таких мировых гигантов, как Microsoft, Amazon, Fujitsu, Google, Apple и других. В рейтинге есть и еще два российских разработчика: «Контур» на 17-м месте и Arenadata на 33-м.

Самый известный мировой проект ОСПО — это, конечно, Linux. В развитии ядра системы принимает участие свыше полутора тысяч компаний, в том числе и отечественные разработчики. В России одним из значимых участников развития ядра Linux является Институт системного программирования РАН. В 2022 году на базе ИСП РАН под эгидой ФСТЭК России был создан Технологический центр исследования безопасности ядра Linux. Среди основных задач центра — доработка ядра Linux с целью повышения его безопасности и разработка патчей по устранению уязвимостей. Центр объединил работу разработчиков из более чем 20 российских компаний-партнеров, среди которых Astra Linux, «Базальт», «Ред Софт», «Роса», «Байкал Электроникс», «Яндекс.Облако» и многие другие.

Общими усилиями разработчиков из этих компаний в 2022 году в сообщество Linux было направлено больше 150 патчей. Часть из этих патчей была высоко оценена западными разработчиками. Среди них — серия патчей, связанная с улучшением архитектуры процесса инициализации ядра. Она уже прошла через несколько стадий ревью мейнтейнерами ядра и получила поддержку со стороны разработчиков из AMD, Intel и RedHat, поскольку среди пользователей по всему миру есть запрос на появление этой функциональности.

Специалисты  российской компании «Базальт СПО» развивают крупнейшие международные проекты по разработке основных компонентов GNU/Linux. Участники ALT Linux Team представили в ядро Linux десятки патчей, в том числе разработали модуль LSM, контролирующий запуск скриптовых приложений ядра linux и внедрили хэш-функцию Streebog. Компания также принимает участие в других международных Open Source проектах: NetworkManager, Samba, kbd, linux-pam, rpm, haspd, sane, mozilla, KDE Plasma, Frameworks и других.

Насколько велики шансы исключения россиян

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

В марте 2022 года порядка 300 пользователей GitHub присоединились к призыву исключить россиян из платформы. После жаркого недельного диспута пользователей в комментариях администраторы сервиса закрыли ветку, отметив, что GitHub — «дом для всех разработчиков, независимо от того, где они находятся».

Аналогична и ситуация с Linux — несмотря на инцидент с «Байкал Электроникс», сообщество продолжает принимать патчи от «Базальта», «Астры», «Авроры» и других российских компаний-контрибьюторов. Права разработчиков защищает Code of Conduct (CoC) — кодекс поведения, который регулирует нормы поведения в сообществе и запрещает любую дискриминацию, в том числе и по национальному признаку.

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

На мой взгляд и взгляд большинства моих коллег, массовые отключения и тотальная «отмена» российских программистов маловероятна. Во-первых, от этого пострадает в первую очередь само международное сообщество, которое не сможет бесплатно улучшать свои продукты за счет участия российских коллег. Во-вторых, это разрушительно скажется на имидже ОСПО в целом — падет один из основных принципов сообщества.

С этим мнением согласны и зарубежные специалисты. Например, Крис Трэверс, один из активных контрибьюторов PostgreSQL, в своей недавней колонке Linux and Baikal Electronics: Why Postgres Should not Follow that Path («Linux и Baikal Electronics: почему Postgres не стоит идти по этому пути») предупреждает, что введение ограничений в Open Source фатально для открытых проектов. Это вполне логично. Российское ответвление условного Linux все равно сможет получать все улучшения основной версии ядра, а вот ядро лишится патчей со стороны российского ответвления. В случае если разработчики проявят достаточную компетентность, это сделает российскую версию, во-первых, более продвинутым проектом, а во-вторых, привлекательным для китайских и других незападных компаний.

В сухом остатке «отмена» сообществом разработчиков, развивающих проект, — выстрел себе же в ногу. И все же полезно просчитывать разные варианты, чтобы быть готовыми к любому развитию событий.

Какие формы «отмены» в теории могут быть применены

Блокировка репозиториев. Такой вид санкций уже был опробован GitHub в 2019 году. Скачать или экспортировать заблокированные репозитории невозможно. Сейчас такие ограничения действуют на Крым, Кубу, Иран, Северную Корею и Сирию. Впрочем, это всего лишь неудобство, которое можно обойти;

Блокировка аккаунтов с локацией в Белоруссии и России. В реальности это ограничение тоже легко обходится;

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

К каким последствиям может привести исключение россиян из международных Open Source-проектов

  • российским разработчикам ПО на основе открытых решений придется тратить больше средств: либо на обновление форков (код, который разработчики забирают из репозиториев и видоизменяют его. — РБК Тренды) вслед за основными версиями, либо на полную автономизацию форка и его поддержку собственными силами. Это будет сложный, долгий и затратный процесс, зато он аккумулирует российских разработчиков и приведет к существенному укреплению российской экспертизы;
  • усилится переманивание кадров в зарубежные компании;
  • международные сообщества ОСПО лишатся значительной части экспертизы. Как пишет британское издание The Register, комментируя инцидент с «Байкал Электроникс», санкции в отношении российских контрибьюторов ОСПО — «плохая идея: они принесут пользу только тем странам, в отношении которых введены санкции, и навредят тем, кто их ввел».

Как снизить риски

Наша задача сейчас — объединять инициативы российских компаний-разработчиков, развивать культуру открытого кода в стране, совершенствовать экспертизу наших программистов, растить молодое поколение специалистов. Самое главное — это продолжать разрабатывать сильные и полезные решения и там, где это уместно, предлагать их мировому сообществу. Именно наш вклад в международные проекты является лучшей гарантией продолжения международного сотрудничества. Чем больше мировая значимость наших результатов — тем надежнее наше положение в этих проектах.

 

Метки
Open Source