10. April 2026Archiviert

We don't break user space

Linus Torvalds wird ein Satz zugeschrieben, der trockener kaum klingen könnte und gerade deshalb so gut ist: „We don't break user space.“ Kein Zukunftsgeflimmer, kein Produktsprech, kein Gerede von Disruption, sondern bloß eine knappe Regel mit erstaunlich viel Anstand. Gemeint ist im Kern, dass interne Änderungen nicht einfach dazu führen dürfen, dass draußen funktionierende Programme, Skripte und Arbeitsabläufe plötzlich kaputtgehen.

Das klingt zunächst nach einer rein technischen Maxime aus der Linux-Welt, ist aber eigentlich sehr viel allgemeiner. „User space“ meint dort die Welt, in der Menschen tatsächlich arbeiten: Tools, Shells, Editoren, Dienste, Routinen, gewachsene Systeme. Und genau diese Welt ist es, die in vielen Projekten erstaunlich wenig Respekt erfährt, sobald irgendwo jemand beschließt, nun werde „endlich mal aufgeräumt“.

Der Reiz dieses Satzes liegt darin, dass er eine unangenehme Wahrheit ausspricht: Sobald Leute sich auf ein Verhalten verlassen, ist dieses Verhalten real. Es spielt dann nur noch begrenzt eine Rolle, ob eine Schnittstelle intern schön ist, ob ein Flag historisch gewachsen oder ein Dateiformat nicht mehr elegant wirkt. Irgendwo hängt fast immer ein Skript daran, ein Build, ein Server oder schlicht ein Mensch, der sich einen Ablauf über Jahre eingeprägt hat. Von innen sieht das schnell wie Altlast aus; von außen ist es oft einfach etwas, das zuverlässig funktioniert.

Genau hier beginnt der Unterschied zwischen technischer Eitelkeit und technischer Reife. Es ist leicht, Dinge neu und sauber zu entwerfen, wenn man so tut, als gäbe es keine Vergangenheit. Schwierig ist es, ein System zu verbessern, ohne dabei die Kosten der eigenen Verbesserung nach außen abzuwälzen. Vieles, was als Modernisierung verkauft wird, ist in Wahrheit bloß eine Verlagerung von Aufwand: Innen wurde etwas hübscher, außen brechen Dokumentation, Gewohnheiten und Automatismen.

Darum ist Kompatibilität auch keine feige Tugend und kein Ausdruck von Ideenarmut. Sie ist Respekt vor fremder Zeit. Wer funktionierende Nutzung erhält, schützt nicht nur Code, sondern investierte Lebenszeit, eingeübte Handgriffe und oft genug ganze Produktionsabläufe. Das ist unerquicklich, weil es Mühe macht. Man muss Übergänge bauen, unschöne Sonderfälle mitschleppen, Ersatzpfade anbieten und manchmal den eigenen Wunsch nach totaler Bereinigung zurückstellen. Aber genau darin liegt oft die eigentliche Ingenieursleistung.

Natürlich heißt das nicht, dass niemals etwas verschwinden darf. Jedes System braucht irgendwann Schnitte, sonst erstickt es an seiner eigenen Geschichte. Nur ist eben nicht jeder Bruch schon deshalb legitim, weil die neue Lösung dem Entwickler besser gefällt. Wenn man etwas ändern muss, dann möglichst mit Begründung, Vorlauf und einem brauchbaren Weg von alt nach neu. Nicht jeder Bruch ist vermeidbar, aber die Gleichgültigkeit gegenüber seinen Folgen wäre es oft schon.

Vielleicht gefällt mir dieser Satz deshalb so gut, weil er so wenig Theater macht. Er behauptet nicht, die Welt neu zu erfinden, sondern erinnert an etwas viel Bodenständigeres: Wenn andere Menschen auf einem System aufbauen, entsteht Verantwortung. Das ist keine spektakuläre Einsicht, aber eine, von der ein erstaunlich großer Teil der Softwarewelt profitieren würde.

🖼️ Galerie

Screenshots und visuelle Einblicke in die aktuelle Entwicklung der Engine und UI.

Zur Galerie

🚀 Freelancer & Mitgründer gesucht

Pragmatisch und produktnah: Softwareprodukte entwickeln, die reale Probleme lösen.

Mehr dazu

📰 Aktuelle Beiträge

Zurück zur Startseite mit den neuesten Projekten und Gedanken.

Zu den aktuellen Beiträgen

🗄️ Artikel-Archiv

Ältere Beiträge und Notizen, die zur Dokumentation erhalten bleiben.

Zum Archiv