Die Kosten von Frameworks und fertigen Komponenten (trägt der Kunde)

Manchmal stolpert man hintereinander über mehrere großartige Veröffentlichungen, die sich alle um einen Themenbereich drehen. In den letzten Tagen kamen mir ein paar Dinge unter, die sich mit dem Thema third-party-software in eigenen Anwendungen beschäftigt.

Einen Beitrag fand ich im Blog von Bastian Allgeier: „simplicity 2“ (englisch).

Er schreibt darüber, wie kurzsichtig es ist, massenweise fremde Software mit diversen Abhängigkeiten in die eigenen Systeme zu integrieren. Das kann man meiner Meinung nach nur für eigene Anwendungen machen. Niemandem sollte so etwas verkauft werden. All die dort beschriebenen Probleme haben wir mehr und mehr bei Anwendungen, die außer Haus programmiert wurden. Kurz gesagt: sie fliegen einem mit der Zeit um die Ohren, weil sich die Abhängigkeiten nicht mehr auflösen lassen.

Gareth Club, ein technischer Mitarbeiter vom „The Telegraph“ erklärt, welche Probleme third-party-Scripts für die Performanz bedeuten.

Chris Coyier schrieb in seinem CSS-Tricks-Newsletter vom 20.5.2019 dazu, dass er ähnliche Probleme bei der Optimierung einer Website für ein großes Unternehmen hatte und stellt die These auf, dass bei der Verbesserung von Performanz keine technischen Probleme zu lösen sind, sondern kulturelle.

Es gibt Autoren von freier Software, die sich mit ihren Werken sehr viel Mühe geben bis hin zur Dokumentation und mitunter Support.

Aber andere stellen Dinge ins Internet, die man eigentlich gar nicht benutzen sollte, was Anwender dieser Software (oftmals keine Programmierer oder Programmieranfänger) gar nicht beurteilen können.

Und mir ist dabei etwas in Erinnerung gekommen, was ich aus meiner ehrenamtlichen Tätigkeit kenne: im Verband deutscher Schriftsteller beschwerte sich ein Vorstandsmitglied über die Verantwortung und die viele Arbeit die bei der Leitung eines Bereiches (Ortsverband oder Landesverband) anfällt und das alles ohne einen Pfennig zu bekommen (ja damals bekam man noch keine Pfennige, statt keine Cents fürs Ehrenamt).

Wir anderen mit solchen Posten handelten das Thema ganz schnell ab: das gehört halt zu so einem Amt. Auch von der freiwilligen Feuerwehr habe ich gestern im Radio den Spruch gehört „bei uns sind genau zwei Dinge freiwillig: Eintreten und Austreten“. Bei der Feuerwehr wird besonders deutlich, dass man sich auf jeden, der dabei ist, auch hundertprozentig verlassen können muss.

Freiwilligkeit führt nicht zu Verantwortungslosigkeit

Auch wenn wir etwas aus freien Stücken tun, sind wir doch für möglichen angerichteten Schaden mitverantwortlich. Selbst wenn wir uns rechtlich mit entsprechenden Lizenzen gegen Schadensersatzansprüche abgesichert haben: mindestens eine moralische Mitschuld trifft uns immer, wenn wir mangelhaft Software öffentlich bereit stellen.

Das gilt nicht für Fehler, die jedem passieren und die sich nicht vermeiden lassen. Es gilt aber bei vermeidbaren und aus Faulheit beibehaltenen Fehlern.

Und nicht nur bei Software, so führen schlechte Werke (egal ob film, Literatur, Musik, Technik oder auch Tätigkeiten als Dienstleister) zu Unbequemlichkeiten, Verlusten oder sogar gesundheitlichen Problemen bei anderen Menschen.

Auf kostenlos bereitgestellte Software übertragen bedeutet das: die muss selbstverständlich dieselben Ansprüche an Performanz, Sicherheit, kurz Vertrauenswürdigkeit erfüllen, wie jede andere Software. Sonst ist sie weniger als hilfreich im Vergleich zu teuren proprietären Systemen.

Verantwortung von Dienstleistern

Von einem Dienstleister, den ich bezahle ein funktionierendes System auf die Beine zu stellen erwarte ich übrigens, dass er um genau diese Dinge weiß und mir etwas liefert, das ich ich auch nach Jahren noch benutzen kann, wenn nciht ausdrücklich etwas anderes ausgemacht ist.

Es ist nicht akzeptabel, wenn die meist extrem hochpreisigen Software-Produkte immer kürzere Lebenszyklen haben, weil bei der Erstellung so viel Zeit gespart wurde, dass man einfach nur noch von Pfusch reden kann.

Wenn man ein Haus baut, kann man erwarten, dass es nicht aus Materialien besteht, die sich im Laufe der Jahre auflösen.

Große Webprojekte verschlingen Summen, für die man ganze Reihenhaussiedlungen bauen kann. Dann sollen die verflixt noch mal auch so lange funktionieren, bis man sie freiwillig ablöst oder weil geänderte Rahmenbedingungen, wie eine neue Gesetzeslage das erforderlich machen. Dass die Software selber aufhört zu funktionieren, weil notwendige Sicherheitsupdates nicht mehr installiert werden können, halte ich für absolut inakzeptabel und wenn sich ein großer Dienstleister dann damit herausredet, dass liegt an der Komponente, die ein einzelner Entwickler in seiner Freizeit herstellt und man sei dafür nicht verantwortlich zu machen, dass das Gesamtkonstrukt deswegen nicht funktioniert, sondern der Freizeitprogrammierer, dann ist das wirklich das allerletzte.

Leider aber Alltag. Der Kunde hat ja keine Ahnung und das wird von immer mehr Dienstleistern gnadenlos ausgenutzt.