Im Westen nichts Neues: Open Source und Gratis-Software – Woraus man nichts lernen möchte

In einem früheren Beitrag berichtete ich von einer Erfahrung, die ich mit einem Product Owner gemacht habe, dessen Open-Source-Software in der Automatisierungsindustrie genutzt wird und tausendfach heruntergeladen wurde. Trotz dieser Verbreitung war er – aus welchem Grund auch immer – nicht in der Lage oder willens, die falsche Prüfsumme (Hashwert) für seinen Windows-Installer zu korrigieren (mehrere Monate lang!). Dadurch war die Integrität des Installers weder verifiziert noch vertrauenswürdig, weshalb ich mich weigerte den Installer zu starten und ihn sofort löschte.

Nun musste ich erneut feststellen, dass eine andere Open-Source-Software ebenso wenig auf Fehlermeldungen oder negative Rezensionen im Google Play Store reagiert.

Meine negative Rezension von 2024-07-02
Fehlermldung & Screenshot1 von 2025-03-25
Fehlermldung & Screenshot2 von 2025-03-25

Es scheint, als hätten viele in der Open-Source-Community nichts aus dem Log4Shell-Desaster (BSI-Warnung und BSI-Bilanz) gelernt, das 2021 zahllose Überstunden, gestrichene Urlaubspläne und ausgefallene Weihnachtsferien zur Folge hatte.

Früher wurde die IT-Industrie oft – als negatives Beispiel – mit der Automobilbranche verglichen, die hingegen als vorbildlich galt. Die klassischen Vergleiche begannen mit Sätzen wie: „Wenn die Autoindustrie so arbeiten würde wie die IT-Branche, dann …“

Doch seit Fahrzeuge mit Bordcomputern vollgestopft sind oder sogar vollelektrisch fahren, lassen sich selbst diese alten Vergleiche nicht mehr heranziehen (siehe meinen Beitrag „Zurück in die Zukunft“).

Wie wichtig und weitverbreitet die sogenannte Open-Source-Software sind, sieht man wenn man z.B. auf einem Android-Handy (hier die Screenshots von einem Samsung Fold Z4) in der „Einstellungen“ nach „Open“ oder „Open Source“ sucht …

Unter Einstellungen nach „open“ suchen und auf „Open-Source-Lizenzen“ klicken

und danach mit einem Klick die „Open-Source-Lizenzen“ auswählt:

Ein Klick auf „Open-Source-Lizenzen“ öffnet die Liste der verwendeten Open-Source-Software

Die Liste der auf einem Samsung-Android-Smartphone verwendeten Open-Source-Software ist beeindruckend lang. Da stellt sich die Frage, wie schnell die Product Owner bzw. Maintainer dieser Open-Source-Software auf Fehlermeldungen reagieren:

Hier nur der „Kopf“ der exorbitant langer Liste
Und hier das Ende der Liste: eine Zusammenfassung

Klaus und seine magische Kiste: Warum Monolithen nicht die Antwort sind

Neulich erzählte mir mein Beifahrer von einem faszinierenden Geschäftspartner in der Mechatronik und Automatisierung. Dieser war seit Jahren in der Branche tätig und frustriert über die ständigen Anpassungen in komplexen Systemen. Jede kleine Änderung führte dazu, dass Kollegen monatelang das gesamte System umstellen mussten. Ein neuer SPS-Typ, der keinen GOTO-Befehl unterstützte? Problem. Ein spezieller Sensor, der nur RS-232, aber kein CAN konnte? Noch ein Problem. Also beschloss unser Held, das Problem ein für alle Mal zu lösen, indem er eine programmierbare „magische Kiste“ baute – ein Gerät mit allen möglichen Schnittstellen, das angeblich jedes Kompatibilitätsproblem beheben sollte. Ohne Code. Klingt toll, oder? Nun ja…

