Неизменяемые операционные системы, ИИ и победители конкурса: итоги ХXII конференции разработчиков свободных программ

15 мин
Неизменяемые операционные системы, ИИ и победители конкурса: итоги ХXII конференции разработчиков свободных программ

ХXII конференция разработчиков свободного программного обеспечения прошла 2-4 октября в Переславле-Залесском. В мероприятии приняли участие более 2 тысяч слушателей очно и в в интернете режиме. Организаторами выступили «Базальт СПО» и Институт программных систем имени А.К. Айламазяна РАН (ИПС РАН).

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

На конференции в начальный раз подвели итоги конкурса «Исходник Логики», организованного АНО «Институт логики, когнитологии и развития личности». Победители награждены за важный вклад в существующий Open-Source-проект, опубликованный в публичном репозитории под свободной лицензией.

Остановимся на ряде докладов, которые были озвучены разработчиками на мероприятии.

Экосистема атомарных операционных систем, автоматизация сборки и обновления OCI-образов

Экосистеме ALT Atomic был посвящён целый ряд докладов. Дмитрий Удалов, разработчик «Базальт СПО», представил саму инфраструктуру атомарных систем на базе ALT Linux, где ОС собирается и распространяется как единый OCI-образ, обновляется полностью и откатывается одной перезагрузкой. В нее входят базовые образы Core и Core-minimal, десктопные GNOME и KDE (Kyanite), Selenite для виртуальных машин и мобильный Phosphophyllite. Собственный образ можно собрать за 5 шагов. За сборку, упаковку и доставку Flatpak-приложений для атомарных систем отвечает автоматизированная система ALT Hub, которую представил программист «Базальт СПО» Антон Осипов. А Давид Султаниязов подробнее рассказал о мобильном образе Phosphophyllite, в основе которой — операционная система «Альт Портативный». Это первая ОС, использующая единый исполняемый файл (UKI), в котором движок Linux и другие компоненты загрузки объединены в один образ.

Завершил тему Артём Синюгин, старший программист «Базальт СПО», который рассказал про инструменты для автоматизации сборки и обновления OCI-образов Atlflow и Flowforge. Atlflow собирает, тестирует, подписывает и загружает образы в реестр, а Flowforge следит за обновлениями пакетов и запускает пересборку зависимых образов.

Операционные системы ReactOS и Ximper Linux и алгоритм работы set-строк

Александр Речицкий и Кирилл Уницаев представили свои операционной системы.

Александр рассказал об обновлении ReactOS, куда вошли плагин аппаратной совместимости, встраивание KMDF и переход от экспериментальной 3D-графики к аппаратному ускорению, благодаря чему на ReactOS теперь запускаются популярные игры.

Кирилл представил дистрибутив Ximper Linux 1.0, по которому к выпуску готовятся образы с KDE Plasma и композитором niri, а также минимальным Ximper Core. Равным образом эксперт показал Ximper Shell — набор компонентов для оконных менеджеров. Дополнил отчёт Кирилла Виталий Липатов, генеральный директор Etersoft, рассказав о переходе Ximper Linux с пакетного менеджера APT-RPM на DNF5. Для этого были проведены доработки библиотек и исправления пакетной базы. Однако для полного перехода нужно ещё доработать приоритеты репозиториев, подписи и механизм обновления ядра.

Дмитрий Гудов исследовал механизм работы set-строк в ALT RPM. Set-строки — специальный вид зависимостей: в дополнение к указанию версии библиотеки они кодируют определённый набор программных символов (функций), которые должны в ней присутствовать. Это надёжнее обычных зависимостей, потому что релиз может остаться прежней, а нужная функция — исчезнуть. Эксперт предложил собственную реализацию set9.c. Это альтернативный исходник для работы с set-строками. Её цель — сделать исходник быстрее и проще для сопровождения, но такое решение потребляет больше памяти. Проверка на репозитории Сизиф показала, что реализация корректно обрабатывает зависимости, однако требует дополнительных доработок.

Научный обзор LoongArch, проект для изучения архитектуры arm64 и создание безопасных устройств на RISC-V

