von Matthias Ettrich
Die Entwicklung von Software ist ein komplizierter und schwer vorhersehbarer
Prozess. Komplexe Softwaresysteme neigen nicht nur dazu, fehlerbehaftet
zu sein, sondern in der Herstellung auch teurer zu werden, als erwartet,
und immer hinter ihrem Zeitplan zurückzuliegen. Die Antworten der
Softwaretechnik heißen Prinzipien, Methoden, komplexe mehrphasige
Systementwicklungsmodelle und organisierendes Projektmanagement.
Umso erstaunlicher sind die technischen Erfolge in der freien Softwareentwicklung.
Die offensichtlichen Vorteile sind der fehlende Zeitdruck und die
fehlenden Kosten. Doch auch das ist kaum hinreichend, um zu erklären,
wie ein loses, weltweites Netzwerk von Hackern ohne erkennbare Planung
und kaum erkennbarer Organisation es schafft, Softwaresysteme im Millionen-Zeilen-Bereich
zu erstellen, zu pflegen und weiterzuentwickeln - und das unbezahlt
und in ihrer Freizeit. Wie schaffen es freie Projekte, ohne autorisierte
Projektleitung und Management, notwendige Entscheidungen zu treffen und
die anfallenden Aufgaben sinnvoll zu verteilen?
1. Projektleitung: Entscheidungsfindung und die Rolle der Maintainer
Das Grundprinzip der Entscheidungsfindung in freien Softwareprojekten
ist einfach: Diejenigen, die die Arbeit tun, entscheiden. Im Umkehrschluss
bedeutet das, dass jeder Teilnehmer selbst entscheidet, woran er oder
sie arbeiten will, und das dann auch tut. Wenn jeder genau das macht,
was er oder sie will, warum kommt dann etwas zustande, das von außen
betrachtet klare Züge von Strategie und richtigen Entscheidungen
trägt und normalen Endanwendern zugute kommt? Oder umgekehrt gefragt:
Wenn alle nur machen, was sie wollen, und keine kontrollierende und leitende
Instanz existiert, warum gibt es dann nicht endlose Diskussionen und ein
heilloses Durcheinander? Letzte Antworten auf diese Fragen lassen sich
ohne gründliche und systematische Forschung nicht geben. Derzeit
wissen wir, dass es funktioniert, ahnen aber lediglich, warum. Hier sind
einige lose Gedanken, die zum besseren Verständnis des Entscheidungsprozesses
in freien Softwareprojekten beitragen können... (Auszug)
Matthias Ettrich ist Diplom-Informatiker und seit 8 Jahren als Entwickler Freier Software aktiv. Als Gründer des K-Desktop-Environment-(KDE-)Projektes konnte er miterleben, wie aus einer Idee und einer kleinen Gruppe von Leuten ein internationales Projekt mit über tausend freiwilligen Mitarbeitern wurde. Beruflich arbeitet Matthias als Leiter der Entwicklung bei einem kommerziellen Softwarehersteller im Open-Source-Umfeld.