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

Open source и три пути импортозамещения в России

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

Сложная геополитическая обстановка и все новые и новые санкции, вводимые против России, резко обострили проблему зависимости от иностранного ПО, особенно в жизненно важных для нормального функционирования экономики отраслях. Ответом стал Указ Президента № 166 «О мерах по обеспечению технологической независимости и безопасности критической информационной инфраструктуры Российской Федерации». С 31 марта 2022 г. организациям, осуществляющим закупки в соответствии с законом № 223-ФЗ, запрещено покупать иностранное ПО, в том числе в составе программно-аппаратных комплексов, для использования на значимых объектах критической информационной инфраструктуры (ЗОКИИ) без согласования с уполномоченным ведомством, а с 1 января 2025 г. – применять иностранное ПО.

За два с половиной года полностью перевести ЗОКИИ на отечественное ПО – задача непростая. Облегчить процесс может использование открытого программного обеспечения (open source), к которому в течение последнего десятилетия все охотнее прибегают крупнейшие мировые компании. 
 
«Более половины продуктов в реестре отечественного ПО написаны с использованием open source», – отметил на Open Source day 2022 вице-президент и исполнительный директор Кластера информационных технологий фонда «Сколково» Константин Паршин. Фонд предлагает бизнесу помощь – экспертизу в процессах импортозамещения, в том числе с использованием открытого ПО, в организации технической поддержки, переобучении персонала и управлении лицензиями. 

Как считают эксперты из «Сколково», общий план перехода российских компаний на отечественное ПО включает четыре этапа.
  1. Предпроектное обследование: оценка взаимосвязи целей бизнеса и ИТ-службы, аудит существующей ИТ-инфраструктуры, оценка безопасности, персонала и правовой составляющей используемых продуктов.
  2. Подготовка к миграции: выработка концепции импортозамещения и ИТ-архитектуры компании; подбор отечественных или open source-решений и их независимое тестирование; организация собственных разработок; построение общей дорожной карты миграции ИТ-систем.
  3. Миграция на отечественные или open source ПО и ПАК: построение программы миграции каждой ИТ-системы, автоматизированных тестов для валидации текущих инсталляций; тестирование кибербезопасности; поэтапная миграция; нагрузочное и функциональное тестирование; обучение персонала; автоматизация операционных процессов ИТ (SLA, ITSM), процессов разработки и управления изменениями.
  4. Сопровождение и развитие: выходное тестирование внедренных решений; оценка удовлетворенности пользователей; оценка экономической эффективности; поддержка эксплуатации; тиражирование собственных разработок, включая финансирование пилотных решений.
Фонд «Сколково» поддерживает пилотные проекты импортозамещения. Компания, осуществляющая переход, и разработчик решения могут получить грант в сумме до 300 млн руб. Однако претенденту потребуется вложить и собственные средства – доля внебюджетного финансирования должна превышать 20%. В числе критериев выбора проекта – российское происхождение ПО, приоритетность направления и технологическая зрелость. Решения нероссийского производства, скажем, из Белоруссии, могут быть включены в реестр российского ПО при регистрации в России дочерней компании разработчика.

Импортозамещение на практике

В теории план, предложенный фондом «Сколково», выглядит простым и понятным. На практике все гораздо сложнее. Например, и в самом фонде «Сколково», как признал К. Паршин, до сих пор используется Microsoft Office. 

Помню, работая в московском банке, я пытался заменить Microsoft Office на LibreOffice. В то время стоимость годовой лицензии Microsoft на все рабочие места была чувствительной даже для финансовой организации. Проблемы начались в первый же день перехода – топ-менеджеры устроили скандал и потребовали у председателя правления банка, чтобы Microsoft Office купили хотя бы для них. Потом волна возмущения пошла вниз, от работы с бесплатным продуктом стали отказываться менеджеры среднего звена. В конце концов LibreOffice остался только у кассирш, да и те смогли потом уговорить руководство вернуть им знакомый офисный продукт. И это при том, что большинству пользователей нужен был лишь Microsoft Word – для написания служебных записок.