Александр Зубанков, разработчик «НИЦ ЦТ», представил научный обзор архитектуры LoongArch. Он провёл сравнение производительности процессоров loongarch64 с x86_64, aarch64 и e2k в бенчмарках, оценил работу бинарного транслятора, изучил доступные дистрибутивы и научное ПО, а равным образом построил прототип вычислительного кластера. Результаты показали, что loongarch64 показывает достойный уровень производительности на уровне aarch64, заметно опережает e2k и компенсирует отставание от x86_64 большим числом доступных ядер. Построенный им прототип кластера подтвердил зрелость loongarch64 для реальных научных задач.

Три доклада объединили темы изучения архитектур и безопасных устройств.

Алексей Гребенников, инженер «НПК Криптонит», рассказал об аппаратных корнях доверия на примере проекта OpenTitan. С ростом числа устройств с удалённым доступом растёт риск подмены ПО, а доверие к закрытым микросхемам основано только на заявлениях производителя. OpenTitan же полностью открыт, построен на ядре RISC-V и позволяет проверять целостность прошивки, хранить ключи и вести защищённый журнал аудита.

Для изучения вычислительной машины на базе архитектуры ARMv8-A был создан инициатива Barium No-Boot, о котором подробно рассказал инженер Тимофей Черниговский. Инициатива выполнен в виде автономного приложения, работающего напрямую на процессоре без операционной системы.

А Валентин Соколов, программист «Базальт СПО», рассказал о портировании фреймворка ROS 2 на ОС «Альт». ROS 2 — система для разработки робототехнических систем, изначально ориентированная на Ubuntu, но в процессе проекта были созданы файлы соответствий зависимостей и собраны необходимые пакеты. В результате работоспособность была подтверждена на учебном симуляторе turtlesim.

Сопровождение устройств Qualcomm в Linux и унифицированная инфраструктура разработки для мобильных ОС

Василий Дойлов и Дмитрий Муканин представили проекты, связанные с мобильными платформами.

Василий рассказал о том, как в движок Linux добавляется поддержка телефонов на базе процессоров Qualcomm и почему для этого нужно применять актуальные ядра Linux (mainlining). На примере СнК Snapdragon эксперт смог осуществить перенос, однако это не делает девайс целиком свободным, так как модем, фотокамера и другие компоненты по-прежнему используют закрытые прошивки.

Дмитрий показал Xenolith Origin — открытую платформу, обеспечивающую унифицированную инфраструктуру разработки на C/C++ для настольных, мобильных и встраиваемых операционных систем. Ключевая идея — полная независимость прикладного кода от целевой платформы. Разработчик пишет приложение один раз, а сборка под любую ОС выполняется без изменения кода и без проприетарных SDK. В результате система даёт возможность создавать приложения без глубоких знаний о целевой ОС.

Простой метод создать презентацию и инструмент для работы с научным кодом

Степан Мальчевский и Андрей Гетманов представили инструменты для организации научного материала или представления кода проекта.

Степан рассказал о git-reveal — утилите для создания демонстрационных презентаций на базе git-репозиториев. Средство собирает сохранённые изменения и генерирует слайды в формате Reveal.JS, которые можно просматривать в браузере. Утилита позволяет готовить презентации без глубоких знаний систем контроля версий.

Андрей из института ИИ в ИТМО рассказал о проекте PAUK — карте научного кода ИТМО, собранной из открытых данных. Инструмент автоматически определяет связь между статьями, репозиториями и людьми, а результат складывается в граф. Инициатива можно использовать в любой организации для формирования графов связей и инвентаризации своего открытого кода.

Как шеринговый служба для разработки и сообщество создают реальные продукты

На тему образования и организации сообщества вокруг разработки свои доклады подготовили генеральный директор «ШЭРИКС» Александра Панюкова и директор по продукту «Базальт СПО» Олег Щавелев.

Александра представила ShariX Open — программную среду для обучения разработке, выполнения студенческих проектов и создания реальных цифровых сервисов. В ней содержатся шаблоны и типовые компоненты, которые можно брать для доработки или создания собственных решений, а использовать их можно в разных дисциплинах — от разработки ПО до системного администрирования.

Олег посвятил доклад опыту создания сообщества ALT Gnome — группе участников, объединённых общим интересом к разработке, локализации и продвижению рабочего окружения GNOME в составе операционных систем семейства «Альт». Он описал, как небольшая проект превратилась в сообщество со своими традициями и планами. Благодаря сообществу ALT Gnome созданы: центр управления «Тюнер», «Портной» для создания загрузочных флешек, Хэш-суммы, мастер первичной настройки системы «На старт, внимание», «Менеджер папок» и тур по системе «Добро пожаловать».

