Torsten Förtsch
IT System Development & Security
Kaum macht man's richtig, schon geht's, ;-)

>> Home >> OpenSource

Warum Open Source

Am besten erzähle ich dazu zwei kurze Geschichten aus meiner eigenen Erfahrung. Später versuche ich dann daraus Schlüsse zu ziehen.

Eine kleine Geschichte

Ich beginne vielleicht mit einer Geschichte, die ich Mitte der 90er Jahre bei einem großen Kunden meines damaligen Arbeitgebers erlebte. Wir hatten eine Software geschrieben, die auf AIX lief und über CICS mit einem Großrechner reden sollte. Nun sollte die Software bei dem Pilotkunden angefahren werden. Und, wie das eben so ist, zu Anfang funktionierte nichts. Also wurden Spezialisten aus allen 3 beteiligten Firmen versammelt, um das Problem zu finden und zu lösen. Ich hatte das zweifelhafte Vergnügen meinen Arbeitgeber zu vertreten.

Da saß ich nun inmitten einer Reihe erfahrener IT-Hasen, alle viel älter als ich, an einem Terminal. Alle sahen ratlos in die Runde, während der CICS-Spezialist versuchte irgendwas zuwege zu bringen. Unser Vorgehen war gekennzeichnet durch mehr oder weniger wahlloses Herumprobieren. Nach kurzer Zeit merkte ich, dass keiner der Spezialisten nachdachte, sondern alle nur eine Reihe Rezepte aus dem Ärmel zogen, die sie einfach auswendig gelernt hatten. Die Frage nach dem Grund der Fehlfunktion wurde nicht gestellt.

Ist den Spezialisten dieses Verhalten zum Vorwurf zu machen? Ich denke nein. Jahrzehnte lang war es üblich, genaue Informationen über die Funktionsweise der Computer-Programme als Betriebsgeheimnis zu betrachten. Die einzige verfügbare Informationsquelle war oberflächliche Dokumentation und eben ein Erfahrungsschatz, der sich nur durch längere Beschäftigung mit der Materie bildet.

Noch eine Geschichte

Sie trug sich Ende der 90er Jahre zu, gerade im ersten Jahr meiner Selbständigkeit. Es gab einen WEB-Server, der unter Windows lief. Um die Stabilität zu erhöhen, sollte er unter Linux reimplementiert werden. Die Redaktion allerdings arbeitete weiterhin unter Windows. Das Test-System lief unter Windows. Jetzt ergibt sich sofort ein Problem. Unter Windows werden große Buchstaben bei der Benennung von Dateien nicht von kleinen unterschieden, unter Linux sehr wohl. Für den Test-WEB-Server unter Windows ist es also egal, ob http://xyz.com/ABC.HTML oder http://xyz.com/abc.html angefordert wird, für den produktiven unter Linux nicht. Somit konnten sich tote Links in Dokumente einschleichen, die auf dem Test-System nicht zu finden sind.

Eine weitere Analyse des Problems zeigte, dass ich unter Linux ein Filesystem brauchte, das große und kleine Buchstaben gleich behandelt, genau wie Windows. Leider war die Auswahl zu Zeiten des Kernels 2.0.33 sehr begrenzt. vfat hätte die Eigenschaft, kann aber nur 32000 Dateien verwalten. Das Limit hätte das WEB-Angebot nach kurzer Zeit gesprengt. SAMBA wäre eine weitere Alternative. Aber dieser riesige Aufwand nur für ein paar Buchstaben?

So entschloß ich mich, das ext2 Filesystem um eine Mount-Option zu erweitern, setzte mich eine Weile hin, studierte den Linux-Kernel und löste das Problem auf die richtige Art.

Der Vergleich

Warum vs. Wie

Die Spezialisten der ersten Geschichte konnten nach dem Warum ihres Problems nur sehr begrenzt forschen. Sicher hatte ich Einsicht in unsere Programme, die anderen hatten aber nur viel Erfahrung mit dem Wie. Geschriebene Dokumentationen enthalten oft auch wenig bis nichts über das Warum, sondern viel Wenn Sie das erreichen wollen, klicken sie hier!.

Kennt man aber den Grund eines Phänomens, muss man sich wesentlich weniger merken. Viele Punkte aus dem Wie kann man aus wenigen Punkten Warum herleiten. Deshalb bevorzuge ich das Warum.

Die Situation in der zweiten Geschichte ist dagegen gekennzeichnet durch vollständige Verfügbarkeit der Information. Ich konnte ohne weiteres nach dem Grund forschen, warum Linux Groß- und Kleinschreibung unterscheidet. Ohne Zugriff auf den Source-Code wäre das Problem schlicht nicht lösbar gewesen.

Die Kosten

Warum habe ich eigentlich diese beiden Geschichten erzählt? Beide verursachten beim Kunden ähnliche Kosten. Am ersten Problem arbeiteten 3 Spezialisten ca. 3 Tage. Das zweite Problem hatte ich in knapp 2 Arbeitswochen ruhiger Arbeit gelöst. Das zweite Problem scheint aber nicht nur, es ist ein Stück komplizierter als das erste. Ich wage zu behaupten, das erste Problem wäre mit Zugriff auf den Source-Code der beteiligten Systeme an einem bis zwei Tagen von einer Person zu lösen gewesen.

Mein Beitrag

Nun kann ich sagen: Gut, dass es Open Source gibt. Damit kann ich Probleme leichter lösen. Das ist meiner Meinung nach zu kurz gedacht, denn irgend jemand hat seinen Source Code veröffentlicht, damit es Open Source überhaupt gibt. Für mich leite ich daraus die moralische Verpflichtung ab, einen gewissen Beitrag dazu zu leisten.