Ansichten eines Informatikers

Das OpenSource-Inkompetenz-Psycho-Degnerationsproblem

Hadmut
6.4.2022 15:18

Warum es mit Open Source und freien Linux-Distributionen gerade bergab geht.

Das Problem ist nicht ganz neue, ich habe es schon oft beschrieben, aber es fiel mir gerade wieder so auf.

Gerade vor ein paar Tagen kam die Beta-Release der nächsten Langzeitversion von Ubuntu raus, am 21.4. soll die 22.04 erscheinen.

Natürlich habe ich die runtergeladen und einiges getestet. Ich habe einige Bugs gefunden, auch solche, die ich in früheren Versionen schon gemeldet hatte und die immer noch nicht gefixt sind. Und damit meine ich nicht Bugs in den Programmen, die Ubuntu mitliefert, sondern Bugs in den Ubuntu-spezifischen Dingen, die sie also selbst zu verantworten haben.

Die Leute sind oft schlicht nicht mehr in der Lage, das Projekt, das sie – warum auch immer – übernommen haben, noch selbst zu verstehen und zu überblicken. Viele sind nicht mehr in der Lage, Bug Reports überhaupt noch zu verstehen. Viele sind da nur noch auf dem Psychotrip und betrachten irgendein Projekt dann als ihr persönliches Eigentum, das sie zur persönlichen Machtverwaltung übergeben bekommen haben, und interpretieren jeden Bug Report als persönlichen Angriff gegen sich, den es abzuwehren gilt, anstatt als Aufgabe, etwas zu lösen.

Es ist unglaublich, wie das alles degeneriert ist.

Ubuntu hatte angekündigt, dass sie nach so ungefähr 10 Jahren endlich mal daran gingen, das altehrwürdige, aber eben uralte und schon lange nicht mehr weiterentwickelte X11 (das Graphiksystem, das die Fenster malt) durch Wayland zu ersetzen, auf allen Rechnern und Graphikkarten.

Tut sogar, aber ich mag die Ubuntu-Oberfläche gar nicht, weshalb ich seit Jahren Lubuntu verwende, also die Variante mit LXDE. Bescheidener, simpler, rechteckiger. Gefällt mir besser. Läuft aber nicht unter Wayland, sondern noch unter X11, obwohl allerlei wayland-Libraries installiert werden. Ich nahm an, es sei ein Bug. Dass da noch irgendwas nicht stimmt und noch den falschen Bildschirmtreiber im Pfad hat, denn so sah es aus. Sie verwenden nämlich nun einen Display-Manager, der beides kann, X11 und Wayland. Also dachte ich, da stimmt noch etwas an der Installation und am Startprozess nicht. Und habe einen Bug Report aufgemacht und rumgesucht, ob ich selbst was finde. Was nicht einfach ist, weil der Startup-Prozess nicht dokumentiert ist, und man sich da mühsam vom einen Programm zum anderen durchsuchen und vieles im Quelltext nachlesen muss.

Bekam nur eine blöde Antwort. Lubuntu habe niemals angekündigt, jemals auf Wayland zu gehen. Was nicht nur dumm und unvertretbar ist, weil X11 schlicht veraltet und deprecated ist, sondern auch nachweislich falsch. Ich habe ihm den Link auf die Lubuntu-Ankündigung geschickt, ab 20.10 (also schon seit eineinhalb Jahren) Wayland zu verwenden.

Oh, ja, das räumte er dann ein, da hätte er sich wohl geirrt. Der damalige Chef sei halt nicht mehr dabei. Irgendwie rausgeekelt oder sowas. Die wussten selbst nicht (mehr), dass sie die Umstellung als Aufgabe hatten. Das könnten sie jetzt aber auch nicht ändern, weil sie nur das bisherige LXQt, aber nicht das für Wayland erforderliche LWQt unterstütze.

Irgendwie hat man den Eindruck, da sitzten jetzt nur noch Leute, die das Projekt als Standestitel übernommen haben, aber überhaupt keinen Überblick, was sie da machen.