Искусственный интеллект: от доступности до применения в бизнес-процессах

Некоторое количество докладчиков презентовали свои проекты на тему искусственного интеллекта.

Алексей Фитисов представил обзор интеграции нейросетей с программами экранного доступа для незрячих. Он изучил экранный диктор Orca, российские модели GigaChat и YandexGPT Lite и сценарии использования ИИ. В процессе исследования Алексей выделил следующие ключевые барьеры: эффективность, задержки, управление и конфиденциальность. Он отметил, что встраивание нейросетей является следующим шагом в развитии программ экранного доступа, но требуется адаптация под российское законодательство, языковые особенности и требования к защите данных.

Семён Фомченков, разработчик «Базальт СПО» и активный участник сообщества ALT Gnome, показал проект Exedra — системный слой доставки и запуска локальных ИИ-моделей в Linux. Он решает проблему разрозненности, при которой приложения скачивают модели самостоятельно, без проверки целостности и контроля лицензий, а равным образом подбирает модель под конкретное железо.

Павел Митрофанов, программист «Базальт СПО», показал Magpie — приложение, которое автоматически определяет, кто и когда говорил на аудиозаписи. Он рассмотрел классические алгоритмы и нейросетевые методы, а равным образом их гибридное взаимодействие. Проверка показал, что в 140 записях доля ошибок составила 26,1%, а пять минут аудио обрабатываются за 10–20 секунд.

Андрей Михеев, руководитель проекта RunaWFE Free, — свободной системы управления бизнес-процессами — представил её обновление. В решении появились:

  • переменные «по ссылке», которые не хранятся в экземпляре процесса, а ссылаются на данные во внешней базе или redmine;

  • интегрирация с IP-телефонией;

  • коннектор к ИИ-моделям, позволяющий генерировать заготовку процесса по текстовому описанию на естественном языке.

Равным образом была реализована процессная реализация элементов CRM, улучшен Linux-инсталлятор и добавлен обработчик прав доступа.

Инструменты для тестирования, зеркалирование данных и динамичные презентации

Участники конференции обсудили зеркалирование репозиториев, а равным образом инструменты проверки корпоративных политик и управления тестированием.

Аркадий Шейн рассказал о тонкостях зеркалирования репозиториев Linux-дистрибутивов с помощью Rsync. Информации о зеркалировании многогигабайтных репозиториев чрезвычайно мало, и он поделился опытом, рассказав об основных опциях утилиты и периодичности этого процесса, а равным образом о выборе хорошего зеркала и анализе логов.

Разработчик Валерий Ледовской показал Browser Policy Manager — инструмент для подготовки и проверки корпоративных политик браузера Firefox. С помощью него можно разрабатывать, дублировать, импортировать и сравнивать профили, редактировать настройки, визуально или в JSON, а равным образом проверять их на совместимость с разными версиями Firefox. Равным образом Валерий показал браузер Good Bear, созданный на базе Firefox с поддержкой сертификатов (НУЦ) Минцифры России, и русский словарь проверки орфографии Russian Spelling Dictionary.

Михаил Черноног, руководитель отдела тестирования ПО «Базальт СПО», рассказал про TestVault — систему управления тестированием с ключевой особенностью: версионированием, при котором тестовый план фиксирует конкретные версии тест-кейсов и связывает их с билдами и платформами. Система уже используется отделом тестирования «Базальт СПО».

Разбавил блок Стас Фомин рассказом об инструменте для создания динамичных презентаций Story-assembler. Сценарий описывается Markdown-файлом, где для каждого фрагмента задаются длительность, статья и краткий тезис. Медиафайлы размещаются в папках проекта, после чего инструмент автоматически собирает видеоряд. Спикер может заранее проверить тайминг и отрепетировать рассказ, а на конференции сосредоточиться на общении с аудиторией.

Cимулятор железных дорог и система обработки мнений экспертов

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

Дмитрий Притыкин, директор Центра развития инновационных компетенций Ростовского государственного университета путей сообщения, представил Russian Railway Simulator (RRS) — открытый симулятор железных дорог с модульной архитектурой и собственным физическим движком. RRS позиционируется не только как игра, но и как платформа для тренажёрных комплексов и демонстрационных стендов.

