Software-Engineering und Software-Qualität in Open-Source Projekten
Folgender Artikel wurde von Herrn
Jan Tobias Mühlberg
in der Kategorie "Softwaretechnik"
bereitgestellt.
Ausgehend von vorläufigen Ergebnissen einer Metastudie zu Open-Source-Software (OSS), befasst sich die vorliegende Arbeit mit der Frage, inwieweit die bei der Entwicklung größerer OSSProjekte eingesetzten Entwicklungsmechanismen Auswirkungen auf die Qualität ihrer Produkte haben. Der Autor kommt zu dem Ergebnis, dass OSS in der Regel als mit Closed-Source-Software vergleichbar oder besser angesehen wird und qualitative Defizite insbesondere den Bereich der Weiterentwickelbarkeit der Software betreffen. Im Folgenden werden das Zustandekommen dieser Defizite analysiert und Möglichkeiten zu deren Vermeidung aufgezeigt. Die Arbeit ist primär als Grundlage für eine weitere Diskussionen der Thematik Open-Source-Software-Engineering gedacht.
Diese Arbeit unterliegt den Bedingungen einer
creative commons-Lizenz. Sie darf vervielfältigt,
verbreitet, öffentlich aufführt, bearbeitetet und
kommerziell genutzt werden, sofern die resultierenden
Arbeiten unter identischen Lizenzbedingungen
weitergegeben und eine Nennung des Autors
der Ursprungsarbeit erfolgt.
|
Einleitung
Die aus der Ökonomie bekannte Pareto- Verteilung1 gibt es auch in der Software- Entwicklung: In der Regel lassen sich mit 20% des gesamten Entwicklungsaufwandes bereits 80% der geplanten Funktionalität eines Projektes umsetzen, während umgekehrt oftmals 20% eines Systems 80% des Arbeitsaufwandes verursachen. Angewandt auf die Qualität einer Software könnte die Regel auch in „20% der Einzelkomponenten einer Software verursachen 80% der auftretenden Fehler und des mit dem Betrieb und der Weiterentwicklung der Software einhergehenden Wartungsaufwandes“ umformuliert werden. Kritisch ist das insofern, als dass Software- Produkte viel stärker als materielle Produkte aufeinander aufbauen – eine Eigenschaft, die insbesondere im Bereich von Open-Source- Entwicklungen2 beobachtet werden kann. Gerade in der Möglichkeit derWiederverwendung von bereits geschriebenem Quelltextes in anderen Pro- 1Nach Vilfredo Frederico Pareto (1848 – 1923), ital. Ingenieur, Ökonom und Soziologe. Pareto fand heraus, dass in den von ihm untersuchten Volkswirtschaften 20% der Bevölkerung 80% des Gesamteinkommens verdienten (vgl. Tarascio, [26, S. 115 ff.]). 2Unter einer Open-Source-Software wird im Sinne dieses Textes stets eine Free/Libre/Open-Source-Software verstanden. Die philosophisch zweifellos sehr interessante Unterscheidung zwischen diesen Strömungen ist im Rahmen der vorliegenden Arbeit irrelevant. jekten, liegt eine der Stärken des Open-Source- Ansatzes, die zu der beachtlichen Entwicklungsgeschwindigkeit führt, wie sie verschiedene Open- Source-Projekte an den Tag legen. Berücksichtigt man die in den Projekte angewandte Entwicklungsmethodik – das bunte Durcheinander des Basar-Stils3 und die o.g. häufige Wiederverwendung von Software-Komponenten – so ließe sich im Vergleich zwischen kathedralenartig gebauter proprietärer und der Open-Source-Software eine Verschiebung der Pareto-Verteilung zu Ungunsten der Open-Source-Software vermuten. Erstaunlicherweise werden jedoch gerade Laufzeitstabilität und Wartbarkeit häufig als die Stärken von Open- Source-Entwicklungen herausgestellt. Die vorliegende Arbeit befasst sich mit der Frage, inwieweit die bei der Entwicklung größerer Open-Source-Projekte eingesetzten Entwicklungsmechanismen Auswirkungen auf die Qualität der resultierenden Software haben. Hierfür werden zuerst die betrachteten Qualitätskriterien definiert und anschließend der Einfluss von Entwicklungsstil und -methodik auf diese Faktoren dargestellt. Den Kern der Arbeit stellt eine kritische Auseinandersetzung mit dem Open-Source- Entwicklungsmodell dar. |