Выпуск Linux-дистрибутива Hyperbola 0.4, начавшего миграцию на технологии OpenBSD
После двух с половиной лет с момента прошлого выпуска сформирован релиз проекта Hyperbola GNU/Linux-libre 0.4, входящего в поддерживаемый Фондом СПО список полностью свободных дистрибутивов. Hyperbola основан на стабилизированных срезах пакетной базы Arch Linux с переносом из Debian некоторых патчей для повышения стабильности и безопасности. Сборки Hyperbola формируются для архитектур i686 и x86_64 (1.1 ГБ).
Проект развивается в соответствии с принципом KISS (Keep It Simple Stupid) и нацелен на предоставление пользователям простого, легковесного, стабильного и безопасного окружения. В отличие от rolling-модели обновлений Arch Linux, в Hyperbola применяется классическая модель формирования релизов с длительным циклом выпуска обновлений для уже выпущенных версий. В качестве системы инициализации используется sysvinit с портированием некоторых наработок от проектов Devuan и Parabola (разработчики Hyperbola являются противниками systemd).
Дистрибутив включает только свободные приложения и поставляется с ядром Linux-Libre, очищенным от несвободных элементов бинарных прошивок. Репозиторий проекта насчитывает 5257 пакетов. Для блокирования установки несвободных пакетов применяется чёрный список и блокировка на уровне конфликта зависимостей. Установка пакетов из AUR не поддерживается.
Выпуск Hyperbola 0.4 позиционируется как переходный на пути к ранее объявленной миграции на технологии OpenBSD. В дальнейшем основное внимание будет уделяться проекту HyperbolaBSD, который предусматривает создание дистрибутива, поставляемого под копилефт-лицензией, но основанного на альтернативном ядре и системном окружении, ответвлёнными от OpenBSD. Под лицензиями GPLv3 и LGPLv3 проект HyperbolaBSD будет развивать собственные компоненты, нацеленные на замену несвободных или несовместимых с GPL частей системы.
Основные изменения в версии 0.4 связаны с чисткой компонентов без которых можно обойтись и включением в состав альтернативных пакетов. Например, добавлен рабочий стол Lumina, который может работать без D-Bus и поэтому поддержка D-Bus удалена. Также удалена поддержка Bluetooth, PAM, elogind, PolicyKit, ConsoleKit, PulseAudio и Avahi. Компоненты для работы Bluetooth удалены из-за большой усложнённости и потенциальных проблем с безопасностью.
В дополнение к sysvinit добавлена экспериментальная поддержка системы инициализации runit. Графический стек переведён на компоненты Xenocara, развиваемые в OpenBSD (X.Org 7.7 с x-server 1.20.13 + патчи). Вместо OpenSSL задействована библиотека LibreSSL. Удалены systemd, Rust и Node.js и связанные с ними зависимости.
Проблемы в Linux, подтолкнувшие разработчиков Hyperbola к переходу на технологии OpenBSD:
Принятие в состав ядра Linux технических средств защиты авторских прав (DRM), например, в ядро была включена поддержка технологии защиты от копирования звукового и видеоконтента HDCP (High-bandwidth Digital Content Protection).
Развитие инициативы по разработке драйверов для ядра Linux на языке Rust. Разработчики Hyperbola недовольны применением централизованного репозитория Cargo и проблемами со свободой распространения пакетов с Rust. В частности, условия использования торговых марок Rust и Cargo запрещают сохранение имени проекта в случае внесения изменений или применения патчей (пакет можно распространять под именем Rust и Cargo только если он собран из оригинальных исходных текстов, иначе требуется получение предварительного письменного разрешения от Rust Core team или смены имени).
Разработка ядра Linux без оглядки на безопасность (Grsecurity больше не свободный проект, а инициатива KSPP (Kernel Self Protection Project) находится в стагнации).
Многие компоненты пользовательского окружения GNU и системные утилиты начинают навязывать применение излишней функциональности, не предоставляя возможностей для её отключения во время сборки. Как пример приводятся отнесение к обязательным зависимостям PulseAudio в gnome-control-center, SystemD в GNOME, Rust в Firefox и Java в gettext.
Источник: http://www.opennet.ru/opennews/art.shtml? num=56781
© OpenNet