DBUS! Deutschland
Enterprise Information Portal
Start | Inhalt | Weiter | Zurück

Kapitel 1 (f)

1.4 Der Lebenszyklus freier Software

Freie Software unterliegt einem evolutionärem Prozeß. Im Gegensatz zur kontrollierten, streng überwachten, proprietären Software kann sie eine Art Eigenleben entwickeln, das unter Umständen mit ihrer ursprünglichen Daseinsberechtigung nur noch wenig zu tun hat. Auf sie wirken unendlich viele Einflüsse, die bei proprietärer Software von vorneherein durch die Geheimhaltung des Quelltexts ausgeschlossen werden. Im folgenden wird beispielhaft der Lebenszyklus einer freien Software beschrieben.

Der Geburt einer freien Software gehen weder marktwirtschaftliche Analysen, noch Umfragen oder unternehmerische Strategien voraus, sondern viel mehr eine einfache Idee eines Technik-Freaks. Oft liegt der auslösende Faktor in einem Problem, dessen automatisierte Lösung in einem Programm resultiert. So ist beispielsweise der berühmte Windows-NT-Server für Unix, Samba, aus der Problematik entstanden, Verzeichnisse auf der Festplatte eines Unix-Rechners auf einem DOS-PC zu nutzen. Perl war in seinen Anfängen nur dazu gedacht, Textdaten formatiert in einem Report bereitzustellen. Es entwickelte sich schließlich zu einem umfassenden Allround-Werkzeug. Linus Torvalds hatte, als er Linux erschuf, in keiner Weise Ambitionen, es als Konkurrenz zu existierenden Betriebssystemen am Markt zu positionieren. Eher selten plant der Entwickler von Beginn an ein großes, arbeitsreiches, zeitintensives Projekt. Das GNU-Projekt, KDE (siehe 3.4) und GNOME (siehe 3.5) bestätigen als Ausnahmen die Regel.

Die Wurzeln freier Software liegen meistens in Forschungsinstituten, nicht profitorientierten Organisationen und im Besonderen in Universitäten. Hier finden Professoren, Studenten und Schüler die passende Arbeitsumgebung vor, sowohl bezüglich der technischen Ausrüstung als auch hinsichtlich qualifizierter Ansprechpartner. Fern des gewinnstrebenden Unternehmerdenkens werden hier Arbeitsergebnisse ausgetauscht und in einer offenen Gemeinschaft an einer Sache gearbeitet, die Spaß macht.

Die Motivation der teilnehmenden Programmierer bringt die Entwicklung mehr und mehr voran. Reichen die Kenntnisse über ein spezielles Sachgebiet, das der entstehenden Software dienlich sein könnte, nicht mehr aus, werden allerlei Kommunikationswege genutzt, um die benötigte Ressource, sei es Dokumentation, ein anderes Stück Software oder einen weiteren Programmierer, zu beschaffen. Spätestens hier dehnt sich die Entwicklergemeinde über die eigene Institution hinaus aus.

Wird die Software über das Internet verbreitet und üblicherweise in Foren (Newsgroups) darauf aufmerksam gemacht, (was erst dann möglich ist, wenn eine laufende Version existiert) finden sich meist rasch qualifizierte Helfer aus unterschiedlichen Branchen und Bereichen, die an der Weiterentwicklung interessiert sind, weil sie möglicherweise das gleiche Problem wie das der ursprünglichen Entwickler haben. Diese Rekrutierung neuer Produktivkräfte ist in entscheidendem Maße von der Attraktivität des Projekts abhängig. Ist es attraktiv genug, so wird das Programm adaptiert, erweitert, eventuell auf andere Plattformen portiert und neu veröffentlicht.

Zur besseren (weltweiten) Kommunikation nutzt man Internet-Mailing-Listen, über die zukünftige Vorhaben von einem Kern-Team, bestehend aus einem oder mehreren Entwicklern, koordiniert werden. Dieses Team erhält und überprüft die Beiträge der Entwicklergemeinde. Meist wird der Quelltext der Software zentral auf einem Web-Server der Universität oder der jeweiligen Institution zur Verfügung gestellt. Je mehr ein Programmierer Zeit und nützliche Arbeit in das Projekt investiert, um so mehr Einfluß hat er darauf.

Neben der Entwicklergemeinde keimt eine ebenso enthusiastische Benutzergemeinde auf. Wachsen dieses beiden Gruppen - insbesondere die Anwender - mit der Zeit, so ist festzustellen, daß ihre anfangs große Schnittmenge (fast jeder Benutzer ist auch Entwickler) langsam schrumpft (zwar ist jeder Entwickler gleichzeitig auch Anwender, aber nur wenige Anwender sind Entwickler). Aber auch Benutzer tragen zur Verbesserung der Software bei, indem sie Feedback leisten: Fehlersuche, Tests, Dokumentation, inoffizieller Support im Internet etc. Das Programm wird schnell stabiler, anwenderfreundlicher und funktionsreicher. Dies läßt sich an den relativ kurzen Veröffentlichungsintervallen erkennen. Gravierende Fehler werden meist in wenigen Tagen behoben, was bei der proprietären Softwareentwicklung kaum realisierbar wäre.

Das Projekt gerät nun in eine Phase, in der der Bedarf an Management und Organisation nicht mehr proportional zur Programmierarbeit ansteigt. Weltweites Projektmanagement kann kaum mehr von Leuten in ihrer Freizeit getätigt werden. Da in den seltensten Fällen die Institution, in der die Idee geboren wurde, die volle Finanzierung übernehmen wird, kann als Schirmherr eine Organisation gegründet werden, um potentielle Sponsoren anzuziehen, deren Gelder unter anderem als Gehalt an die Mitglieder und Entwickler weiterfließen. Somit hat das Projekt ein öffentliches Sprachrohr, über das andere Einrichtungen aus Industrie, Bildung oder der Dienstleistungsbranche Kontakt aufnehmen können.

Die andere Möglichkeit besteht darin, selbst zur Industrie zu werden, indem ein eigenes Unternehmen gegründet wird, das die Entwicklung, Vermarktung und den Verkauf der Software einschließlich Support und Service - womit das eigentliche Geld verdient wird - übernimmt (siehe auch 2.5 (Red Hat) oder 3.7 (Sendmail Inc.)).

Mit der Verbreitung und Anerkennung des Begriffs Open Source wird nun auch die Industrie als Geburtsstätte freier Software dienen. IBM, Corel, SGI, Sun und andere haben bereits begonnen, Open-Source-Software zu entwickeln. Ob der Lebenszyklus dieser Software ähnlich verlaufen wird wie hier beschrieben, läßt sich nur vermuten; die einfließenden Parameter verändern sich jedenfalls.

Durch den Prozeß der ständigen Verbesserung und Evolution hat freie Software eine größere Lebensdauer als proprietäre. Mit abnehmendem Interesse, neuen, womöglich nicht-offenen Standards oder anderen konkurrierenden, erfolgreicheren Entwicklungen und einer abnehmenden Benutzer- oder Entwicklergemeinde stirbt aber auch eine freie Software.


Start | Inhalt | Weiter | Zurück

Kommentare, Anregungen, Berichtigungen, Verbesserungsvorschläge oder anderes Feedback an info@dbus.de