Из жизни свободного ПО в России: обзор XIX Конференции разработчиков свободных программ
В Переславле-Залесском прошла XIX Конференция разработчиков свободных программ. Организатор — компания «Базальт СПО» — традиционно собрала аудиторию профессионалов, непосредственно связанных с разработкой ПО. Поэтому доклады — исключительно о «профессиональной кухне», без маркетинговой обвязки.
Перечислим некоторые из заинтересовавших нас докладов в коротком обзоре, а полную информацию можно посмотреть на сайте конференции и видеоканале.
Одна из свежих разработок «Базальт СПО» — утилита ALT Diagnostic Tool. ADT запускает инструменты с тестами в графическом или консольном интерфейсе. Приложение позволяет пользователю провести первичный анализ проблем. Детали отчета помогут опытному специалисту оперативно устранить проблему. Особенность разработки — объединение тестов в группы по направлениям проверок. Поиск, запуск тестов и получение результатов проходят через шину D-Bus. В докладе представили пример создания инструмента с набором тестов. Утилиту ADT планируют использовать для диагностики проблем функционирования доменов, проблем применения групповых политик, а также решения проблем в закрытых контурах.
Схема работы ADT
Блок докладов, посвященных утилите ALT Diagnostic Tool и новой концепции центра управления системой — Альтератор, — представил Саратовский инженерный отдел «Базальт СПО» — Алексей Сапрунов, Иван Савин и Евгений Синельников. Разработчики усовершенствовали центр конфигурации ОС «Альт», расширили возможности ее администрирования через групповые политики.
Подробное описание реализации rootless-контейнера kubernetes на основе репозитория Sisyphus прозвучало в докладе специалистов по виртуализации облачных технологий — Алексея Костарева и Александра Степченко. Режим rootless позволяет выделить пользователю в изолированном окружении права суперпользователя. С точки зрения внешней системы этот же пользователь будет иметь непривилегированные права. Технология используется для запуска контейнеров от имени пользователя с целью защиты основной системы — это повышает безопасность.
Схема инициализации rootless master сервера
Среди реализаций rootless-контейнеров — Podman, Docker, Usernetes Gen, Kubernetes. Решение на основе пакетов ALT Linux называется Podsec-k8s. Оно позволяет создавать кластер kubernetes, в котором все POD’ы (контейнеры) — пользовательские и системные — работают в rootless-режиме. В качестве API (Container Runtime) контейнер использует CRI-O. CRI-O снимает многие ограничения, которые накладываются его альтернативой, containerd, упрощает реализацию совместной работы rootless и rootfull-режимов и поддерживает политики безопасности. Докладчики рассмотрели создание основных компонент кластера на основе Usernetes — с использованием команды kubeadm для устранения недостатков решения с dockerd.
Пакеты из различных сторонних источников и форматов позволяет устанавливать приложение EPM от Etersoft. Утилита дополняет штатные средства дистрибутива, рассказал Виталий Липатов. По сути, это обвязка вокруг пакетного менеджера операционной системы. Концепция подхода к реализации — последовательная упаковка бинарного кода, конвертирование в формат пакетов программного обеспечения для данного дистрибутива. Команда epm play устанавливает сторонние программы.
Функциональность EPM
Для пользователя связанные с установкой процессы поиска источника и скачивания, разархивации, распаковки и перепаковки проходят незаметно. Программа формирует rpm-пакет, для которого применимы штатные средства дистрибутива. В проект добавлена поддержка межпланетной файловой системы IPFS — работа с серверами предлагается при отсутствии доступа к сайту разработчика. Одно из направлений разработки — пакет eepm-rpm-build — упростить поиск зависимостей штатного средства дистрибутивов ALT rpmbuild.
Современный телефон можно использовать без проприетарных программ. Например, в проекте ALT Mobile, представленном в докладе Андрея Савченко. На конференции показали образец смартфона с операционной системой ALT Linux. Цель проекта ALT Mobile — построить мобильную систему строго со свободным программным обеспечением (СПО). Некоторые прошивки перифийных устройств могут быть закрытыми, но главная система должна полностью контролироваться пользователем. Разработка платформы строится на базе репозитория Sisyphus. На текущий день построена система с одинаковым качеством воспроизведения на смартфонах Pinephone Pro, СнК Скиф и на десктопах с архитектурами x86_64, aarch64 и riscv. Присоединиться к разработке можно, используя QEMU-образы с указанными архитектурами. Графическим окружением выбрана оболочка Phosh, основанная на библиотеках Gnome shell.
Phosh ALT Mobile
Базовые приложения — контакты, смс и прочее — умеют адаптироваться к размеру и положению экрана устройства. Под мобильный интерфейс были адаптированы несколько приложений для связи, в том числе chatty и telegram, для воспроизведения аудио и видео — mpv, totem, amberol, lollypop, установлены веб-браузеры chromium и firefox, карты, календари, калькулятор, погодный виджет и другое. Доступна к работе камера для создания фото и видео. Предусмотрена возможность запуска Android-приложений через контейнер Waydroid.
В проектах разработок используют различные приложения для управления процессом и отслеживания прогресса. Собственным опытом поделился Александр Аксельрод. Обычно приходится использовать несколько инструментов — для постановки целей, хранения знаний, организации реферальных ссылок, заметок, формирования списков личных и профессиональных задач. Текстовый редактор Emacs способен объединить все составляющие процесса разработки в одном месте. Основной режим работы Org-mode свободного текстового редактора Emacs предоставляет язык разметки, включая раскраску текста, организацию заголовков и таблиц; может экспортировать статьи в различные форматы, в том числе pdf, tex, odt, презентации в Beam или страницы в Hugo; предоставляет функционал управления списками дел и задач c фильтрацией по тэгам и указанием сроков исполнения. Также в режиме Org-mode можно настроить отображение статуса задачи. А срочные дела из разных списков можно отобразить наглядно одним блоком. Как среда выполнения кода Org-mode позволяет выполнять код внутри статьи, подставляя полученные значения в результат экспорта.
Emacs можно использовать не только как текстовый редактор — в нём можно читать новости, слушать подкасты, проверять почту, общаться в Telegram, программировать.
Orgmode и Команда
Эффективность внедрения Emacs опеределена степенью владения этим инструментом, вплоть до формата описания задачи. Все этапы проделанной работы хранятся в Git. У каждого в команде есть постоянный доступ к задачам, крайним срокам выполнения — вся информация встроена в оконный менеджер, без необходимости использовать браузер. Одно из главных преимуществ Emacs — создание среды управления разработкой под конкретный коллектив и задачу, вариативность настройки.
Обзор технологии «бездрайверного» сканирования и печати представил независимый разработчик Александр Певзнер. В доклад вошло описание пакетов sane-airscan и ipp-usb. Драйвер сканера sane-airscan совместим с проектом SANE. Драйвер SANE поддерживает два распространенных протокола сканирования — компании Apple и Microsoft. Заявленный драйвер сканера призван обеспечить максимальное удобство пользователя при работе со сканерами в системах Linux. Ipp-usb представляет собой демон с поддержкой технологии IPP поверх USB. Этот протокол необходим для поддержки USB-устройств, у которых отсутствует сетевой адаптер.
Стек «бездрайверного» сканирования и печати в ОС Linux
Сборник докладов опубликован в РИНЦ.
Статья написана в соавторстве с Антоном Абрамовым @Soviet_Anton. Спасибо также коллегам за помощь с подбором иллюстраций.