Zur Schönheit von Open-Source Marc Ruef | 25.09.2006 Vielleicht ist es in gewisser Weise naiv anmutend, wenn ich nun behaupte, dass die Wichtigkeit und Richtigkeit von Ehrlichkeit unumstösslich ist. Ein guter Mensch, der anderen nichts Böses will, hat keinen Grund, von der Ehrlichkeit abzuweichen. Wer das sagt, was er sagen will, und dies ohne Hintergedanken, kann grundsätzlich nicht verlieren. Das Open-Source Modell (OSS), bei dem der Quelltext einer Software-Lösung zur freien Verfügung gestellt wird, ist für mich eine spezielle Form dieser löblichen Ehrlichkeit. Anstelle der Entwickler durch Geheimniskrämerei seine Umsetzungen zu verschleiern und mystifizieren versucht, steht er zu seinen Taten und lädt zur Kontrolle ein. Ein Entwickler, der nichts zu verbergen hat und dessen Arbeit durch eine gute Idee samt gründlicher Umsetzung glänzt, muss dabei grundsätzlich keine Angst haben, sich dadurch entblössen zu müssen. Einmal mehr habe ich erfahren, wie schön doch der Open-Source Gedanke ist. Im Jahr 2001 habe ich ein Bash-Skript namens Catwalk (http://www.computec.ch/download.php?view.686) geschrieben. Dieses soll grossflächige Analysezugriffe in Netzwerken automatisieren. Dabei werden Zieldefinitionen eingelesen, um dank dieser einheitliche Tests durchzuführen und diese Resultate standardisiert auszugeben. Vor allem bei der Informationssammlung, die einem intensiven Security Audit oder Penetration Test vorausgeht, ist ein solches Werkzeug von grossem Nutzen. Es liegt in der Natur von Shell-Skripten, dass sich diese nur quelloffen weitergeben lassen. Die Interpretation des Programms erfolgt bei seinem Aufruf, weshalb eine vorgängige Anpassung durch den Benutzer - dazu reicht ein simpler Text-Editor aus - möglich ist. Es lag für mich nahe, dieses Skript unter der General Public License (GPL) bereitzustellen. Dies gewährleistet, dass jedermann das Erzeugnis nutzen und erweitern darf, solange seine Anpassungen ebenfalls unter der gleichen Lizenz zur Verfügung gestellt werden. Dieser akademische Ansatz soll dabei helfen, das Wissen zu verbreiten und darauf aufbauen zu können. Die Community und ich als Teil dieser können davon profitieren. Mittlerweile schreiben wir das Jahr 2006 und es sind seit der ersten Version von Catwalk mehr als fünf Jahre vergangen. Eines Tages schreibt mich jemand an, dass er das besagte Skript gut und gerne bei seinen eigenen Security Audits einzusetzen pflegt. Er habe die Software jedoch ein bisschen angepasst, damit deren Verhalten seinen Wünschen entspricht. Meine Freude war gross, dass die paar Zeilen Code die Arbeit von jemand anderem erleichtern hat können. Nur allzugut kann ich mich nämlich daran erinnern, wie ich zum Beispiel komplexere traceroute-Zugriffe in grossen Netzen umzusetzen versucht habe. Wunde Finger und ein müder Geist sind die folge derartig stupider Arbeit, zu deren Ausführung sich ein Computer doch viel besser eignet. Sodann habe ich mein Gegenüber gefragt, ob ich denn die Änderungen von Catwalk einsehen dürfe. Mich interessiere, welche Scan-Anpassungen er gemacht habe. Neben einigen kleineren Änderungen am Verhalten klassischer Scan-Zugriffe wurden ebenfalls neue Methoden implementiert (z.B. UDP Application Mapping) und die Benutzerfreundlichkeit (chown/chmod auf die abgelegten Dateien) erhöht. Wunderbare Erweiterungen, die den Nutzen von Catwalk vergrössern. Hätte ich das ursprünglich als kleines Skript gedachte Programm nicht quelloffen und unter GPL zur Verfügung gestellt, wäre das nicht möglich gewesen. Lediglich ein beschränkter Kreis könnte von meiner Arbeit profitieren und eine Weiterentwicklung der Lösung hinge ausschliesslich von mir ab. Wohl kaum hätte ich mir die Zeit genommen, die gegebenen Anpassungen zu machen - Sonst hätte ich es ja getan. (Eine komplett ueberarbeite Version ist jedoch seit bald zwei Jahren in der Mache!) Die Weiterentwicklung einer quelloffenen Software ist ein Dienst, den man sich irgendwo durch selber erweist. Zugleich sollte man aber unter Einhaltung der Lizenzbestimmungen den Nutzen auch der Gemeinschaft zugänglich machen. Nur so kann gewährleistet werden, dass auch weiterhin Erweiterungen angestrebt werden, die hoffentlich wiederum in die Community einfliessen. Ein schöner Kreislauf, in dem alle Beteiligten profitieren können. Frei nach dem indischen Sprichwort: "Das Lächeln, das du aussendest, kehrt zu dir zurück." Ohne diesen edlen Gedanken wäre eine Vielzahl an Produkten, die Einzug in unseren Alltag gehalten haben, nicht denkbar gewesen. Hätten Philosophen und Logiker ihre Ideen zurückgehalten, wäre der Computer nie denkbar gewesen. Wäre die TCP/IP-Protokollfamilie patentiert und ausschliesslich kommerziell verwertet worden, würden wir heute wohl kaum IPv4 einsetzen. Hätte Linus Torvalds sein Linux-System als closed-source vertrieben, wären Erzeugnisse wie gcc und gdb eher unwahrscheinlich geworden. Die Macht von Altruismus sollte man nie unterschätzen.