Никита Соболев, независимый разработчик, рассказал о внутреннем устройстве и будущем CPython. Отказ от глобальной блокировки (GIL) позволил программам функционировать параллельно, но усложнил управление памятью. Сборщик мусора (Garbage Collector) некоторое количество раз переписывали, а JIT-компилятор даёт всего 5–10% прироста и может быть убран. Никита также работает над иммутабельностью — созданием объектов, которые нельзя изменить, что важно для многопоточности. Он предложил новый синтаксис, который делает это проще и даёт возможность компилятору оптимизировать код. Также разработчик рассказал про проект Django Motor REST — инструмент для создания программных интерфейсов на Python. Он помогает разработчикам быстрее и с меньшим числом ошибок связывать между собой разные программы и сервисы.

Александр Певзнер, ведущий разработчик АО "Электронная Москва", показал две библиотеки для языка программирования Go:

  • go-avahi для поиска устройств в локальной сети, например, принтеры и сканеры;

  • go-cpython для встраивания Python в программы на Go.

Обе библиотеки уже применяются в симуляторе многофункциональных устройств go-mfp, а go-cpython планируется вынести в отдельный проект.

Разработчик Леонид Юрьев рассказал про развитие и возможности высокопроизводительной встраиваемой базы данных типа «ключ-значение» libmdbx. Она нужна, чтобы хранить и быстро получать информация прямо внутри приложения — без отдельного сервера базы данных. Libmdbx используют более 1100 открытых проектов, особенно в области блокчейна и мобильных приложений. Разработчик подчеркнул, что libmdbx делает ставку на простоту и прозрачность: минимум абстракций, понятный механизм работы с файлами и отсутствие скрытых фоновых процессов. Благодаря этому библиотеку удобно встраивать даже в ограниченные среды, а поведение системы остаётся предсказуемым.

Сергей Абрамов показал программный комплекс «Консенсус» для обработки мнений экспертов в случаях, когда они неполные и противоречивые. Комплекс решает задачи рейтингового голосования, оценки работы экспертов и определения коэффициентов трудового участия. Изначально подход разрабатывался для студенческого курса, где учащиеся сами организовывали конференцию, выступали авторами, рецензентами, докладчиками и слушателями. Вместо выставления баллов экспертов просят высказать относительные суждения — например, «работа А лучше работы Б». Приложение ищет общий рейтинг, который минимально противоречит этим суждениям. С математической точки зрения это очень сложная задача: для большого числа работ её точное подход требует огромных вычислений. Чтобы справиться с этим, в программе применена гибридная схема, сочетающая некоторое количество методов поиска. Надёжность комплекса подтверждена использованием в системе электронного голосования Национального суперкомпьютерного форума для определения лауреатов премии «За заслуги перед отраслью». Равным образом комплекс «Консенсус» использовался для подведения итогов конкурса «Код Логики».

Победители конкурса «Исходник Логики»

На конференции провели награждение номинантов конкурса «Код Логики». Награды присуждались за важный вклад в существующий Open-Source-проект, опубликованный в публичном репозитории под свободной лицензией. К участию в конкурсе допустили 52 заявки, среди которых выделили 6 лучших работ. Организаторам конкурса выступил АНО «Институт логики, когнитологии и развития личности».

Победителями стали:

1 место

• Никита Соболев — за вклад в проект Python

2 место

• Леонид Юрьев — за вклад в инициатива libmdbx

• Владислав Щапов — за вклад в инициатива zlib-ng

3 место

• Егор Пугин — за вклад в проект Tesseract-OCR

• Дмитрий Маракасов — за вклад в проект Repology

• Владимир Садовников — за вклад в инициатива Linux Studio Plugins Project

Все победители получат дипломы и денежные призы в соответствии с занятым местом:

1 место — 1 млн рублей,

2 место — 500 тыс. рублей,

3 место — 300 тыс. рублей.

«Исходник логики» проводился при финансовой поддержке «Базальт СПО» и частных спонсоров.

Платформа тестирования графического сервера и умные устройства

Иван Молодецких и Павел Родионов представили проекты, связанные с Wayland.

