Доступен дистрибутив Apertis 2025.0, позволяющий не использовать код под лицензией GPLv3

Компания Collabora представила Linux-дистрибутив Apertis 2025.0, изначально созданный для оснащения автомобильных систем, но затем переориентированный для более широкого спектра электронных устройств, встраиваемой техники и промышленного оборудования. В качестве примеров устройств, на которых применяется Apertis, упомянуты игровая консоль Atari VCS, платы Raspberry Pi 4, автомобильные SoC R-car и сканер для обнаружения объектов в стенах Bosch D-tect 200.

Эталонные системные образы распространяются для архитектур x86_64, arm64 и armhf. Дистрибутив модульный и позволяет производителям устройств самостоятельно формировать необходимую начинку системного окружения. Поддерживается как формирование сборок на базе традиционных deb-пакетов, так и монолитных атомарно обновляемых образов на основе OSTree. Время сопровождения каждого выпуска Apertis составляет 1 год и 9 месяцев, каждые три месяца формируется корректирующий релиз с исправлением ошибок.

В качестве основы для построения дистрибутива использованы пакеты из Debian GNU/Linux 12. При этом системная начинка существенно переработана с учётом рисков, которые могут возникнуть у производителей оборудования при использовании некоторых свободных лицензий, таких как GPLv3, запрещающих тивоизацию, т.е. привязку программного обеспечения к оборудованию, например, через дозволение загрузки только прошивок, заверенных цифровой подписью производителя.

Apertis позволяет сформировать сборки, не включающие код под лицензиями семейства GPLv3. Вместо использования устаревших версий утилит GNU, сформированных до перехода на лицензию GPLv3, в Apertis задействованы более современные альтернативы под пермиссивными лицензиями. Например, вместо пакетов GNU coreutils и findutils в Apertis предложены аналоги от проекта uutils, написанные на языке Rust и распространяемые под лицензией MIT, а вместо GnuPG поставляется Sequoia-PGP под лицензиями GPL-2+ и LGPL-2+. Для тех кого не заботят юридические вопросы, связанные с GPLv3, оставлена возможность использования традиционных наборов утилит.

Пакет с ядром базируется на свежей LTS-ветке ядра Linux. Например, в выпуске Apertis 2025 задействовано ядро 6.12, а не ядро 6.1 из пакетов Debian 12. Все пакеты, образы, утилиты и настройки развиваются в публичном git-репозитории, в котором доступно 5905 пакетов. Для совместной работы используется GitLab, а для тестирования с использованием непрерывной интеграции — GitLab CI. Сборка бинарных пакетов из исходного кода производится при помощи инструментарий OBS (Open Build Service). Собранные пакеты распространяются через APT-репозитории, управляемые при помощи инструментария aptly.

Проект Apertis придерживается правил разработки Debian и включает в состав только приложения, поставляемые под открытыми лицензиями или допускающие свободное распространение. Для того чтобы компании, создающие свои продукты на базе Apertis, могли быть уверены в лицензионной чистоте производных работ для каждой сборки формируется SBOM-отчёт (Software Bill of Materials) в котором указана информация о лицензиях всех использованных файлов с кодом, а также данные о версиях программ, что также удобно для проверки наличия уязвимых версий.

Все компоненты Apertis регулярно проходят расширенное автоматизированное и ручное тестирование на эталонных аппаратных платформах, таких как платы Raspberry Pi 4 автомобильные SoC R-car, а результаты такого тестирования публикуются в открытом доступе. Автоматизированное тестирование системных сборок на эталонном оборудовании организовано на базе системы LAVA (Linaro Automated Validation Architecture).

Основные изменения:

  • Началось формирование готовых системных образов для платы NXP Layerscape LS1028A RDB. Добавлена начальная поддержка платы MYIR Remi Pi на базе процессора Renesas RZ/G2L.

  • Задействовано ядро Linux 6.12 (в прошлом выпуске использовалось ядро 6.6). Пакетная база синхронизирована с Debian 12.9.

  • Из секции «development» в компонент «target» перенесены пакеты с инструментарием Rust и Go, используемые при сборке других пакетов. Идея в том, чтобы инструментарий для сборки для целевой системы входил в основной состав сборки для данной целевой системы для упрощения проверок соответствия заявленным лицензионным требованиям (compliance). Раньше пакеты Rust и Go не могли быть включены в компонент «target» так как в них использовалось статическое связывание, но проблему удалось решить через задействование инструментария germinate для построения списка зависимостей.

  • Помимо SBOM-отчёта о начинке дистрибутива, обеспечено формирование подобного отчёта и о всех сборочных зависимостях для каждого пакета. Отчёт включает номера версий зависимостей и может использоваться для отслеживания устранения уязвимостей.

  • Автоматизирован процесс формирования новых отчётов о лицензиях и авторских правах.

  • Улучшен инструментарий для импорта новых пакетов из Debian. В утилите import-debian-package реализована возможность создания merge-запросов с метаданными о лицензиях и авторских правах.

  • Добавлена поддержка запуска автоматизированных тестов в окружении LAVA в контексте MR (Merge Request), что позволяет проверять все изменения в пакетах путём запуска тестов непрерывной интеграции на стадии до приёма изменения в основные ветки.

  • Предоставлен новый способ добавления в пакеты тестов, выполняемых при поступлении запросов на слияние (Merge Request). Подобные тесты, предоставляющие дополнительные проверки от появления регрессий, добавлены для пакетов с ядром Linux.

  • Добавлен инструментарий Change History Generator, позволяющий отслеживать историю изменения системных образов и оценивать различия между образами.

  • Процессы объединения веток «security» и «updates» с веткой «main» и создания новых веток перенесены в Gitlab CI, что сократит ручную работу, позволит снизить число ошибок при формировании новых версий и упростит отладку.

  • Добавлен интерфейс (Dashboard) для отслеживания изменений в пакетах, по сравнению с их состоянием в Debian.
  • Улучшен интерфейс приложения для отслеживания результатов ручного и автоматизированного тестирования качества. CFD0C5CECEC5D4_1741416087.png CFD0C5CECEC5D4_1741416108.png



Источник: http://www.opennet.ru/opennews/art.shtml? num=62848

© OpenNet