«Самая большая проблема – сопротивление пользователей», – констатировал директор по технологиям ГК «Агат» Игорь Иванов. Проект миграции на open source компания начала в 2019 г. В задачу входили перевод на открытое ПО более 1,5 тыс. рабочих станций и замена используемой СУБД на PostgreSQL. Импортозамещение проводили плавно, по отдельным ИТ-системам, начиная с сотрудников нижнего звена. Упростили переход разъяснительная работа, обучение новым продуктам и усиленная техподдержка. В качестве операционной системы выбрали Debian; Microsoft Active Directory заменили на FreeIPA – открытый проект для создания централизованной системы управления идентификацией пользователей, задания политик доступа и аудита сетей. Для видеоконференций стали использовать систему Jitsi Meet, интегрированную с «1С». Централизованное управление настройками рабочих станций обеспечили GitLab и Ansible.

Проект завершился успешно, хотя не обошлось без трудностей: не для всех задач имелись готовые решения, для некоторых периферийных продуктов альтернативы Windows отсутствовали; партнеры, занимающие монопольное положение на рынке, не хотели разрабатывать драйверы своих устройств для Linux; развертывание систем безопасности оказалось непростым.

Далеко не все организации имеют достаточную экспертизу для развертывания и сопровождения продуктов с открытым исходным кодом. На помощь приходят специализирующиеся на поддержке компании, такие как российская SVZCloud, поддерживающая аналог Microsoft Exchange Server – Zimbra Open Source с расширением от компании Zextras. В этом году Zextras представила Carbonio – новый почтовый сервер с открытым кодом для совместной работы. Он развертывается на собственных серверах пользователя и включает в себя почту, систему обмена сообщениями, многопользовательский видеочат и средства совместной работы с документами. Поддержку проекта осуществляет open source-комьюнити, и, по мнению директора SVZcloud Юрия Бражникова, Zextras Carbonio будет гарантированно работать в условиях нарастающих санкций. Выбор продукта многими российскими организациями, в том числе Роспотребнадзором, использующим более 10 тыс. почтовых ящиков, косвенно это заявление подтверждает. 

Стать российской программой

Пока неясно, что будет пониматься под термином «иностранное ПО» – будет ли к нему относиться разработанное за рубежом открытое и свободное программное обеспечение (СПО) или лишь проприетарное ПО, закупленное у иностранных вендоров. Ясно только, что ПО, внесенное в единый реестр российских программ, т.е. официально признанное российским, применять на ЗОКИИ будет можно.

Эксперты давно говорили о необходимости создания национальной мобильной платформы. В итоге на базе форка Sailfish OS появилась российская ОС «Аврора», которая содержит фрагменты не только открытого, но и проприетарного ПО из ставшей недавно недружественной страны. Впрочем, это не оказалось препятствием для включения в реестр российского ПО. «Действительно, исходная разработка пришла из Финляндии. Но в данный момент наш проект развивается самостоятельно, ОМП является правообладателем ОС Аврора. При разработке мы используем фреймворк Qt 5.6 по лицензии LGPL, которая не накладывает ограничений на применение технологии», – пояснил руководитель отдела развития и поддержки разработчиков компании «Открытая мобильная платформа» Кирилл Чувилин.

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

Юридические тонкости

Упоминание фреймворка Qt было не случайным – в марте с.г. компания Qt Group, разработчик инструментов для программистов, заблокировала загрузку своих продуктов с территории России. Если программа – с открытым исходным кодом, то это не значит, что она не имеет владельца. Ограничения есть, а порядок использования кода зависит от лицензии, под которой она опубликована. Например, первые две версии самой распространенной лицензии GPL (General Public License) требуют, чтобы все изменения были возвращены в open source-комьюнити, и накладывают ограничения на коммерциализацию. Полноценный коммерческий продукт на базе открытого кода можно сделать под третьей версией GPL и под LGPL v3, а также под MIT/BSD, MPL и Apache License, но и тут надо внимательно изучать текст лицензионного соглашения.

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