Ich jage schon seit längere Zeit, Jahre, einem Problem hinterher, das entsteht, wenn Ubuntu Desktop (oder allgemeiner: Ein Linux, das den Network Manager zur Verwaltung der Netzwerkschnittstellen verwendet) an einer Fritzbox hängt, auf der IPv6 konfiguriert ist.

Das Problem:

Die Fritzbox teilt per Advertiser und per DHCP mit, dass es zwei Präfixe gibt (nämlich das öffentliche Adresssegment, das der Provider zuteilt, und das Site-local-Segment, das ich selbst konfiguriert habe), und die Fritzbox der default-Router ist. Sie schickt aber zusätzlich für beide Präfixe noch zwei Routen auf sich selbst, also wie die default-Route, nur eben für die Präfixe.

Das ist eigentlich überflüssig, weil es ja schon die default-Route gibt. AVM konnte mir jetzt gerade auf Nachfrage zumindest auch nicht ad hoc sagen, warum sie das machen. Aber es sollte eigentlich auch keinen Schaden verursachen, als nicht stören.

MacOS und Debian/Raspbian verarbeiten das genau richtig und setzen für die beiden Präfixe, als meine eigenen Netzwerkbereiche, Interface-Routen, wie es sein muss. Da weiß der Rechner also, dass für diese beiden Adressbereiche gar nichts geroutet wird, weil wir da selbst direkt am Ethernet hängen.

Ubuntu server und Ubuntu core machen es schon etwas anderes. Sie setzen doppelte Routen. Eine Interface-Route und eine Route auf die Fritzbox. Das eine setzt wenigstens noch Metriken richtig, womit nur die richtige Route verwendet wird, das andere setzt die Metriken gleich. Also schon nicht konsistent.

Der Network Manager aber setzt gar keine Interface-Route, sonder nur eine über den Router, die FritzBox. Das funktioniert zwar (weshalb es kaum jemandem als Fehler auffällt), ist aber viel langsamer, weil die Pakete umständlich über die Fritzbox geroutet werden müssen, anstatt direkt über den Switch geswitcht.

Kann man nun diskutieren wie man will, wenn schon drei verschiedene Ubuntu-Varianten zu drei verschiedenen Resultaten führen, kann ja was nicht stimmen. Kann ja höchstens eins davon richtig sein. (Genau genommen, gar keins, sondern wie MacOS und Debian/Raspberry OS es machen.)

Sehen die aber nicht ein. Don’t fix the desktop, fix the router. Der Router macht es aber nicht falsch. Alle anderen Linux-Varianten und Betriebssyteme kommen damit klar, weil sie verstanden haben, dass eine Interface-Route eine höhere Priorität als normales Routing hat. Jetzt muss ich mich – obwohl ich eigentlich ganz anderes zu tun hätte – durch die ganzen RFCs graben und hoffen, dass ich eine eindeutige Stelle finde, mit der ich einem Fehler nachweisen kann – damit es dann in zwei Jahren vielleicht zur nächsten Version gefixt wird.

Selbst wenn ich falsch läge und mich geirrt hätte: Sie können ihren Standpunkt nicht erklären. Sie können nicht erklären, wie es ihrer Ansicht nach richtig funktionieren sollte. Und sie können nicht erklären, warum vier verschiedene Linux-Varianten zu vier verschiedenen Ergebnissen führen. Von denen die anderen drei immerhin funktionieren. Immer nur „Kritisier mich nicht, rühr mich nicht an, sollen andere reparieren, weil wir sind unfehlbar.“

Und das Ergebnis ist eben, dass eine frisch installierte und in keiner Weise veränderte Maschine andere Rechner in meinem Netz nicht direkt erreichen kann (etwa per Ping), sondern alles mit der MAC-Adresse der Fritzbox rausschickt, also routet. Und nicht direkt über den switch zum Zielrechner geht. Das ist halt einfach nicht richtig.

