Importierte Verantwortung
Kommentare

Dem schweizer PHP-Entwickler und Speaker Igor Wiedler ist aufgefallen, dass in Open-Source-Software oft frei verfügbare Bibliotheken zusammengewürfelt werden, indem blinden Vertrauen darauf, dass jede

Dem schweizer PHP-Entwickler und Speaker Igor Wiedler ist aufgefallen, dass in Open-Source-Software oft frei verfügbare Bibliotheken zusammengewürfelt werden, indem blinden Vertrauen darauf, dass jede von ihnen ihre Aufgabe fehlerfrei erledigt. Außerdem gibt es jede erdenkliche Funktion mittlerweile auch als Cloud-Service. Den kann man zwar meistens nicht auf Code-Ebene fixen, wenn etwas Gravierendes kaputtgeht, aber in den meisten Fällen reicht ohnehin ein Neustart der Applikation.

Doch was, wenn der große Knall kommt? Wenn eine der Abhängigkeiten so ausufernde Fehler verursacht, dass die Anwendung stundenlang nicht verwendbar ist? Klick- oder gar Verkaufszahlen gehen zurück. Eine Sicherheitslücke legt die Daten der User offen. Ein Shutdown macht die App unerreichbar. Wer zeichnet dann verantwortlich für die Misere? Der Entwickler, der die Bibliothek eingebunden hat! Das steht oft genau so in der Lizenz, wie hier in der MIT-Lizenz:

IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY.

Das setzt Vertrauen voraus, und Wiedler hat im Laufe der Jahre ein paar Kennzeichen ausgemacht, die vertrauenswürdige Quellen für guten Code gemeinsam haben. Denn da nicht jeder Entwickler in der Lage ist, den Unix Quellcode oder die PHP-Runtime komplett zu analysieren, und man überlicherweise nicht die Zeit hat, jedes Rad komplett neu zu erfinden, ist man doch irgendwann auf Drittanbieter-Code angewiesen. Wer sich dafür entscheidet, der sollte auf die Frequenz der Wartung, die größe der Community und auf die Versprechungen bezüglich der Abwärtskompatibilität achten.

In der anschließenden Diskussion unterhalten sich die Leser über verschiedene Ansätze, wie man im Alltag mit Abhängigkeiten etwa in Composer umgeht. Denn nicht selten kosten Code Reviews vor dem Update etlicher Abhängigkeiten sehr viel Zeit und das Tooling ist dafür nicht ausgereift. Ein weiterer Kommentar zeigt, dass physische Kontrolle über die Pakete nützlich sein kann, indem man die Pakete lokal spiegelt.

Nutzt Ihr Drittanbieter-Code, und hat es bei Euch schon einmal zu Ausfällen geführt? Wie seid Ihr damit umgegangen? Nutzt die Kommentarfunktion, um Eure Erfahrung zu teilen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -