Dopo due anni e mezzo dall'ultimo rilascio, è stata formata la versione del progetto Hyperbola GNU/Linux-libre 0.4, che è inclusa nell'elenco dei distributori completamente liberi sostenuti dalla Free Software Foundation. Hyperbola si basa su snapshot stabilizzati della base di pacchetti di Arch Linux, con alcuni patch tratti da Debian per migliorare stabilità e sicurezza. Le versioni di Hyperbola sono disponibili per le architetture i686 e x86_64 (1,1 GB).
Il progetto si sviluppa seguendo il principio KISS (Keep It Simple Stupid) ed è mirato a fornire agli utenti un ambiente semplice, leggero, stabile e sicuro. A differenza del modello di aggiornamento rolling di Arch Linux, Hyperbola utilizza un modello classico di rilascio con un lungo ciclo di aggiornamenti per le versioni già pubblicate. Come sistema di inizializzazione, utilizza sysvinit con il porting di alcune caratteristiche dai progetti Devuan e Parabola (gli sviluppatori di Hyperbola sono contrari a systemd).
La distribuzione include solo applicazioni libere e viene fornita con un kernel Linux-Libre, ripulito da elementi binari proprietari. Il repository del progetto conta 5257 pacchetti. Per impedire l'installazione di pacchetti proprietari viene applicata una lista nera e un blocco a livello di conflitto di dipendenze. L'installazione di pacchetti da AUR non è supportata.
Il rilascio di Hyperbola 0.4 è presentato come un passaggio verso la migrazione precedentemente annunciata verso la tecnologia OpenBSD. In seguito, l'attenzione principale sarà rivolta al progetto HyperbolaBSD, che prevede la creazione di una distribuzione fornita sotto licenza copyleft, ma basata su un kernel e un ambiente di sistema alternativi, derivati da OpenBSD. Sotto le licenze GPLv3 e LGPLv3, il progetto HyperbolaBSD svilupperà componenti propri, miranti a sostituire parti del sistema che sono proprietarie o incompatibili con GPL.
Le principali modifiche nella versione 0.4 riguardano la rimozione di componenti superflui e l'inclusione di pacchetti alternativi. Ad esempio, è stato aggiunto il desktop Lumina, che può funzionare senza D-Bus, motivo per cui il supporto per D-Bus è stato eliminato. Anche il supporto per Bluetooth, PAM, elogind, PolicyKit, ConsoleKit, PulseAudio e Avahi è stato rimosso. I componenti per il funzionamento di Bluetooth sono stati eliminati a causa della loro complessità e dei potenziali problemi di sicurezza.
Oltre a sysvinit, è stato aggiunto il supporto sperimentale per il sistema di inizializzazione runit. Il stack grafico è stato trasferito ai componenti Xenocara, sviluppati in OpenBSD (X.Org 7.7 con x-server 1.20.13 + patch). È stata utilizzata la libreria LibreSSL invece di OpenSSL. Sono stati rimossi systemd, Rust e Node.js e le relative dipendenze.
Problemi in Linux che hanno spinto gli sviluppatori di Hyperbola a passare alle tecnologie OpenBSD:
- L'inclusione nel kernel Linux di strumenti di protezione dei diritti d'autore (DRM), ad esempio, è stata inclusa nel kernel la supporto per la tecnologia di protezione dalla copia di contenuti audio e video HDCP (High-bandwidth Digital Content Protection).
- Sviluppo dell'iniziativa per la creazione di driver per il kernel Linux in Rust. Gli sviluppatori di Hyperbola non sono soddisfatti dell'uso del repository centralizzato Cargo e dei problemi relativi alla libertà di distribuzione dei pacchetti Rust. In particolare, le condizioni d'uso dei marchi Rust e Cargo vietano di mantenere il nome del progetto in caso di modifiche o applicazione di patch (il pacchetto può essere distribuito con il nome Rust e Cargo solo se costruito dai testi sorgente originali; altrimenti, è necessario ottenere un'autorizzazione scritta preventiva dal Rust Core team o cambiare nome).
- Sviluppo del kernel Linux senza considerare la sicurezza (Grsecurity non è più un progetto libero e l'iniziativa KSPP (Kernel Self Protection Project) è in stagnazione).
- Molti componenti dell'ambiente utente GNU e utility di sistema iniziano a imporre funzionalità eccessive senza fornire la possibilità di disabilitarle durante la compilazione. Come esempio, si citano le dipendenze obbligatorie come PulseAudio nel gnome-control-center, SystemD in GNOME, Rust in Firefox e Java in gettext.
Fonte: opennet.ru