Als ich diese Geschichte hörte, musste ich schmunzeln. Ich unterbrach meinen Beifahrer und erklärte ihm, warum ich skeptisch war – anhand der berüchtigten All-in-One-Stereoanlagen aus den 1980er Jahren. Diese Geräte waren damals der letzte Schrei und versprachen alles in einem: CD-Player, Kassettendeck, Verstärker, Radio – und oft sogar einen Schallplattenspieler. Doch sie waren Monolithen, und das brachte erhebliche Nachteile mit sich:

  1. Monolithen und Modularität: Wenn das eingebaute Netzteil oder der Verstärker kaputtging, funktionierte gar nichts mehr. Weder der CD-Player noch die Kassettendecks – alles war tot.
  2. Bezahlte Überflüssigkeit: Selbst wenn man nur CDs abspielen wollte, zahlte man für Funktionen, die man nicht brauchte – wie ein zweites Kassettendeck oder den eingebauten Plattenspieler.
  3. Platzfresser: Diese Geräte waren riesig und belegten mehr Raum als nötig.
  4. Eingeschränkte Kompatibilität: Lautsprecher konnten manchmal ersetzt werden, aber nur, wenn sie über standardisierte Cinch-Buchsen angeschlossen waren. Wenn nicht, Pech gehabt.
  5. Qualitätskompromisse: Audiophile legten sich oft zwei Systeme zu, weil eines bessere Kassettenwiedergabe bot, während das andere bei CDs brillierte.

Und das alles in einer Ära ohne EU-Gewährleistung! Manche Hersteller boten stolz ein halbes Jahr Garantie, andere gerade mal zwei Monate.

Die Wende zur Modularität

Ende der 80er und Anfang der 90er lernten die Hersteller aus ihren Fehlern. Sie zerlegten ihre Monolithen in einzelne Module. Verbraucher konnten nun:

  1. Nur die Module kaufen, die sie tatsächlich benötigten.
  2. Komponenten verschiedener Hersteller kombinieren: ein Kassettendeck von Marke X, ein CD-Player von Marke Y und ein Verstärker von Marke Z – ideal, um die 1000-Gigawatt-Boxen fürs nächste Erdbeben mit Saft zu versorgen.

Die Lektion für die Software

Die Geschichte der Stereoanlagen zeigt, warum Modularität wichtig ist – eine Lektion, die auch in der Softwareentwicklung gilt. Die Frustration des Automatisierungs-Mechatronikers, der nach jeder kleinen Änderung das gesamte System anpassen musste, deutet auf ein grundlegendes Problem hin: Ad-hoc-Programmierung ohne durchdachte Software-System-Architektur.

Ein erfahrener Softwareentwickler (bzw. SW-Architekt) hätte sich sofort gefragt:

  1. Was, wenn Hersteller U nicht mehr existiert?
  2. Was, wenn Hersteller V das Produkt nicht mehr anbietet?
  3. Was, wenn Hersteller W die Lizenzbedingungen ändert?
  4. Was, wenn Hersteller X seine Treiber oder Schnittstellen ändert?
  5. Was, wenn Hersteller Y nur noch neue Modelle ohne vollständige Abwärtskompatibilität verkauft?
  6. Was, wenn Standard Z obsolet wird?

Die Liste ließe sich endlos fortsetzen. Ohne diese „Was-wäre-wenn„-Fragen läuft man Gefahr, eine digitale eierlegende Wollmilchsau zu bauen – eine magische Kiste, die zwar beeindruckend klingt, in der Praxis aber niemand will.

Niemand möchte von einem einzigen Hersteller abhängig sein, oder von einem einzigen Softwaresystem oder Produktmodell usw.

Niemand möchte mehr für Schnittstellen und wunderbare Features und Möglichkeiten bezahlen, die zwar mehr Raum und Speicher belegen und komplexer sind, diese aber nicht benötigt.

Der Unterschied zwischen Coder und Architekt

Hier kommt die entscheidende Lektion: Code zu schreiben ist nicht dasselbe wie Softwarearchitektur. Wer die Konzepte von Modularität, Komplexität und Abhängigkeiten nicht versteht, investiert vielleicht Jahre in einen Monolithen, der letztlich unbrauchbar ist.

Also, wenn Ihnen das nächste Mal jemand eine magische All-in-One-Lösung verspricht, denken Sie an die Stereoanlagen der 80er – und seien Sie skeptisch. Modularität mag weniger glamourös klingen, aber sie ist der Schlüssel zu langlebigen, flexiblen und wartbaren Systemen. Und das gilt für Hardware genauso wie für Software.

Gewidmet an P.M. (der Beifahrer)
Im nächsten Artikel erkläre ich dir, wie manche mit Buzz-Words wie „Low Code“ und „No Code“ viel Geld für das Blaue vom Himmel und sonstige Versprechungen (Blabla) verlangen und reich werden, während ihre Kunden doppelt und dreifach draufzahlen.

Navigationsstrategien für den Erfolg: Von Autobahnstau zu Badestränden – Irrwege frühzeitig erkennen, bevor sie richtig kostspielig werden

