Linux im Ehrenamt: NixOS muss einsteigerfreundlicher werden

Während bei dem Linux-Betriebssystem NixOS vieles rosig aussieht, zeigen sich Probleme mit den Ansätzen der Community. Eine Lösung dafür gibt es.

Ein IMHO von Lennart Mühlenmeier veröffentlicht am
Das Logo von NixOS zeigt sechs Lambdas und heute einen Daumen hoch.
Das Logo von NixOS zeigt sechs Lambdas und heute einen Daumen hoch. (Bild: Sincerely Media/Unsplash-Lizenz)

"Wir sind eine kleine Distribution, eher ein Start-up, können schnell etwas ändern," sagte mir Janne Heß im Mai 2022 bei einer ersten Vorstellung von Nix. Heß war der Release Manager für die kürzlich veröffentlichte Generation des Linux-Betriebssystem NixOS 22.05. Zu dem Betriebsystem gehört die Programmiersprache Nix und das Paket-Repository Nixpkgs. Schon im Mai ließ ich andeuten: Die Einstiegshürden bei diesem Open-Source-Projekt sind zu hoch.

Inhalt:
  1. Linux im Ehrenamt: NixOS muss einsteigerfreundlicher werden
  2. Nix zu verlieren

Nix ist toll, viel mehr sollten es mitentwickeln! In seiner Dissertation warf der Nix-Schöpfer Eelco Dolstra die zentrale Frage auf, die mit Nix beantwortet werden soll: Wie kann man Software auf verschiedenen Systemen deployen, ohne dass dabei alles kaputt geht? Die Problemstellung löst NixOS meines Erachtens nach erstklassig. Mit einer zentralen Konfigurationsdatei lässt sich das gesamte System beschreiben und bauen. NixOS-Systeme sind somit deklarativ, reproduzierbar und verlässlich, wie der Slogan des Projektes richtig zusammenfasst.

Dass die Community schnell etwas ändern kann, zweifele ich nicht an. Doch es bestehen Probleme organisatorischer und technischer Natur, die viele Linux-Communitys haben: Abhängigkeiten zu anderen Projekten, Überforderung des Teams, wenig Geradlinigkeit bei wichtigen Entscheidungen. In dieser Analyse gehen wir diesen unterschiedlichen Punkten exemplarisch an NixOS nach und zeigen: Die vornehmlich ehrenamtliche Community kann das schaffen, gerade wenn sie die hohen Einstiegshürden nimmt und mehr Unterstützung durch weitere Entwickler bekommt.

1. Schwieriger Installationsprozess

Allein schon der Installationsprozess war lange Zeit sehr schwierig: Man musste von einer ISO booten und hatte nur die Kommandozeile vor sich. Von da aus musste alles von Hand gemacht werden - gerade auch die Konfigurationsdeklarationen, die Anfängern wohl eher nicht geläufig sind.

Stellenmarkt
  1. (Junior) Android Developer (m/w/d) InsurTech
    CHECK24, Hamburg
  2. ERP-Systemadministrator (m/w/d)
    Hays AG, Leutkirch im Allgäu
Detailsuche

Mittlerweile gibt es zwar einen grafischen Installer, der die erste Erstellung der Konfigurationsdateien und Formatierungen der Festplatten erleichtern soll. Er basiert auf dem generischen Installer Calamares. Nur unterstützt der Installer noch nicht alle Feinheiten von Nix. Zudem ist er laut dem dazugehörigen Pull Requests (PRs) und angemerkten Mängeln noch nicht stabil genug für einen Einsatz.

So muss dann mitunter doch auf die herkömmliche Methode zurückgegriffen werden. (Das Projekt Nix-Gui versucht derweil, das komplette System langfristig mit einer grafischen Benutzeroberfläche verwaltbar zu machen.)

2. Code is documentation?

Zwar gibt es die sogenannten Nix Pills, die die Konzepte erklären sollen, und ein Manual, das im Prinzip alles erklärt. Auch wird die Website von NixOS stetig aktuell gehalten und simplere Aspekte werden erklärt. Jedoch zeigt sich immer wieder, dass für das Paket-Repository Nixpkgs immer noch der Code die Dokumentation ist.

Um verstehen zu können, wie Software eingesetzt und deployt werden kann, müssen all zu oft die entsprechenden Module gelesen werden. Beispielsweise hat das Nextcloud-Modul derzeit auf dem Master-Branch um die 1.000 Zeilen Code.. Diesen gilt es zu lesen und zu verstehen.