Иван рассказал о том, как тестировать Wayland-композитор niri. Для этого используются: mock-тестирование подсистемы расположения окон, рандомизированное тестирование (фаззинг) и клиент-серверные тесты со сравнением с эталонными снимками. Такой решение даёт возможность находить ошибки до выпуска новых версий и поддерживать стабильность проекта. Павел рассказал про Onyrion — свободную Wayland-среду с групповой моделью окон, где некоторое количество приложений могут занимать одну область экрана и переключаться как вкладки. Onyrion уже используется в повседневной работе.

Далее на конференции поговорили об умном устройстве для дома.

Системный аналитик Антон Абрамов представил инициатива «Домашняя AI-станция» — девайс, которое записывает речь, распознаёт её и выполняет команду полностью локально, без интернета. В состав проекта входит: одноплатный компьютер Orange Pi CM4 с операционной системой «Альт», микрофонный компонент, модель распознавания речи GigaAM и модуль голосового интерфейса с интеграцией Zigbee. Прототип уже распознает голосовые команды, в частности, «включи/выключи свет» и другие.

Создание интерфейсов, запись дистрибутивов и настройка системы

Завершающей группой докладов стали инструменты для разработчиков и пользователей.

Виктория Зубачева, дизайнер интерфейсов «Базальт СПО», рассказала о переходе дизайнеров GNOME на свободный средство Penpot. Это открытое веб-приложение, альтернатива Figma, с поддержкой совместной работы, дизайн-систем и экспорта в код. Penpot позволяет контролировать используемые данные, имеет публичный форматы файлов и независим от коммерческого вендора. Средство уже используется для создания дизайна интерфейсов.

Владислав Петрухин рассказал про Blueprint — язык разметки и компилятор для интерфейсов GTK4, который проверяет правильность описания на этапе сборки.

Сергей Бугаев, инженер-программист «Систематика», представил инициатива peel — языковые привязки для использования GTK и других библиотек на основе GObject из C++. Инструмент автоматически создает нужные обёртки, следовательно код становится понятнее.

Алексей Волков, программист «Базальт СПО», продемонстрировал приложение для записи ISO-образов на USB-накопители «Портной». Оно объединило в себе каталог дистрибутивов из Fedora Media Writer и конвейера записи из Impression. Записать ISO-образ на флешку можно в 3 шага: выбрать систему из каталога или свой ISO, выбрать накопитель и записать образ. Программа адаптировано для дескотопа и мобильных устройств.

Владимир Романов, разработчик «Базальт СПО», показал ReadySet — инструмент для настройки системы при установке Linux. Установщик просто ставит систему, а конфигурация происходит после первой загрузки. Инструмент состоит из отдельных шагов-плагинов, которые необходимо собирать в определенной последовательности. Он поддерживает разные сценарии: обычную установку, первичную настройку и настройку для уже существующего пользователя.

Александр Давыдик, программист «Базальт СПО», представил «Тюнер» — модульное программа для настройки системы на базе GNOME. В него входят плагины для управления экраном входа, настройки внешнего вида, переключения темы, управления мониторами, настройки Firejail, управления пакетами и других задач. «Тюнер» входит в «Альт Рабочую станцию» начиная с версии 11.1, используется в Ximper Linux и включён в состав атомарного дистрибутива Bazzite. В планах — расширение для управления шрифтами, интеграция с systemd, а также приложение Welcome.

На стендах показали игры, российские процессоры и атомарные операционные системы

В перерывах между докладами участникам могли поиграть в разнообразные игры на геймпаде или руле через PortProtonQT — новое приложение для запуска Windows‑игр в среде Linux, которое стало заменой PortProton.

На стенде ALT Gnome можно было ознакомится с атомарными операционными системами и подробнее узнать с мобильной ОС Phosphophyllite.

На стенде «Альт Портативный» можно было ознакомиться с одноименной мобильной операционной системой от «Базальт СПО» на разных портативных устройствах.

На стенде «Трамплин Электроникс» участники могли прочитать с российскими высокопроизводительными процессорами семейства «Иртыш». Процессоры применяются в облачных средах, дата-центрах, научных и инженерных расчётах, в автоматизированных системах управления, ПЛК, бортовых устройствах и других областях.

На стенде «Р7-Офис» продемонстрировали редактирование документов, таблиц и презентаций, а на стенде RunaWFE можно было ознакомиться интерфейсом и функциями программы для управления бизнес-процессами RunaWFE Free.

Запись трансляции конференции доступна на канале «Базальт СПО».

Поделиться

TelegramVK