Rambler's Top100
Статьи ИКС № 3 2022
Николай НОСОВ  27 мая 2022

Каким будет «суверенный GitHub»?

Государство готово поддержать создание российского репозитория программ с открытым исходным кодом, но ждет конкретных предложений от отраслевого сообщества и бизнеса. 

Приостановка работы и уход с российского рынка многих западных вендоров подорвали доверие к зарубежному программному обеспечению. В этих условиях даже руководители негосударственных предприятий задумались о необходимости импортозамещения ПО. Ускорить разработку российских продуктов помогает использование выложенных в открытый доступ фрагментов кода – уже написанных «кирпичиков», встраиваемых в новые решения. Но и здесь есть проблемы: принадлежащий Microsoft GitHub, самый популярный сервис совместной разработки открытого ПО, начал блокировать российские аккаунты, в том числе профили попавших под западные санкции банков. Это стимулировало новую волну дискуссий о создании российского репозитория продуктов с открытым исходным кодом, который условно называют «суверенный GitHub». Под репозиторием понимается не просто библиотека программ, а, как пояснил заместитель генерального директора компании Postgres Professional Иван Панченко, облачный хостинг частных репозиториев кода с возможностями управлением версиями и социально-сетевыми функциями. 

Чего хочет сообщество?

Нужен ли национальный репозиторий, если да, то какой? Сколько их должно быть? Все эти вопросы обсуждаются сообществом. Свои пожелания к национальному репозиторию высказали участники прошедшего в Казани Open Source IT Summit 2022. Суммируя их, можно представить репозиторий как экосистему, которая поддерживает все этапы жизненного цикла разработки и использования программных продуктов:
  • для организации работ и планирования содержит полноценный планировщик задач, систему авторизации, каталог существующих решений, систему разграничения прав, стандарты и шаблоны проектирования; 
  • для разработки и сборки обеспечивает быстрый поиск решения задачи среди продуктов других участников, контроль лицензий, управление версиями, стандарты разработки, распределенную систему сборки, средства анализа кибербезопасности; 
  • для тестирования включает в себя существующие open source-решения автоматизированного тестирования (Jtest, NUnit, и т.д.) и анализа кода (SonarQube), позволяет протестировать разработку на различных аппаратных архитектурах, арендовать для тестирования совместимости специализированное оборудование и дорогостоящее отраслевое ПО;
  • для доставки ПО дает возможность третьим сторонам реализовать сервисы проверки безопасности находящегося в репозитории кода, систему верификации, подтверждающую, что продукт дошел до заказчика в целости, а также разворачивать программы в разных облаках по единому стандарту (мультиоблачность); 
  • для эксплуатации и мониторинга предоставляет возможность миграции из публичного облака в частное и наоборот, получения комментариев, лайков и репостов, продолжение проекта другого человека в другой ветке (форке) и средства информационной безопасности.
Китайский путь

Создание суверенного репозитория программ с открытым кодом – подход не новый. По такому пути уже пошел Китай, создавший национальный репозиторий Gitee, локальный аналог американского GitHub. Проект запустила в 2013 г. базирующаяся в Шанхае компания OSChina. 

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

Благодаря локализации ПО в Китае удалось на порядок увеличить количество разработчиков, которым теперь необязательно знать английский язык. Кроме того, в процессе локализации проводится проверка на закладки и недекларируемые возможности, т.е. повышается безопасность кода, а национальный репозиторий становится доверенной точкой.
«У нас для каждого проекта создается локальная копия, она поддерживается и проверяется на безопасность. Деньги и время, которые тратят команды разработки, можно уменьшить за счет использования централизованного репозитория, подобного китайскому. Но в Китае 20 млн разработчиков, а у нас – меньше двух, поэтому для того, чтобы полностью повторить китайский путь, все локализовывать и проверять, не хватит людских ресурсов», – считает генеральный директор центра развития и поддержки группы компаний IT One Дмитрий Шилов.
Выступивший на казанском саммите генеральный директор OSChina Марк Ма осудил блокировку аккаунтов российских разработчиков на GitHub как противоречащую самому духу open source-сообщества и призвал наших программистов к коллаборации на своей платформе, действующей по моделям GitHub и GitLab. По данным Марка Ма, сервис Gitee используют свыше 200 тыс. компаний. С платформой OSChina работают более 100 млн разработчиков, из них 20 млн – из Китая, так что сообщество достаточно большое и с кем обменяться опытом, там найдется.