Fehlentscheidungen und Entwicklungsfehler in einem Unternehmen oder Projekt lassen sich metaphorisch mit dem Verpassen einer Autobahnabfahrt oder dem falschen Abbiegen in einer unbekannten Großstadt vergleichen.

Frühzeitige Erkennung und konsequentes Handeln bei Fehlern, Fehlentscheidungen und Fehlentwicklungen in Konzepten, Produkten, Projekten oder sogar bei der Unternehmensexpansion führen zu geringeren Kosten und einem reduzierten Zeitaufwand für die erforderliche Korrektur.

Wenn man stur weiterfährt und dabei alle Warnsignale herunterspielt und ignoriert, sollte man sich nicht verwundern, wenn man mitten in der Nacht mit leerem Tank an einem abgelegenen Ort ohne zivilisatorische Einrichtungen und Mobilfunkempfang feststeckt.

Die unnötig verstrichene Fahrzeit, der verpasste Sonnenschein und die Kosten für den verschwendeten Kraftstoff hätten stattdessen an einem malerischen Badestrand genossen werden können, hätte man sich lediglich die Zeit genommen, kurz anzuhalten und einen Ortskundigen nach dem Weg zu fragen.

Es mag möglich sein, die exponentiell steigenden Kosten im Verhältnis zur vergangenen Zeit zu bewältigen, JEDOCH…

  1. Kann die Komplexität dieser Herausforderungen ebenso erfolgreich gemeistert werden?
  2. Müssen die Modernisierung des Unternehmens und die Innovation der Produkte aufgeschoben werden?
  3. Ruhen die Mitbewerber in Mitleid oder machen sie weiterhin Fortschritte?

Broken by Design: Wenn Software starr statt flexibel ist

Wenn es um Software (SOFT + ware) geht, liegt in ihrer Bezeichnung bereits eine grundlegende Erwartung: Sie sollte weich, verformbar, flexibel und anpassbar sein. Eine Software, die diese Eigenschaften vermissen lässt, gleicht eher einem starren Hardware-Produkt: Nicht einfach konfigurierbar und damit oft unbrauchbar, resultiert dies in kostspieligen Neuanschaffungen oder zeitaufwendigen Neuentwicklungen.

Als ich neulich zur Post ging, um eine Sendung abzuholen, fiel mir eine einfache, schnelle und praktische Lösung auf, die die Mitarbeiter der Post-Filiale gefunden hatten. Ich vermute, dass die (sogenannte) „Software“ des Info-Kiosks¹ entweder nicht lokal² konfigurierbar ist oder sich nicht schnell und einfach anpassen lässt. Andernfalls hätten die Mitarbeiter der Post-Filiale nicht zu Papier, Schere und Klebeband greifen müssen.

Höchstwahrscheinlich (meine persönliche Vermutung) wurde bereits in den frühen Phasen des Designs und der Entwicklung übersehen, das System konfigurierbar zu gestalten. Dies hätte es dem Personal vor Ort ermöglicht, Titel oder Text zu bearbeiten und Bilder auszutauschen.

1 Info-Kiosk: Auch bekannt als „digitales Kiosksystem“, „Touchscreen-Infostand“, „Self-Service-Terminal“, „interaktiver Informationsstand“ oder allgemein als Digital Signage bzw. Point-Of-Sale (kurz: POS) bezeichnet

2 Remote (von der Ferne über das Internet) durch dafür vorgesehene Personal zu konfigurieren bzw. aktualisieren

Broken by Design: der Mensch als Randnotiz

Designfehler: Wenn Technik daneben liegt

Kreative Lösung mit Karton, Buntstifte und Klebeband gegen den Designfehler des Herstellers

Betrachten wir folgende Kernfakten:

  1. Ungefähr 10% der Menschen sind Linkshänder, der Rest sind Rechtshänder
  2. Unsere Wahrnehmung ist von oben nach unten ausgerichtet, da sich unsere Augen im oberen Bereich des Kopfes befinden.

Ein prägnantes Beispiel hierfür ist die Platzierung des NFC-Sensors an einer linken Seitlich, einer Position, die weder intuitiv auffindbar noch sichtbar ist. Eine Frage, die man durchaus an den Produktmanager richten könnte:

Verborgene Schätze bleiben oft unentdeckt

Die Mitarbeiter einer Schreibwaren-Filiale griffen zu einer ebenso simplen wie kreativen Lösung, um diesen Designfehler zu beheben: Mit Karton, Schere, Buntstiften und Klebeband. Dieser einfallsreiche Ansatz brachte mich nicht nur zum Schmunzeln, sondern inspirierte mich auch zu diesem Beitrag.