Ежегодно Переславль-Залесский на несколько дней становится «столицей» разработчиков свободного программного обеспечения. Здесь проходит конференция программистов и системных архитекторов из России и других стран. В июне 2021 года мероприятие традиционно состоялось, но организаторы органично соединили его с конференцией «СПО в высшей школе» в общую конференцию «Свободное программное обеспечение: от обучения до разработки». Как отметил Алексей Смирнов, председатель совета директоров «Базальт СПО», «граница между двумя частями конференции оказалась очень условной. Преподаватели и студенты рассказали о своих проектах разработки свободных программ, а доклады разработчиков СПО апеллировали к обучению». Организаторы успешно использовали опыт, приобретенный в пандемию: провели онлайн-трансляцию заседаний. В результате, участниками стало больше тысячи человек. Видеозаписи всех докладов размещены в открытом доступе на канале «Базальт СПО».
Все доклады прошли жесткий предварительный отбор. Обязательное условие — разработка, о которой рассказывает участник, должна быть открытой. Алексей Новодворский, заместитель генерального директора «Базальт СПО», подчеркнул: «Наша конференция — дань поддержки и уважения энтузиастам, развивающим проекты Open Source». Покажите мне хотя бы один программный продукт, в котором сегодня не используются наработки СПО! Но от этого он не становится автоматически свободным. Поэтому при отборе докладов мы четко разделяли Open Source и продукты «на основе Open Source». Свободные проекты делятся с коллегами результатами своей работы. Благодаря этому разработчики во всем мире создают программы лучше, индустрия ИТ развивается быстрее«.
Большие надежды возлагает на СПО государство. Ренат Лашин, исполнительный директор Ассоциации разработчиков программных продуктов «Отечественный софт», рассказал, что «Минцифры запланировало совместно с ИТ-компаниями разработать к сентябрю стратегию развития в России программного обеспечения с открытым кодом: «Документ определит необходимые меры господдержки развития Open Source. Какое регулирование должно быть, уместны ли прямые финансовые меры, потребуется ли поддержка через госзаказ. Министерство видит три основных приоритета стратегии: эффективность и качество разработки Open Source; технологическая и информационная безопасность (благодаря возможности проводить независимый аудит исходного кода) и технологическая независимость (снижение санкционных рисков, снижение зависимости от глобальных вендоров)».
Хочешь быть мастером? Будь!
Проекты СПО — это огромная всемирная «школа» для разработчиков всех возрастов и уровней квалификации. Их участники не только создают свободный код, но и открыто обсуждают подходы к разработке, делятся знаниями и достижениями. В СПО-проектах могут пробовать силы начинающие разработчики, учиться и набирать квалификацию на разработке реальных программных продуктов.
Об одном из таких способов рассказала Вера Благовещенская («Базальт СПО») в докладе «Тестирование СПО как один из этапов становления ИТ-специалиста»: Тестирование — прекрасная возможность попробовать себя в ИТ. Желающие освоить новую профессию могут начать заниматься тестированием даже без специального образования. Они научатся понимать структуру приложений, познакомятся с внутренней «кухней» ИТ. Из доклада собравшиеся узнали особенности тестирования свободного ПО и перспективы развития в данной области для молодых специалистов. Как начать тестировать свободное ПО, должны ли разработчики тестировать собственный код, как правильно исследовать и описывать ошибку, особенности тестирования обновлений для стабильных репозиториев.
Но не стоит рассматривать тестирование всего лишь как ступеньку к дальнейшей карьере. Оно давно уже стало самостоятельной отраслью в мире ИТ, отдельной технической дисциплиной. Денис Ефремов и Алексей Хорошилов (ИСП РАН) рассказали об инструментах, технологиях и способах организации тестов, доступных в ядре Linux и в сторонних открытых проектах. Ядро неоднородно: оно состоит из аппаратно-независимого кода и из частей, работоспособность которых зависит от наличия соответствующей аппаратуры или специфичных программ пользовательского пространства. Доклад был посвящен обзору инструментов и технологий для тестирования разных частей ядра: kselftest, KUnit, KTF, ktest, наиболее распространенные тестовые пакеты LTP, LKP, xfstests и др.
Возможность принять участие в реальных проектах разработки продуктов СПО могут дать университеты. К сожалению, пока это редкая практика. Андрей Михеев, генеральный директор компании «Процессные технологии» и преподаватель НИТУ МИСИС, поделился своим опытом привлечения студентов к разработке СПО «Современная система высшего образования побуждает студентов выучить уже существующую, не ими придуманную технологию (в большинстве случаев — иностранную), чтобы применять ее в проектах. Поэтому наши студенты получают задачи на производственную практику и ВКР не в „программистских“ терминах, а в терминах предметной области, и вольны выбирать способы их решения с использованием СПО. Я надеюсь, что прошедшим такую практику студентам в дальнейшем будет легче самим находить интересные востребованные проблемы и ставить задачи как себе, так и другим разработчикам. СПО помогает „мягко“ войти в эту деятельность: с кодом системы знакомятся все желающие, и если человек готов взяться за решение задачи, его привлекают в проект. Программное решение студента, если оно оказывается успешным, входит в один из следующих релизов системы». Речь шла об открытом проекте RunaWFE Free для управления бизнес-процессами и административными регламентами. Ее используют государственные организации.
По такому же пути пошли преподаватели СПбГУ и МФТИ. Педагоги привлекают студентов к проектам разработки свободных операционных систем.
На кафедре системного программирования механико-математического факультета СПбГУ студенты и преподаватели развивают свободную операционную систему реального времени Embox. Это проект с открытым исходным кодом, как и другие разработки кафедры. Embox вышла за рамки учебной разработки и применяется в продуктах компании «Ланит-Терком», в других встроенных и телекоммуникационных системах. Антон Бондарев, руководитель проекта, рассказал, что теперь Embox позволяет запускать на микроконтроллерах любое ПО, написанное на С++, даже такое сложное, как OpenCV.
В Московском физико-техническом институте преподаватели и студенты развивают учебную операционную систему HellOS, которая удобна для изучения внутреннего устройства ядра. На примере этого проекта студенты разбираются во внутреннем устройстве операционных систем: исследуют исходные тексты и даже дописывают или переписывают отдельные компоненты. Код HellOS опубликована на GitHub https://github.com/carzil/hellos под лицензией MIT.
Высшая лига
Основная часть докладов была посвящена проектам, дорасти до которых мечтает каждый стартап. Участники этих проектов создают продукты мирового уровня и постоянно их совершенствуют. Получаются полезные и красивые решения, которые не только радуют пользователей, но и становятся достоянием разработчиков всего мира. Напомним, что все проекты, представленные на конференции — свободные.
Одно из самых красивых решений, продемонстрированных участниками — интеграция ОС на основе ядра Linux в существующую ИТ-инфраструктуру, работающую под Windows. Евгений Синельников, руководитель Саратовского филиала «Базальт СПО», рассказал о поддержке групповых политик в ОС «Альт». Новые инструменты поддерживают домен Linux на базе Samba или FreeIPA, а также интеграцию с Active Directory.
Администрировать этот домен стало удобнее. В Windows для просмотра объектов, создания новых свойств и редактирования уже существующих есть инструмент ADUC (Active Directory Users and Computers). Но, поскольку ADUC — часть экосистемы Windows, его исходный код полностью закрыт. Теперь схожий свободный инструмент появился в ОС «Альт». О нем рассказал Дмитрий Дегтярев, участник открытого проекта ADMC (Active Directory Management Console). Разработчики снабдили свое решение дизайном, похожим на ADUC, чтобы те, кто привык к Windows (а это большинство сисадминов), смогли быстрее его освоить.
На удобстве администрирования ОС сосредоточился и проект alterator-update-kernel. Иван Савин из «Базальт СПО» продемонстрировал усовершенствованный интерфейс инструмента для обновления ядра в ОС «Альт». На протяжении многих лет инструментом для обновления ядра в ОС «Альт» остается утилита update-kernel. Работа с ней велась из командной строки, что выглядит естественно для опытных пользователей, но сложно для новичков. Для того чтобы помочь последним, разработчики создали графический инструмент для работы с утилитой update-kernel. Для работы с ней в состав Alterator (центр управления ОС) включен новый модуль «Обновление ядра»; он позволяет обновить текущее ядро или установить ядро заданного типа.
Вообще за полтора года, прошедшие с предыдущей конференции, ОС семейства «Альт» серьезно продвинулись в развитии. Валерий Синельников из саратовского филиала «Базальт СПО» рассказал о новой разработке, которая обеспечивает управление большим компьютерным парком и эволюционный (поэтапный) переход на российское ПО. Теперь настройки операционной системы можно выполнять непосредственно из прикладных программ. Для этого через новую службу alterator-dbus организован доступ к модулям Alterator. Регистрация сервиса осуществляется на шине
Еще одно обновление затронуло стек инструментов для начальной загрузки и массового развертывания ОС. Это новая дистрибутивно-независимая система загрузки altboot и набор инструментов usermode-fs-tools для работы с образами дисков и файловых систем. Леонид Кривошеин, ведущий инженер «Базальт СПО», участник проекта ALT Linux Team, отметил, что новые инструменты дают возможность работать с образами дисков и файловых систем с правами обычного пользователя. Например, создать «эталонный» компьютер с ОС «Альт» и прикладным ПО, а потом «клонировать» его на другие компьютеры. Это сэкономит время развертывания типовых рабочих мест, особенно в крупной компании.
Конечно, не обошлось без темы удаленной работы. Большинство системных администраторов столкнулось с трудностями, когда пришлось срочно обеспечивать дистанционный доступ сотрудников к цифровым ресурсами организаций. Часть этих задач позволяет решить разработка обнинского филиала «Базальт СПО». Она обеспечивает поддержку альтернативного SPICE-клиента — открытого протокола удаленного доступа к компьютеру или виртуальной машине для Fleet Commander. Теперь в большой сети с помощью Fleet Commander можно создать конфигурации окружения рабочих столов пользователей и администрировать их в любых браузерах в режиме живой сессии. Новая разработка уже включена в международный проект разработки Fleet Commander.
Интересные изменения появились в новой версии специализированной ОС «Альт Образование». Андрей Черепанов, начальник отдела «Базальт СПО», в обзоре новинок отметил, что совместимых с ОС аппаратных платформ стало больше. «Альт Образование» 9.2 можно использовать на компьютерах трех аппаратных платформ: с 32- и
В ЛЭТИ на виртуальных машинах, оснащенных «Альт Образование» 9.1, развернуты два крупных сервиса: LMS Moodle и облачное хранилище NextCloud. Изначально специалисты ЛЭТИ поставили задачу обеспечить корректную работу https с подтверждением сертификата безопасности. Сертификаты, генерируемые при установке дистрибутива, не подтверждаются каким-либо центром сертификации, поэтому пользователи получают сообщение о вероятной угрозе безопасности. Иван Хахаев, доцент кафедры продемонстрировал скрипт для автоматизации процедуры обновления SSL-сертификата.
Алексей Костарев из пермской компании «Новая Платформа» рассказал, как их проект помог «укротить зоопарк» разнообразного ПО разных версий (российские ОС на базе Linux, системные библиотеки, прикладной софт) в составе территориально распределенной ИТ-инфраструктуры. Администрировать такую инфраструктуру сложно. Для решения проблемы разработчики использовали технологии и программный код ОС Fedore Core. Большинство пакетов Fedora CoreOS уже портировано в российский независимый репозиторий «Сизиф» (Sisyphus); их можно будет использовать, например, для создания «Альт IoT».
Сергей Козьяков, участник проекта разработки мобильной ОС «Аврора», подчеркнул преимущества свободного ПО: «Свободный софт используется при разработке в ОС на базе Linux для современных мобильных устройств. В том числе, это и ОС „Аврора“. Этот свободный софт активно развивают и используют во множестве других проектов разработки встраиваемых систем, операционных систем и т.п. Таким образом, разработка упрощается, снижается ее стоимость, а активное участие сообщества в разработке помогает адаптировать эти компоненты для огромного множества мобильных устройств. В открытых проектах исправленные уязвимости, затрагивающие одно устройство, автоматически становится достоянием проектов разработки прочих устройств. Так, в 2020 году разработчики ОС „Аврора“ обнаружили и исправили критическую проблему в glibc, затрагивающую множество устройств на архитектуре ARMv7. Это исправление теперь доступно для всего сообщества. Подобное взаимодействие, где важное исправление может быть быстро опубликовано и доступно для разработчиков по всему миру, очень важно для современной разработки, и поэтому даже крупные разработчики закрытых компонентов могут быть заинтересованы в сотрудничестве с открытыми проектами».
В компании Virtuozzo, которая создает открытое серверное ПО для виртуализации, решили проблему, с которой столкнулись разработчики ПО на основе CentOS. Денис Силаков, разработчик Virtuozzo, рассказал, что после обнародования планов Red Hat по переводу CentOS 8 на streaming-модель, пользователи Virtuozzo/OpenVZ высказали заинтересованность в более стабильных альтернативах. Пакетная база в виде Virtuozzo Linux 8 была готова вскоре после выхода RHEL 8. Выпускать этот дистрибутив как отдельный продукт изначально не планировалось, однако обеспокоенность пользователей судьбой CentOS 8 изменила планы, и теперь разработчики предлагают VzLinux 8 как гостевую ОС в контейнерах и ВМ на замену CentOS 8. VzLinux поставляется без ограничений, бесплатен и будет развиваться как открытый проект.
Эльвира Хабирова и Александр Анисимов из компании «Открытая Мобильная Платформа» рассказали о проектах, находящихся под управлением организации Trusted Firmware. Эти проекты формируют целостный набор свободного системного ПО для доверенных режимов исполнения. На сегодняшний день практически все SoC (Security Operations Center, Центр обеспечения безопасности) для мобильных устройств основаны на процессорах архитектур ARMv7-A и ARMv8-A. Поскольку мобильные устройства зачастую хранят информацию, которая может представлять интерес для злоумышленников (например, данные банковских приложений), мобильные SoC на базе процессоров ARM, как правило, поддерживают доверенную среду исполнения, предоставленную технологией ARM TrustZone. Trusted Firmware предоставляет эталонную реализацию доверенной среды исполнения с открытым исходным кодом под лицензией
Наш обзор вместил лишь часть докладов насыщенной четырехдневной конференции. Ее полную версию можно посмотреть в видеозаписи на канале «Базальт СПО».