Ein Versuch, die Motivation von Open Source zu erklären
vom 11. September 2011Der Grund,warum ich leidenschaftlich programmiere hat mehrere Gründe. Zum Einen ist es diese absolute Gleichheit und Fairness, mit der man unermütlich konfrontiert wird. Jeder startet mit den selben Grundvoraussetzungen. Es wird niemand bevorzugt, weil er einen Anzug trägt und viel Geld hat oder benachteiligt, weil er einen langen Bart und eine verschlissene Jeans trägt.
Compiler und Interpreter kann sich jeder kostenlos aus dem Internet herunterladen und installieren. Auf den meisten Computern sind bereits eine Hand voll davon installiert. Überall wo ein Browser läuft, wird eine mächtige Programmiersprache bereits mitgeliefert. Den geeigneten Texteditor gibt es ebenfalls gratis dazu. Damit hat jeder Programmier die gleichen Voraussetzungen und jedes Programm beginnt mit einer leeren Datei in einem einfachen Texteditor. Keiner kann sich eine bessere Startposition erkaufen oder irgendwoher stehlen. Jeder fängt gleich an. (Mal abgesehen von Biblitheken o.ä.)
Was man dann daraus macht, hängt vom Programmierer ab. Man kann sich daran versuchen, die perfekte Symphonie zu komponieren oder man wirft mit Farbeimer um sich wie die Blue Man Group. Der Charakter des Programmierers spiegelt sich in seinem Code wieder, so fällt auch schnell auf, wenn der eine Dinge vom anderen abkupfert. Natürlich gibt es auch den Mainstream der Best Practices, der versucht vordefinierte Formen zu liefern, so dass möglichst viele mit dem Code klar kommen. Für welchen Weg man sich entscheidet oder ob man von allem etwas nimmt, kann jeder für sich selbst entscheiden.
Das Programmieren im Allgemeinen fängt eigentlich schon viel früher an. Man hat eine Idee oder sucht eine Lösung für ein bestimmtes Problem. Man schleicht um das Problem, schaut es von allen Seiten an und versucht es zu knacken. Das Gefühl, die "perfekte" Lösung gefunden zu haben, ist dann als hätte man gerade den Weg aus einem richtig schweren Sudoku gefunden. Es gibt immer unzählige Möglichkeiten und Lösungswege; Stürtzt man sich direkt auf das Problem, stellt man meist irgendwann fest, dass ein anderer Weg sinnvoller gewesen wäre. In solchen Fällen muss man dann eine harte Entscheidung treffen: Zurückrudern, weitermachen oder umbauen? Oft ergibt sich auch während der Programmentwicklung ein besserer Weg, da man das Problem besser verstanden hat und deshalb die Lösung besser vor Augen hat. Das ist auch der Grund, warum die meiste Software mehrere Evolutionsstufen (Versionen) durchlaufen, bis sie stimmig und performant sind.
Grundvoraussetzung dazu ist natürlich, dass man seine Werkzeuge die man verwendet verstanden hat und damit umgehen kann. (Würde man einem Zahnarzt trauen, der seine Instrumente nicht im Griff hat?) In den allermeisten Fällen ist nicht der Computer schuld, sondern der Programmierer hat seine Wünsche nicht korrekt geäußert -- oder nicht gewusst wie man sie äußert. Es hat aber nicht nur etwas mit Wissen und Ausdrucksfähigkeit zu tun, sondern auch sehr viel mit Kreativität und dem Mut seine Gedanken zu verwirklichen. Feige Programmierer erkennt man daran, wenn sie stets auf altbewährtes setzen und Probleme immer nach dem gleichen Muster zu lösen versuchen. Nicht jedes Programm zählt Zahlen in Zellen und Spalten zusammen. Es gibt so unglaublich schöne Software, die nicht nur von außen schön aussieht, sondern auch als Programmcode ein Genuss sind sie zu lesen.
Die theoretische Informatik versucht seit Jahren vergeblich zu beweisen, dass die Anzahl der möglichen Programme endlich sei, schafft es aber nicht. Das ist ein schönes Gefühl -- das Gefühl unbegrenzter Möglichkeiten.
del.icio.us,

[xkcd #743](http://xkcd.com/743/)
Der Grund,warum ich leidenschaftlich programmiere hat mehrere Gründe. Zum Einen ist es diese absolute Gleichheit und Fairness, mit der man unermütlich
Kommentare
Es fehlt noch eine Welle von Usability Spezialisten und Interface Profis, die da mitmischen. Nicht nur Programmierer. Solange die Open Source Kultur nur Programmierer hat, werden das auch nur wenige andere Nutzen.
Da fehlt einfach die generelle Awareness von der Bevölkerung. Und das kommt daher, und das mag sich jetzt etwas arrogant anhören: Da Open Source kein Geld verdienen muss sondern das aus kommunistischem Hippie-Gedankengut inspiriert ist, gibt es keinen Markt mit dem sie sich messen. Dadurch auch nicht genug Innovation. Kein Sales, kein Business-Plan um sich durchzusetzen.
Und: Du beziehst deine Produkte auch zum größten Teil aus einem normalen Supermarkt mit ausbeuterischen Erzeugungsmaßnahmen (Nestle, Milka,..) obwohl du in einer Hippie-Komune leben könntest. (Und ich mich dich da wirklich sehr gut vorstellen könnte :) )
Und wenn jetzt diskutiert wird: Das ist kein Pro oder Kontra bezüglich Open-Source. Das ist nur der Versuch einer Erklärung, warum sie im allgemeinen Gedankengut nicht ankommt .
Projekte wie libpng, Gecko, openSSH oder den Apache HTTP-Server sind im Mainstream meiner Meinung nach mehr als angekommen. Ein "wegdenken" fällt schon schwer. Ich bin der Meinung, gerade durch Open Source entsteht Innovation. Müsste jeder Navi-Hersteller seine eigene Grafik-Lib implementieren oder sie teuer einkaufen, wäre das nicht sonderlich technologiefördernd.
Bei Open Source geht es mir nicht um schicke GUIs oder ausgereifte Software die jeder Bild-Leser bedienen kann.
Ich weiß auch gar nicht was die Diskussion soll. Aaron schreibt meines Erachtens gar nicht mal über OpenSource sondern über Programmierung allgemein. Und selbst wenn ist es doch völlig egal ob jemand die Software nutzt. OpenSource wird nicht geschrieben um Geld zu verdienen und genau aus dem Grund ist es jeder proprietären Software überlegen. Ob das nun die Menschheit einsieht oder nicht ist egal, so lange die Leute es nutzen können, die es wollen.