Die Suche unter search.nixos.org macht zwar die Optionen der Module wie services.nextcloud.config für die genaue Konfiguration durchsuchbar. Jedoch geht es über die deklarierten Beschreibungen (noch?) nicht hinaus. Module generieren die softwareeigenen Konfigurationsdateien. Zum Beispiel entstehen mit dem NixOS-Modul mehrere PHP-Dateien im Datenordner, die ansonsten von Hand angepasst werden müssten.

Auch dass Howtos und Handons schnell veraltet sind (siehe folgenden Punkt 3), führt wiederum dazu, dass der Code die Dokumentation ist. Dieser Zustand ist in dem Sinne nicht haltbar, weil er Einsteigern, die noch nicht versiert in der Programmiersprache Nix sind, das Lernen erschwert.

3. Bitte mehr Konsistenz - gerade bei Modulen

Bei nahezu jedem Release von NixOS werden Moduloptionen umbenannt, entfernt und erweitert. Ein gängiger Kritikpunkt diesbezüglich ist, dass mit jedem Versionssprung dementsprechend die Konfigurationen überarbeitet werden müssen. Das wird zwar sehr gut und verständlich im Manual dokumentiert. Nur sollte mehr Konsistenz herrschen, wie diesbezüglich in IRC-Channels diskutiert wurde. All zu oft wirken die gravierenden Änderungen eher wie geschmackliche Wünsche, als dass sie nachvollziehbar sind.

4. Onboarding von Committern fragwürdig

Das Onboarding von Committern ist - salopp gesagt - fragwürdig. Beitragende haben das Recht, Code per Pull Request in den Hauptzweig einzupflegen. In einem stetig offenen Issue werden neue Committer vorgeschlagen und mitunter von der Community bewilligt. Zur Veröffentlichung im Mai 2022 gab es 176 Committer. Der Entscheidungsprozess ist zwar transparent, aber objektive Kriterien gibt es nicht.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Nix zu verlieren 
  1. 1
  2. 2
  3.  


nomorenoless 05. Jul 2022 / Themenstart

Dann hat er was falsch gemacht.

nomorenoless 05. Jul 2022 / Themenstart

Etwas detaillierter: 1. Live ISO starten 2. Allenfalls Partitionierung vornhemne (oder in...

Schnarchnase 04. Jul 2022 / Themenstart

Das ist müßig, Aur hat so gut wie nichts mit Nix gemein. Auch mit reproduzierbaren Builds...

Yonderboy 04. Jul 2022 / Themenstart

Klar kannst du das. Aber wieso den extremen Aufwand betreiben und nixos dafür nehmen...

Kommentieren



Aktuell auf der Startseite von Golem.de
Kabelnetz
Vodafone setzt neuartige Antennendosen ein

Ohne Radioport kommt die neue Antennendose und ist damit schon für DOCSIS 4.0 vorbereitet. Doch sie soll bereits jetzt Vorteile für Vodafone-Kunden bringen.

Kabelnetz: Vodafone setzt neuartige Antennendosen ein
Artikel
  1. Hybridmagnet: Chinesische Forscher erzeugen Rekord-Magnetfeld
    Hybridmagnet
    Chinesische Forscher erzeugen Rekord-Magnetfeld

    Mit einem Hybridmagneten hat ein Team in China einen Rekord aus den USA für das stärkste stabile Magnetfeld überboten.

  2. Clop: Ransomwaregruppe erpresst scheinbar falsches Wasserwerk
    Clop
    Ransomwaregruppe erpresst scheinbar falsches Wasserwerk

    Eine Ransomwaregruppe hat sich nach einem Hack eines Wasserversorgungsunternehmens in Großbritannien offenbar vertan und ein anderes Werk erpresst.

  3. MacTigr: Das Keyboard präsentiert mechanische Mac-Tastatur
    MacTigr
    Das Keyboard präsentiert mechanische Mac-Tastatur

    Die MacTigr ist eine speziell für Mac-Nutzer gedachte mechanische Tastatur mit USB-Hub, Cherry-Switches und Metallgehäuse.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Günstig wie nie: Zotac RTX 3080 12GB 829€, Mac mini 16GB 1.047,26€, Samsung SSD 1TB/2TB (PS5) 111€/199,99€ • MindStar (Sapphire RX 6900XT 939€, G.Skill DDR4-3200 32GB 98€) • PS5 bestellbar • Games für PS5/PS4 bis 84% günstiger • Bester 2.000€-Gaming-PC[Werbung]
    •  /