Kapitel 1. OpenSource Software - Entwicklung

"Deus, dona mihi serenitatem accipere res quae non possum mutare, fortitudinem mutare res quae possum, atque sapientiam differentiam cognoscere.

http://www.little-idiot.de/his/ und als PDF zum Ausdrucken

OpenSource ist ein Phänomen, welches vor einigen Jahren nicht denkbar war. Wie kann Software entstehen, ohne daß jemand dafür bezahlt? Der Wert eines Betriebssystems wird mit mehreren Mrd.$ beziffert, die Wartungskosten (Weiterentwicklung, Optimierung, Treiber, ...) betragen jährlich etwa 40% der ursprünglichen Entwicklungskosten.

Die "impliziten Logiken" der Dynamik der Softwareentwicklung in der OpenSource - Gemeinde sind schwierig zu verstehen, da sie durch Wechselwirkungs - Prozesse der menschlichen, psychologischen Eigenschaften und ungeschriebenen Regelwerken der Zusammenarbeit entstehen, die sich selber verstärken bzw. abschwächen. Jemand beginnt, ein Programm für etwas zu schreiben, und flugs gesellen sich hunderte Programmierer freiwillig hinzu, opfern ihre Freizeit und es entsteht - z.B. Linux. OpenSource / FreeWare = GNU Software verwendet die modernsten Erkenntnisse der verteilten Programmierung, die sich hinter Schlagworten, wie Agile Programming, Aspektorientierung, Extreme Programming, Pair Programming, ... verbergen. Die Gemeinde von inzwischen 300.000 Programmierern, über alle Kontinente verteilt, hat recht erfolgreiche Methoden der Zusammenarbeit gefunden, wie Linux, Free/Open/NetBSD - Kernel, die GNU Software, die Benutzeroberflächen GNOME, KDE samt Entwicklungswerkzeugen (Qt, OPIE, GTK+, GTKmm, XPCom, GCC, GCJ, G++, Python, PERL, RUBY, JAVA, ...), und die immense Zahl von kostenlosen, gut funktionierenden Softwarepaketen zeigen (OpenOffice, GIMP, Firefox, Mozilla, Netscape, ...).

Hierzu muß man die Wechselwirkungen gekoppelter, dynamischer Systeme verstehen lernen, also den Menschen mit seinen psychologischen Eigenschaften, die Struktur der Arbeitsorganisation, die Wurzeln der Motivation. Vielleicht für viele, erfahrene Programmierer nichts neues, aber: Erfahrung zählt garnichts, man kann auch 25 Jahre alles falsch gemacht haben!

Die Welt hat sich verändert: Früher hat der Großvater dem Sohn und Enkel erklärt, wie man ein Fahrrad repariert, heute erklärt der Enkel dem Großvater, wie man eine Fernsteuerung programmiert. Ursache - Fortschritt in der Technik. Die inneren Logiken der Welt haben sich verändert, darunter z.B. auch Vertriebslogiken, Herstellungsprozesse, u.s.w. Viele Firmenchefs verstehen einfach nicht, warum und wie sich so grundlegend alles verändert, was jahrzehntelang Gültigkeit hatte - sie geben das Geschäft auf, weil sie impliziten Logiken des NetBusiness z.B. nicht verstanden haben, die nun heutzutage anders sind. Entlassungen sind die Folge. Auf der anderen Seite entstehen riesige Unternehmen, rein virtuell im Internet, wie z.B. einige Software- Entwicklungsfirmen mit mehr als 35.000 Mitarbeitern. Nur derjenige, der diese dynamischen Prozesse versteht, und seine Denkweise ständig anpasst, kommt ohne Probleme und relativ angstfrei durchs Leben. Wer auf der Stelle tritt, muß Niederlagen hinnehmen.

Das Phänomen "OpenSource" ist nicht mit einem statischen Weltbild zu erklären, hierzu werden Erkenntnisse der philosophischen Erkenntnistheorie, der Kybernetik und der Psychologie benötigt. Der Übergang vom statischen zum dynamischen Weltbild, u.a. auch Abbau von Ängsten durch Unverständnis, Nutzung der Resourcen für Unternehmen, einen Blick für die dynamischen Prozesse, Wechselwirkungen zu bekommen, ist Ziel dieses Vortrages.

1.1. Eric Raymond - The Cathedral and the Basaar

Eric Raymond schrieb 1996 ein Text, "The Cathedral and the basaar", der zum ersten Male die Struktur der Entstehung freier Software beschrieb. Der Ursprung jeder freien Software ist ein bisher ungelöstes Problem oder ein unbefriedigtes Bedürfnis. So wurden viele TCP/IP Protokolle, Softwarepakete "erfunden", um ein Problem zu lösen (Streaming Protokolle, PPP, PPPoE,...siehe RFC, IETF.ORG), oder eine Unzulänglichkeit eines bestehenden Softwarepaketes. Oft ist es sogar das mit dem Softwarepaket verbundene Copyright, welches eine Heerschar von Programmierern veranlaßt, hochkomplexe Programme und sogar ganze Betriebssysteme einfach neu zu schreiben. Das von Richard Stallmann begründete Prinzip der GNU Software (Alle Software gehört der Gemeinschaft, jeder darf diese unentgeltlich nutzen, alle Änderungen/Verbesserungen daran sind wieder zu veröffentlichen, Maintainer - Prinzip) hat inzwischen viele Anhänger gefunden. Es ist natürlich nur denkbar geworden durch die globale Vernetzung. Kommerzielle Firmen haben den Zeitgeist erkannt, und gründen ihr Business - Modell ausschließlich auf Dienstleistung, siehe IBM. Jeder lukrative Markt wird inzwischen von GNU Software, bzw. Software, die unter anderen Lizenzen oder auch "Dualen Lizenzen" steht, bedient. Erfolgreiche Ideen werden von der Heerschar von global über 300.000 Programmierern, die ihre Freizeit für ein Ideal opfern, unverzüglich in Code umgesetzt. Kaum ein Softwarepaket, welches nicht nachprogrammiert wurde, und dabei das Original noch an Qualität, Wartbarkeit und Eleganz im Code übertrifft. Siehe www.freshmeat.net und www.sourceforge.net. Von einem freien Officepaket bis hin zu Raumbelegungsprogrammen und ganzen ERP/CRM Paketen ist hier alles zu haben. Eric Raymond beschreibt die wichtigsten Aspekte der Basaar - Methode wie folgt:

Entscheidend für den Erfolg von freier Software ist, ob ein "Basar-Projektleiter" Menschen für ein Projekt begeistern kann. Kann er dies, so wird er mehr Manpower für das Projekt zur Verfügung haben, als jeder kommerzielle Softwarehersteller (OpenOffice, Firefox, Netscape, Mozilla). Folgende Eigenschaften sind ebenfalls wichtig:

Diese Punkte laufen im Endeffekt auf eines hinaus - Programmiere nicht selber, entwickle niemals selber Software, spare Geld und Entwicklungskosten, lasse Software von der OpenSource - Gemeinde entwickeln (was nur funktioniert, wenn ein breites Interesse da ist):

Es gibt aber auch eine ganze Reihe erfolgloser Projekte, wie z.B. Netscape (Code nicht mehr wartbar), CA Ingres (zu spät, PostgreSQL und MySQL machen das Rennen), SAPDB - nun MAX-DB (zu spät, PostgreSQL ist besser), unzählige Linux Distributionen, Datenbankhersteller (Gupta), Novell, Content Management Systeme, ...