Die eigentliche Abhaengigkeit ist fremde Wartungskapazitaet
Drei Meldungen von heute handeln zusammengelesen von derselben Sache: nicht davon, wovon die Software abhaengt, sondern davon, wer Zeit hat, es zu pflegen.
Quarkus lieferte ein Notfallrelease auf beiden LTS-Zweigen. Zwei Dutzend CVEs. Drei davon betreffen Quarkus; elf betreffen Netty und acht zstd-jni. Kein Anwendungsteam hat zstd-jni gewaehlt. Es kam mit.
Rust schuf eine finanzierte Vollzeitstelle fuer das Cargo-Team, und die Ankuendigung nennt den Grund ungewoehnlich offen: Einige Mitglieder gingen, andere verloren ihre gewidmete Finanzierung fuer die Cargo-Wartung und mussten ihr Engagement zurueckfahren.
AWS fuehrte eine Supportlinie ueber 36 Monate fuer Spark auf EMR ein.
In dieser Reihenfolge wird die Form sichtbar. Nicht die gepruefte Abhaengigkeit wird schmerzen, sondern die, fuer deren Pflege niemand bezahlt wird.
Ein Abhaengigkeitsgraph ist ein Graph von Verpflichtungen, die man nie eingegangen ist. Der Build loest Netty auf, weil Quarkus es braucht, und die Sicherheitslage der eigenen HTTP-Grenze haengt nun zum Teil davon ab, wie gut das Netty-Projekt besetzt ist. Die CVE-Liste kann man lesen, die Personaldecke nicht. Dafuer gibt es kein Dashboard.

"LTS" ist eine Aussage ueber kuenftige Kapazitaet, nicht ueber Code. Wenn AWS 36 Monate kritische Korrekturen zusagt, ist das die Zusage, dass jemand noch da sein wird, um zurueckzuportieren — mit einem Vorbehalt, den man zweimal lesen sollte: kritisch und schwerwiegend, vorbehaltlich der Verfuegbarkeit. Der LTS-Zweig von Quarkus ist dieselbe Zusage, und heute wurde sie eingeloest, um den Preis eines ungeplanten Releases an einem Dienstag. Beides ist echt. Beides sind Menschen.
Bezahlte Maintainer leisten genau die Arbeit, die Freiwillige zu Recht aufschieben. Man sehe sich an, was der neue Cargo-Maintainer bereits getan hat: die Diagnoseausgabe des Compilers auf annotate-snippets umzustellen — Jahre Aufwand, beim Abschluss kein sichtbares Merkmal, und der Grund, weshalb das Cargo-Linting ueberhaupt gebaut werden konnte. So sieht die Aufgabe aus, die gegen einen Fehlerbericht am Samstag niemals gewinnt.
Praktisch folgt daraus dreierlei.
Die transitive Oberflaeche einmal ehrlich zaehlen. Nicht um sie zu entfernen — das geht nicht — sondern um sie zu kennen. Koennten Sie die fuenf Projekte benennen, deren Maintainer-Verfuegbarkeit Ihre Produktionssicherheit am staerksten beeinflusst? Die meisten Teams nennen ihre direkten Abhaengigkeiten und liegen damit falsch.
Ein Notfallrelease als Signal ueber den Baum lesen, nicht nur als Patch. Das heutige sagt, dass Nettys HTTP-Protokollbehandlung einen schlechten Monat hatte. Das betrifft jeden Dienst, der ueber die JVM HTTP spricht, nicht nur den mit Quarkus.
Und wenn ein Anbieter ein langes Supportfenster anbietet, den Vorbehalt bepreisen. Drei Jahre kritische Korrekturen sind wirklich wertvoll und nicht dasselbe wie drei Jahre Pflege. Im Abstand zwischen diesen beiden Saetzen wohnt die Upgrade-Arbeit, die niemand eingeplant hat.
Die unangenehme Fassung, und ich halte sie fuer die zutreffende: Der groesste Teil der Software, auf der ein Unternehmen laeuft, wird von Menschen gepflegt, deren Finanzierung man nicht kontrolliert, deren Namen man nicht kennt und von deren Weggang man aus einem CVE erfaehrt. Der Rust-Beitrag faellt nur deshalb auf, weil er es ausspricht.