Ich muss irgendwann mal andere Router zum Vergleich einsetzen und ausprobieren, um das Problem einzukreisen. Obwohl das ja eigentlich nicht meine Aufgabe wäre.

Installiert man Ubuntu Desktop verschlüsselt (was im Allgemeinen zu empfehlen ist), bieten sie nur Installationen mit LVM oder ZFS an. Kenne ich zwar beide gut, finde ich aber in vielen Fällen überkandidelt. Besser wäre es für die meisten Rechner, direkt nur ein ext4 in eine verschlüsselte Partition zu stecken. Geht auch wunderbar, wenn man die manuelle Ich-weiß-was-ich-tue-Installation wählt, aber nicht automatisch. Und bei der ZFS-Installation treiben sie Unsinn. Sie machen ein eigenes Filesystem für /var/lib, was eine blöde Idee ist. Weil ZFS snapshots und rollbacks und sowas unterstützt. In /var/lib/dpkg stehen aber die Installationsinformationen über die Packages. Die Paketinhalte dann aber in /usr , /etc und so weiter. Macht man da aber snapshots zu verschiedenen Zeitpunkten oder spielt sie unterschiedlich ein, dann stimmt die tatsächliche Installation in /usr nicht mehr mit den Meta-Informationen in /var/lib/dpkg überein, und das System ist geschrottet. Schlechte Idee. Bug report geschrieben. Sie lehnen den Bug als Doublette ab, weil sie nicht bereit sind, den Bug Report überhaupt durchzulesen und ihn unbeirrbar für ein anderes Problem halten. Das es auch gibt, aber das eben ein anderes ist. (Und das ich nur erwähnt hatte, weil ich dabei auf dieses weitere Problem gestoßen war.)

Die Leute sind inzwischen über die political correctness, code of conduct und so weiter auf einem Trip, in dem jeder meint, er sei jetzt der Fürst über irgend Projekt, an das man per Plünderung durch Vertreiben der ursprünglichen Autoren kam, und meint, das als Sozialding aufzufassen, wo sie sich als Herrscher und Aufpasser darüber gerieren, wer wen noch kritisieren darf, und weiße Männer gar keine Bugs mehr aufmachen dürfen, aber nicht mehr kapieren, dass da an der Software was nicht in Ordnung ist und in Ordnung gebracht werden müsste.

Wir haben das Problem, dass Linux eines der wichtigsten Softwareprodukte geworden ist und auf Serverebene ohne Linux fast gar nichts mehr geht, wir aber nicht mehr in der Lage sind, die Software am Laufen zu halten und Fehler zu beheben, weil man per political correctness und code of conduct fast überall die ursprünglichen Maintainer in die Flucht oder Rente geschlagen und sie durch Leute ersetzt hat, die fachlich und charakterlich dazu nicht in der Lage sind.

Das eigentliche Problem hinter all dem: Keiner versteht das Produkt, für das er jetzt verantwortlich ist, noch so gut, dass er Änderungsentscheidungen treffen könnte. Keiner traut sich mehr, einen Fehler einzusehen und an seinem Produkt etwas zu ändern, weil er die Folgen nicht mehr abschätzen kann. Die Selbstschutzkonsequenz daraus ist, dass man mit allen Mittel versucht, jegliche wesentliche Änderungen zu vermeiden und die Schuld und Änderungslast immer anderen zuzuschieben. Es geht nämlich immer darum, dass jedes Problem ein Problem anderer Leute sein müsse. Man ist nicht mehr in der Lage, die Verantwortung für ein Produkt zu übernehmen. Weil man es nicht mehr versteht.

Und das Resultat ist, dass Probleme nicht mehr fachlich-technisch gelöst werden, sondern da nun solche Sozio-Macht-Spiele stattfinden, wo dann immer der gefühlt rangniedrigere den Bug in seinem Programm fixen soll und nicht mehr der, in dessen Programm der Fehler ist.

Das wird nicht mehr lange funktionieren.