Не очевидно, что всегда имеет смысл брать на себя обязательство выкладывать в общий доступ использующий open source российский продукт для ЗОКИИ, особенно сегодня, когда риски кибератак многократно возросли.

Нуждается в урегулировании и российский понятийный аппарат. Сейчас в нормативной базе есть только понятие свободного программного обеспечения (СПО), которое в ГОСТ Р 54593-2011 определяется как программное обеспечение, распространяемое на условиях простой (неисключительной) лицензии. C сентября 2021 г. обсуждается инициированная Минцифры «Стратегия развития программного обеспечения с открытым кодом в России до 2024 г.», где открытый исходный код определяется как код, который распространяется правообладателем на основе открытой лицензии – лицензионного договора, удовлетворяющего положениям ст. 1286.1 Гражданского кодекса РФ, и соответствует 10 принципам открытости от некоммерческой организации Open Source Initiative (OSI). В документе под ПО с открытым кодом понимается совокупность открытого и свободного ПО (ОСПО) и рассматриваемые меры поддержки относятся именно к ОСПО. 

 Десять принципов открытости OSI
  1. Свобода распространения: лицензия не должна налагать ограничений на продажу и распространение ПО.
  2. Доступность исходного кода: даже если ПО не поставляется с исходным кодом, этот код должен быть легко доступным, причем в форме, редактируемой человеком, а не в промежуточной.
  3. Возможность модификации: возможность читать исходный код еще не позволяет экспериментировать с ним и выпускать модификации. Лицензия, претендующая на звание открытой, должна допускать не только чтение, но и изменение кода, использование его частей в других проектах и распространение полученных программ на условиях той же лицензии.
  4. Целостность авторского исходного кода: лицензия может налагать ограничения на распространение модифицированного исходного кода, только если она разрешает распространять патчи для модификации программы при сборке.
  5. Отсутствие дискриминации против людей и групп людей: лицензия не должна дискриминировать людей и группы людей.
  6. Отсутствие дискриминации по цели применения: лицензия не должна ограничивать использование программы в каких-либо областях деятельности.
  7. Распространение лицензии: права на открытую программу должны предоставляться всем пользователям без заключения дополнительных соглашений.
  8. Лицензия не должна быть привязана к конкретному продукту: права на программу не должны зависеть от того, является ли программа частью какого-либо продукта.
  9. Лицензия не должна ограничивать другие программные продукты: лицензия не должна налагать ограничения на другие программы, которые распространяются вместе с лицензированным ПО (не считая несовместимости).
  10. Лицензия должна быть технологически нейтральной: она не должна налагать ограничения на интерфейс или технологии, используемые в производной программе.
Источник: по материалам OSI

Подход не разделять open source и СПО здравый, тем более что большинство продуктов соответствуют принципам и OSI, и учрежденной в 1985 г. Ричардом Столлманом некоммерческой организации Free Software Foundation (FSF), т.е. международным принципам СПО. Более того, согласно OSI, оба термина означают одно и то же и являются взаимозаменяемыми. Хотя не все сторонники СПО с этим согласны. Например, лицензия NASA Open Source Agreement одобрена OSI, но FSF считает ее слишком ограничительной.

 Принципы свободного программного обеспечения FSF
  1. Свобода запуска программы для любых целей.
  2. Свобода изучать работу программы и изменять ее согласно собственным потребностям. Непременное условие для этого – доступ к исходному коду.
  3. Свобода делиться программным обеспечением с другими пользователями.
  4. Свобода распространять копии пользовательского исходного кода. Так можно дать сообществу возможность пользоваться новым кодом. Непременное условие для этого – доступ к исходному коду.
Источник: по материалам FSF

Свободный ≠ безопасный