Gitee – коммерческий проект, использующий Git, open source-программу для отслеживания изменений в любом наборе файлов. С Gitee можно скачать инструменты и вести разработку у себя on-premise, а можно работать в облаке, как на GitHub. Для некоторых коммерческих организаций, например банков, предпочтительнее будет вариант on-premise. Поддержку Gitee оказывают крупнейшие китайские компании, такие как Huawei и Alibaba. Есть платные и бесплатные версии платформы, причем за ее использование на общих основаниях платит и государство.

Open source и государство

Можно, конечно, перейти на китайскую платформу. В браузере «Яндекс» есть режим прозрачного перевода. Включив его, можно переводить с китайского и пользоваться наработками второго по количеству проектов репозитория мира. 

Однако лучше попробовать повторить путь Поднебесной и создать собственный репозиторий. Во всяком случае такой вариант обсуждается. Во втором пакете мер поддержки ИТ-отрасли предлагалось создать российскую open source-платформу, а о необходимости организации национального репозитория программ с открытым исходным кодом неоднократно заявлял заместитель министра цифрового развития, связи и массовых коммуникаций РФ Максим Паршин. В феврале 2022 г. Минцифры разработало проект постановления правительства, которое регламентирует запуск в России эксперимента по раскрытию свободного программного кода, разработанного по заказу и на средства госсектора. 
«Минцифры положительно смотрит на развитие open source. Использование открытого кода увеличивает нашу технологическую независимость», – подчеркнул на форуме по практической безопасности Positive Hack Days 2022 директор департамента обеспечения кибербезопасности Минцифры России Владимир Бенгин. Государство готово выслушать предложения о мерах поддержки open source и реализовать лучшие из них, но так, чтобы не «развалить коммьюнити».

Изначально открытое и свободное ПО не являются ни доверенным, ни безопасным. Неизвестно доподлинно, выполняет ли оно заявленные функции, нет ли в нем недекларируемых возможностей или закладок. Более того, последние события показали, что специально внедренные в код закладки, наносящие ущерб пользователям из России или Беларуси – это уже реальность

Минцифры, по словам В. Бенгина, рассматривает вопрос создания доверенного и безопасного российского open source-репозитория, в котором будет размещаться код и его будут проверять уполномоченные организации. Но будет ли такая идея поддержана сообществом? 
Сомнения высказывают и эксперты. «Я не очень верю в идею репозитория, продвигаемого государством. Open source – это открытая история для коммьюнити. Хотя допускаю, что такой репозиторий будет создан, как когда-то планировали организовать фонд алгоритмов и программ. Репозиторий ПО, которое разработано на деньги государства и используется в рамках ГИС, Гостеха и иных государственных ИТ-проектов, имеет смысл, но он вряд ли будет открыт для всех желающих. Это будет не более чем ведомственный магазин приложений. К open source эта инициатива не будет иметь никакого отношения», – дал комментарий нашему изданию бизнес-консультант по безопасности Алексей Лукацкий.

Но в целом отношение к созданию национального репозитория скорее положительное. «Свой репозиторий, безусловно, нужен, в первую очередь для открытия и совместного развития исходного кода систем, разработанных за государственный счет. В некоторых случаях также будет полезно зеркалировать популярные сторонние библиотеки. Проверять код – это ответственность разработчика. Если проект с открытым кодом большой, как например OpenJDK, где объем исходных текстов превышает 3 Гбайт, то для его проверки и сборки имеет смысл обратиться к партнерам, активным участникам таких open source-проектов», – пояснил директор по развитию и стратегии «Беллсофт», руководитель комитета по ИБ Ассоциации разработчиков программных продуктов Роман Карпов.

Объединиться и сотрудничать

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

Локальный репозиторий не обязательно должен быть в стране один. Скажем, в Китае помимо Gitee работает крупный портал для разработки открытого кода Coding.net, поддерживаемый компанией Tencent. Да и в России некоторые корпорации уже имеют свои экосистемы для разработки ПО, в том числе для работы с открытым кодом. 

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

Сегодня реализация соглашения выглядит утопией, но сама идея российского облачного репозитория проектов с открытым кодом вполне созрела. А текущая ситуация придала ей дополнительную актуальность. Надо только, чтобы крупные российские игроки смогли достичь взаимопонимания, а лучше, как в Китае, создать независимую компанию для ведения приоритетных для российского бизнеса и государства проектов с открытым кодом.
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!