Nach zweieinhalb Jahren seit der letzten Veröffentlichung wurde das Projekt Hyperbola GNU/Linux-libre 0.4 veröffentlicht, das in die von der FSF unterstützte Liste vollständig freier Distributionen aufgenommen wurde. Hyperbola basiert auf stabilisierten Schnappschüssen der Paketbasis von Arch Linux mit der Übernahme einiger Patches aus Debian zur Verbesserung von Stabilität und Sicherheit. Die Hyperbola-Bauten werden für die Architekturen i686 und x86_64 (1,1 GB) erstellt.
Das Projekt entwickelt sich gemäß dem KISS-Prinzip (Keep It Simple Stupid) und zielt darauf ab, den Nutzern eine einfache, leichtgewichtige, stabile und sichere Umgebung zu bieten. Im Gegensatz zum Rolling-Update-Modell von Arch Linux verwendet Hyperbola ein klassisches Release-Modell mit langen Aktualisierungszyklen für bereits veröffentlichte Versionen. Als Init-System kommt sysvinit zum Einsatz, wobei einige Entwicklungen aus den Projekten Devuan und Parabola übernommen wurden (die Entwickler von Hyperbola sind Gegner von systemd).
Die Distribution enthält nur freie Anwendungen und wird mit dem Linux-Libre-Kernel geliefert, der von nicht-freien Elementen binärer Firmware befreit ist. Das Projekt-Repository umfasst 5257 Pakete. Um die Installation nicht-freier Pakete zu blockieren, wird eine schwarze Liste sowie eine Konfliktabhängigkeitsblockierung verwendet. Die Installation von Paketen aus dem AUR wird nicht unterstützt.
Die Veröffentlichung von Hyperbola 0.4 wird als Übergangsschritt zur zuvor angekündigten Migration auf OpenBSD-Technologien positioniert. Zukünftig wird der Schwerpunkt auf dem Projekt HyperbolaBSD liegen, das die Schaffung einer Distribution vorsieht, die unter einer Copyleft-Lizenz bereitgestellt wird, aber auf einem alternativen Kernel und Systemumgebung basiert, die von OpenBSD abgeleitet sind. Unter den Lizenzen GPLv3 und LGPLv3 wird das HyperbolaBSD-Projekt eigene Komponenten entwickeln, die darauf abzielen, nicht-freie oder mit GPL inkompatible Teile des Systems zu ersetzen.
Die wichtigsten Änderungen in Version 0.4 betreffen die Eliminierung von Komponenten, auf die verzichtet werden kann, sowie die Integration in alternative Pakete. Zum Beispiel wurde der Lumina-Desktop hinzugefügt, der ohne D-Bus funktionieren kann, weshalb die D-Bus-Unterstützung entfernt wurde. Auch die Unterstützung für Bluetooth, PAM, elogind, PolicyKit, ConsoleKit, PulseAudio und Avahi wurde entfernt. Die Komponenten für die Bluetooth-Funktionalität wurden aufgrund ihrer Komplexität und möglicher Sicherheitsprobleme eliminiert.
Zusätzlich zu sysvinit wurde experimentelle Unterstützung für das Init-System runit hinzugefügt. Der Grafik-Stack wurde auf die in OpenBSD entwickelten Xenocara-Komponenten umgestellt (X.Org 7.7 mit x-server 1.20.13 + Patches). Anstelle von OpenSSL wird die Bibliothek LibreSSL verwendet. systemd, Rust und Node.js sowie die damit verbundenen Abhängigkeiten wurden entfernt.
Probleme in Linux, die die Entwickler von Hyperbola zur Umstellung auf OpenBSD-Technologien bewegt haben:
- Die Aufnahme technischer Maßnahmen zum urheberrechtlichen Schutz (DRM) in den Linux-Kernel, zum Beispiel wurde die Unterstützung für die HDCP-Technologie (High-bandwidth Digital Content Protection) zur Kopierschutzmaßnahme für Audio- und Video-Inhalte in den Kernel integriert.
- Entwicklung der Initiative zur Erstellung von Treibern für den Linux-Kernel in der Programmiersprache Rust. Die Entwickler von Hyperbola sind unzufrieden mit der Nutzung des zentralisierten Cargo-Repositories und den Problemen bezüglich der Freiheit der Verbreitung von Rust-Paketen. Insbesondere verbieten die Bedingungen für die Nutzung der Markennamen Rust und Cargo die Beibehaltung des Projektnamens im Falle von Änderungen oder angewendeten Patches (das Paket kann nur unter dem Namen Rust und Cargo verbreitet werden, wenn es aus den originalen Quelltexten kompiliert wurde; andernfalls ist eine vorherige schriftliche Genehmigung des Rust Core-Teams oder eine Umbenennung erforderlich).
- Entwicklung des Linux-Kernels ohne Blick auf die Sicherheit (Grsecurity ist kein freies Projekt mehr, und die Initiative KSPP (Kernel Self Protection Project) befindet sich in der Stagnation).
- Viele Komponenten der GNU-Benutzerumgebung und Systemdienstprogramme beginnen, übermäßige Funktionalität aufzuzwingen, ohne die Möglichkeit zu bieten, diese während des Builds abzuschalten. Als Beispiel werden die verpflichtenden Abhängigkeiten von PulseAudio im gnome-control-center, SystemD in GNOME, Rust in Firefox und Java in gettext angeführt.
Quelle: opennet.ru