Среди принципов open source-cообщества – независимость от политики. Однако идеалы не всегда выдерживают столкновение с действительностью. Например, после начала военной спецоперации на Украине автор одного из модулей npm (node package manager), автоматически устанавливаемых с интерпретатором языка JavaScript, встроил в код зловред, который с вероятностью 25% удаляет содержимое файлов пользователей из России и Беларуси. Потом автор стирал комментарии, в которых ему сообщали о выявленной проблеме.


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

Никто не отменял и обычные уязвимости. Так, в декабре 2021 г. в библиотеке Apache Log4j была выявлена уязвимость CVE-2021-44228, которой был присвоен высший уровень критичности. Используя ее, злоумышленник мог удаленно запустить произвольный код и получить полный контроль над системой.

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

Оpen sourсe по-государственному

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

Согласно опросу, проведенному среди участников форума Russian Open Source IT Summit в конце апреля 2022 г. в Казани, главное преимущество open sourсe-проектов – ускорение разработки. Неудивительно, что государство заинтересовано в поддержке использования открытого кода. 
Источник: Russian Open Source IT Summit

«Стало очевидно, что нам совершенно необходим отечественный репозиторий открытого кода», – заявил заместитель министра цифрового развития, связи и массовых коммуникаций РФ Максим Паршин. Он подчеркнул, что нужна государственная открытая лицензия и «публикация под ней практически всего, что создается в рамках бюджетного финансирования».
В 2021 г. председатель правительства Михаил Мишустин подписал второй пакет мер поддержки ИТ-отрасли, предусматривающий разработку и запуск программы стимулирования участия отечественных ИТ-компаний (разработчиков) в международных open source-альянсах и создание российской open source-платформы.

В идеале государство будет стимулировать развитие наиболее востребованных госсектором продуктов на основе открытого кода и одновременно выступать в качестве крупного контрибьютора кода, разработанного за бюджетные средства.

Три пути развития импортозамещения в России

В зависимости от дальнейшего течения событий возможны три сценария развития импортозамещения ИТ в России. Самый жесткий – усиление санкций вплоть до полной блокады со стороны западных стран. Придется импортозамещать практически все и опираться только на внутренние резервы. Опыт Северной Кореи показывает, что это возможно. ИТ развиваются и там, причем тоже с опорой на open sourсe, но в условиях ограничения доступа к информационному полю и собственного закрытого интернета «Кванмён». Выход во внешний интернет – только по специальному разрешению властей.

Технологии развиваются – достаточно сказать, что Северная Корея самостоятельно запустила четыре (некоторые эксперты считают, что только два) спутника Земли и вошла в узкий круг космических держав. В 2013 г. в Северной Корее изготовили свой ЖК-телевизор, в 2015-м начато ТВ-вещание в формате HD. Есть даже своя операционная система, замещающая Windows, – «Красная звезда» (Red Star OS), созданная на базе Fedora Linux. Но развитие идет медленно, в основном путем копирования зарубежных продуктов. Приоритет отдается оборонным отраслям, а на доступных для наблюдения компьютерах в обучающих центрах и библиотеках были установлены не собственные продукты, а пиратские копии Windows XP и Microsoft Office.

Более мягкий путь импортозамещения сходен с китайским. Блокировка недружественных и подрывных сайтов («Великий китайский файрвол» давно блокирует Google), создание аналогов зарубежных сервисов и социальных сетей и плавный перевод на них отечественной аудитории. Создание собственного репозитория open source-проектов, разработка на их базе конкурентоспособных на глобальных рынках продуктов. Примером может служить Huawei, успешно продвигающая на международных рынках свою облачную платформу на базе OpenStack.

В случае деэскалации конфликта на Украине возможно возвращение западных вендоров в Россию. Полностью вернуть долю рынка им вряд ли удастся, но в коммерческом секторе спрос будет. Реальная конкуренция на отечественном рынке, безусловно, поможет развитию российских продуктов, в том числе созданных на базе open source. 

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