Мы постоянно слышим слова «импортозамещение», «цифровая независимость», «отечественное ПО». Что делать IT-специалисту, который вынужден выбирать ПО для миграции на российское ПО?
Изучать Реестр Минсвязи (Единый реестр российских программ для электронных вычислительных машин и баз данных, reestr.digital.gov.ru) — не вариант: там несколько десятков одних только операционных систем. На какие критерии можно опираться при выборе российской операционной системы?
Немного теории.
Все отечественные «реестровые» Linux-based системы основаны (сюрприз!) на ядре Линукс (Сopyright Linus Torwalds) и программах из комплекта Свободного Программного Обеспечения ( далее СПО см.: https://ru.wikipedia.org/wiki/Свободное_программное_обеспечение) GNU Ричарда Столлмана (см: https://ru.wikipedia.org/wiki/Проект_GNU).В их отношении действует Свободная лицензия (https://ru.wikipedia.org/wiki/Свободная_лицензия): она предполагает свободное распространение программ, изучение их исходных кодов, а также их модификацию. Первоначальный вариант лицензии разработал Ричард Столман (https://ru.wikipedia.org/wiki/Столлман,_Ричард_Мэттью)
Этот тип лицензий нашел свое отражение в Российском ГОСТ Р 54593-2011 (https://docs.cntd.ru/document/1200088439 Свободное Программное Обепечение). Согласно этому стандарту СПО позволяет пользователю.
«- использовать программу для ЭВМ в любых, не запрещенных законом целях;
- получать доступ к исходным текстам (кодам) программы как в целях изучения и адаптации, так и в целях переработки программы для ЭВМ; распространять программу (бесплатно или за плату, по своему усмотрению);
- вносить изменения в программу для ЭВМ (перерабатывать) и распространять экземпляры измененной (переработанной) программы с учетом возможных требований наследования лицензии;
- в отдельных случаях распространять модифицированную компьютерную программу пользователем на условиях, идентичных тем, на которых ему предоставлена исходная программа.»
Свое отражение это получило и в ГК РФ часть 4. В частности, согласно статье 1260 п.2 о составных произведениях, автором считается составитель, воспользовавшиеся исходными компонентами. Таким образом, если составить из свободных программ некое произведение, называемое «дистрибутив», получаем свой продукт.
Готовый бизнес?
Ну, почти. Казалось бы, все просто: берем готовый западный дистрибутив (см: https://ru.wikipedia.org/wiki/Дистрибутив_Linux), перелицовываем и «локализуем» добавляя свои обои и логотипы, выдаем за свое — и у нас в кармане продукт, который можно продавать. Открою секрет: большинство производителей, активно атакующие рынок «отечественного ПО», поступили именно так. Кому-то приглянулся проект OpenSuse, смельчаки положили глаз на CentOS (открытый проект RedHat), а самые продвинутые — взяли за основу Debian и только команда ALT Linux поступила иначе – взялась за тяжкий труд собственной разработки. Более подробно ниже, а пока рассмотрим
Почему плох проект дистрибутива, основанный на чужом проекте?
Немного исторических примеров. В начале века было еще несколько «российских» или, как тогда говорили, «русифицированных» дистрибутивов. Наиболее заметными из них были Black Cat и ASP Linux. Они строились на пакетной базе и технологиях Red Hat. В 2002 году американская компания Red Hat пришла к выводу, что масса дистрибутивов по всему миру, использующая их разработки мешает бизнесу и, чтобы не терять сообщество и создать испытательный полигон для собственных разработок, создала свободный проект Fedora (https://ru.wikipedia.org/wiki/Fedora), а для своего коммерческого (закрытого) дистрибутива RHEL (Red Hat Enterprise Linux), создала другой полигон - дистрибутив CentOS (https://ru.wikipedia.org/wiki/CentOS Community, т.е общественную ENTerprise Operating System). В результате, объем работы по поддержанию собственных решений уже не на Red Hat, а на Fedora стал настолько огромным, что оба проекта – Black Cat и ASP Linux – ушли с рынка. Сама модель оказалась настолько привлекательной, что некоторые современные отечественные дистрибутивостроители снова пошли по этой узкой дорожке – построили свои решения на CentOS. Долго ждать не пришлось, в конце 2020 года RedHat объявил о прекращении поддержки проекта в конце 2021 года и переходе на тестовый форк — CentOS Stream. Таким образом, все пользователи CentOS и его клонов становятся перманентными бета-тетерами. Набираем попкорн, садимся по удобнее и смотрим, чем это закончится.
Любой программный продукт, выпущенный на рынок, требует постоянных усилий на поддержание его жизненнго цикла: выпуск новых версий продукта, исправление ошибок, сопровождение, развитие, обучение пользователей и их поддержка. Даже одна программа требует значительных ресурсов, а что говорить о дистрибутиве, в котором от двух тысяч пакетов и более?
Для качественного решения таких вопросов необходим репозиторий, средства сборки и разработки и сильная команда. Мировой опыт развития СПО показывает, что для качественной поддержки необходимо привлекать единомышленников, организовывать community (сообщество) вокруг дистрибутива, и, конечно же, материально обеспечивать поддержку проекта. А это уже задача коммерческой организации. Наиболее широко в мире сегодня известен проект Ubuntu (2004 г), основанный на Debian, и финансируемый компанией Canonical, британского бизнесмена Марка Шаттлворта. Только Марку ведомо сколько средств вложено в развитие и раскрутку проекта – с 2005 по 2011 год компания рассылала диски с образами бесплатно! Только в своём обращении, приуроченном к выходу Ubuntu 20.04 (2020 год!), Марк Шаттлворт сообщил, что компания Canonical вышла на самообеспечение.
В России тем же самым, но на 4 года раньше (в 2001 году) занялась команда единомышленников ALT Linux Team. Финансовое и техническое обеспечение проекта лежит на коммерческой компании «Базальт СПО» которая занимается, в числе прочего, разработкой, продажей и поддержкой решений и дистрибутивов ALT (под торговой маркой Альт). Команда ALT Linux Team организационно не зависит от компании «Базальт СПО», хотя многие её сотрудники являются членами Team.
Лирическое отступление.
Название «ALT Linux T» является рекурсивным акронимом (программисты и кто не прогуливал уроки информатики в школе проймут слово "рекурсия"), а название «Базальт» только на первый взгляд напоминает горную породу, на самом деле речь идет о "base alt" -- базовой разработке Альта.
Как же поступили основатели Альт Линукс?
В 1999-2000 годах два российских проекта IP Labs Linux Team и Linux.ru.net объединились в ALT Linux Team. Работа началась с выпуска русифицированной версии Mandrake Linux (самостоятельный форк от Red Hat в 1998 году), но очень скоро разработчики пришли к выводу, что для того, чтобы сделать что-то свое нельзя зависеть от решений сторонней команды (upstream проекта Mandrake) и 29 декабря 2000 года было сообщение в список рассылки о создании проекта Сизиф (см https://lists.altlinux.org/pipermail/sisyphus/2000-December/219326.html).
Вскоре после создания Сизифа пошло активное замещение пакетов Мандрейка на собственные и к 2003 году их уже не осталось ни одного. Современный Sisyphus (Сизиф) — это разрабатываемый ALT Linux Team проект, целью которого является развитие репозитория свободного ПО для удобной разработки на его основе дистрибутивов и других решений.
Проект Sisyphus включает следующие компоненты:
– собственно репозиторий ПО (rpm- и src.rpm-пакеты);
– инструментарий для подготовки и тестирования программных пакетов (hasher, gear, git; sisyphus_check, qa-robot, repocop; etc);
– инструментарий обеспечения целостности репозитория (apt);
– инструментарий для разработки конечных решений и, в частности, дистрибутивов (mkimage, Alterator, Installer).
В настоящий момент Sisyphus доступен для архитектур x86, x86_64, aarch64, armh, RISC-V, MIPS, open power, Эльбрус (e2kv3, e2kv4) и ведется работа по портированию на другие платформы.
Лирическое отступление.
Миф о Сизифе
Сизиф (Sisyphus) — персонаж греческой мифологии. Легенда о Сизифе, который катил в гору камень, символизирует постоянный труд команды по усовершенствованию решений, заложенных в репозиторий. «Миф о Сизифе» — философское эссе Альбера Камю. На «Миф о Сизифе» ссылалось объявление проекта в 2000 году:
http://lists.altlinux.org/pipermail/community/2000-December/420763.html
Вклад ALT Linux Team и «Базальт СПО» в международные проекты разработки свободного ПО
Большинство членов команды ALT Linux Team являются участниками международных проектов. Ниже в табличку сведены наиболее важные.
Проект |
Участие «Базальт СПО» |
glibc (основная системная библиотека) |
Выпускающий международной версии в 2018 г. – сотрудник «Базальт СПО». |
kernel.org (ядро linux) |
Патчи включены в upstream (международая разработка). Разработан модуль LSM, контролирующий запуск скриптовых приложений. В ядро включена реализация криптографии, соответствующая российскому ГОСТ. |
Open Wall Linux (OWL) |
Сотрудники «Базальт СПО» – ключевые участники проекта. Наработки интегрированы в дистрибутивы «Альт»: - для управления доступом к важным службам используется механизм переключения между фиксированными состояниями задач (подсистема control); - настраиваемая политика надежности паролей (PAM-модуль passwdqc); - для каждой пользовательской сессии создается отдельный временный каталог (PAM-модуль pam_mktemp); - раздельное хранение хэшей паролей (tcb). |
chroot (изменение корневого каталога) |
В дистрибутивах «Альт» существенная часть сервисов запускается в измененном корневом каталоге с пониженными правами. Это исключает возможность использования уязвимостей для получения доступа к режиму суперпользователя. |
strace (отслеживание системных вызовов между процЗаголовок 1ессом и ядром) |
«Базальт СПО» – ключевой разработчик проекта. При проверках ПО для сертификации во ФСТЭК многие отечественные компании используют трассировщик strace. |
libssl |
Сотрудники «Базальт СПО» – ключевые разработчики. |
samba |
Патчи включены в upstream (международная разработка). Создан патч для масштабирования Samba DC. Ведутся работы по встраиванию в международный проект системы управления групповыми политиками (gpupdate, политики опубликованы на https:/admx.help ), создан инструмент управления политиками admс. |
osec (контроль целостности системы) |
Сотрудники «Базальт СПО» – ключевые разработчики. |
APT + RPM |
Разработан дополнительный функционал контроля зависимостей. |
xcat (управление узлами суперкомпьютера) |
Реализована возможность загрузки разнородных образов на разные узлы. |
zabbix (система мониторинга) |
Обеспечена возможность иерархического сбора и обработки информации. |
SELinux (система принудительного контроля доступа) |
Разработаны собственные политики для всех сервисов. Политики хранятся отдельно от кода для повышения безопасности. |
PVE (средство управления виртуальными окружениями) |
Создан специальный дистрибутив операционной системы для управления виртуализацией. |
Сетевая ОС |
Разработана собственная операционная система NetDev для сетевых устройств. |
Alterator (модульная система управления ОС) |
Разработано более 100 графических модулей для конфигурации компонентов операционной системы. |
Позиция государства в вопросе отечественного ПО
В настоящее время (сентябрь 2020 года) проходит общественное обсуждение проект изменений в постановление Правительства Российской Федерации от 16 ноября 2015 г. № 1236 «Об установлении запрета на допуск программного обеспечения, происходящего из иностранных государств, для целей осуществления закупок для обеспечения государственных и муниципальных нужд» (https://regulation.gov.ru/projects# ID проекта
02/07/07-21/00118367)
Хочу обратить внимание на следующие изменения:
«подпункт «з» изложить в следующей редакции:
«з) гарантийное обслуживание, техническая поддержка и модернизация программного обеспечения, в том числе модификация исходного текста программного обеспечения, осуществляются российскими коммерческими или некоммерческими организациями без преобладающего иностранного участия, специалистами, квалификация и количество которых обеспечивают реализацию прав, предусмотренных настоящим подпунктом, либо гражданами Российской Федерации на всей территории Российской Федерации без ограничений;»;
дополнить подпунктами «и», «к» следующего содержания:
«и) технические средства хранения исходного текста и объектного кода программного обеспечения, а также технические средства компиляции исходного текста в объектный код программного обеспечения находятся на территории Российской Федерации;
к) технические средства, необходимые для активации, выпуска, распространения, управления лицензионными ключами программного обеспечения находятся на территории Российской Федерации, контролируются российскими организациями либо гражданами Российской Федерации.»;»
Эти изменения фактически вносят законодательное требование к наличию у разработчика квалифицированных специалистов в достаточном количестве, инструментов сборки и разработки, причем все это должно быть в России.
Наличие у Базальт СПО собственного репозитория, инструментария разработки и инфраструктуры обеспечивает полный цикл независимой разработки операционных систем Альт. Отсутствует угроза санкционного давления на разработку и какой-либо «недоступности» пакетов и кода, ведь все хранится на российских серверах. Поддержка жизненного цикла продуктов (Сервер, Рабочая станция, Сервер виртуализации, специальные решения для Образования и объектов КИИ) обеспечивается собственными высококвалифицированными кадрами и международным сообществом (в основном рускоязычным) независимых разработчиков, что позволяет поддерживать всю эту махину из более чем 20000 пакетов, при чем для 10 различных архитектур процессоров, включая отечественные "Эльбрусы" и "Байкалы".
Дистрибутивы Альт
Дистрибутивы «Базальт СПО» |
Архитектура |
№ в Едином реестре российских программ для ЭВМ |
Альт Рабочая станция |
i585, x86_64, e2k, AArch64, armh, mipsel |
1292 |
Альт Рабочая станция К |
x86_64 |
|
Альт Сервер |
x86_64, e2k, AArch64, ppc64le |
1541 |
Альт Образование |
i585, x86_64, e2k, AArch64 |
1912 |
Альт 8 СП, сертификат ФСТЭК[1] |
i585, x86_64, e2kv3/v4, armh,aarch64, power |
4305 |
Альт Сервер Виртуализации |
x86_64, AArch64, ppc64le |
6487 |
Simply Linux |
i585, x86_64, e2k, AArch64, armh, mipsel, riskv64 |
нет |
Вывод очевиден. При всем богатстве выбора, надо ставить на проверенную временем команду, а не на компанию-однодневку.
ООО "БАЗАЛЬТ СПО"
Телефон: +7 (495) 123-47-99
Веб-сайт: https://www.basealt.ru
Отдел продаж: Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
По вопросам партнерства: Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
Адрес: 127015, Москва, ул. Бутырская, д. 75
Партнерский пост совместно с ООО "БАЗАЛЬТ СПО"