Open Source im professionellen Einsatz

© HONGQI ZHANG, 123RF.com

Code wiederverwenden in öffentlichen Open-Source-Projekten

Geglücktes Recycling

Obwohl Entwickler in aller Welt Milliarden von Zeilen an Open-Source-Code geschrieben haben, gab es bislang kaum Untersuchungen darüber, warum, wie viel und mit welchem Ergebis freie Projekte den Quellcode anderer wiederverwenden. Jetzt liegen belastbare Zahlen vor.

Anders als hierarchisch arbeitende Softwarefirmen, die Quellcode nach dem von Eric S. Raymond so bezeichneten Kathedralen-Modell [1] entwickeln und das Urheberrecht nutzen, um Wettbewerbern ihren Code vorzuenthalten, tragen echte Open-Source-Projekte und -Firmen ihre Quellcodes in die Öffentlichkeit – in aller Regel von Anfang an. Sie tun dies in vielen iterativen Schritten unter Beteiligung der Benutzer (RERO: "Release early, release often").

Raymond sieht in seinem Essay die Open-Source-Entwicklung idealtypisch in der Art eines Basars, auf dem Händler (Programmierer) gleichberechtigt ihre Waren (Code) feilbieten. Andere Entwickler integrieren nach eigenem Ermessen diesen Code in eigene Projekte. Jeder Programmierer darf und soll neue Programmteile hinzufügen oder an einem Stand gefundenen Code verbessern.

Mit dem offenkundigen Erfolg des Basar-Modells in der Praxis wuchs das wissenschaftliche Interesse, genauer zu verstehen, auf welche Weise öffentlich arbeitende Open-Source-Projekte entwickeln und worin sie der klassischen industriellen Software-Entwicklung möglicherweise über- oder unterlegen sind.

Bislang standen hierbei vor allem Fragen hinsichtlich der Qualität (zum Beispiel [2]) und der Sicherheit (zum Beispiel [3]) der entwickelten Software sowie nach der Veröffentlichungsmotivation von Firmen (beispielsweise [4]) oder einzelner Entwickler (wie in [5]) im Vordergrund.

Weiße Flecken auf der Landkarte

Die Code-Wiederverwendung (Reusing) in öffentlich arbeitenden Open-Source-Projekten ist bislang wenig untersucht (etwa [6]), obwohl dieses Thema in der kommerziellen Software-Entwicklung zentral ist, um Software von hoher Qualität wirtschaftlich zu entwickeln. Einerseits könnte man erwarten, dass Entwickler, die aufgrund der Lizenzsituation ihres eigenen Projekts keine Lizenzverletzung beim Wiederverwenden von Code aus anderen Open-Source-Projekten fürchten müssen, sich so viel wie möglich aus dem Baukasten der existierenden Open-Source-Code-Basen bedienen.

Andererseits lässt sich aus den Erfahrungen beim Code-Wiederverwerten in Firmen auch schließen, dass das Thema nicht zum Selbstläufer taugt: So erweist sich für Code wiederverwertende Firmen etwa ein gut gepflegtes Repository als unabdingbar, um den erneut verwendbaren Code einfach identifizieren zu können. Derart ausgerichtete Repositories scheinen jedoch bei Open-Source-Projekten untypisch zu sein.

Nicht technische, sondern organisatorische Voraussetzungen für erfolgreiche Code-Wiederverwendung in Firmen sind explizite Anreizstrukturen, die Entwickler dazu anhalten, leicht wiederverwendbaren Code zu schreiben und ihn entsprechend umfangreich zu dokumentieren. Ein anderes Beispiel sind Budgets, welche die Entwicklung von wiederverwendbaren Komponenten vorfinanzieren. Die lassen sich später über Projekte abzahlen, die sich die entwickelten Komponenten zu Nutze machen.

Da jener firmentypische organisatorische Kontext freien Projekten fehlt, stellt sich die Frage, wie bedeutsam wiederverwendeter Code in diesen Projekten tatsächlich ist und wie die Aneignung geschieht. Dieser Artikel beantwortet diese Fragen mit Daten aus einer im Sommer 2009 durchgeführten Umfrage unter Open-Source-Entwicklern. Als Ausgangspunkt für die Suche nach relevanten Programmierern diente Sourceforge als die vielleicht wichtigste Open-Source-Entwicklungsplattform. Über die Community-Funktionen von Sourceforge wurden Entwickler zufällig ausgewählt und mit der Bitte kontaktiert, an der Umfrage teilzunehmen.

Für die Umfrage selbst kam Lime Survey [7] als Onlinefragebogen zum Einsatz, die mehrheitlich geschlossen gestellten Fragen waren über Likert-Skalen [8] implementiert. Innerhalb der gesetzten Frist kamen 632 Entwickler der Bitte nach. Informationen zur Demographie der Umfrageteilnehmer, Details zum Ablauf der Umfrage wie auch der verwendete Fragebogen sind in [9] veröffentlicht.

Beliebter Code

Erstes wichtiges Ergebnis: Code-Wiederverwendung besitzt trotz der dargestellten Hindernisse für die Arbeit der befragten Open-Source-Entwickler eine hohe Bedeutung: Auf einer siebenstufigen Likert-Skala ("Stimme überhaupt nicht zu" bis "Stimme stark zu") erhalten Statements, die erneut verwerteten Code als sehr wichtig für ihre Arbeit beschreiben – beispielsweise "War für meine Arbeit an diesem Projekt sehr relevant" – im Durchschnitt eine 5, gleichbedeutend mit "Stimme eher zu".

Dazu passend beruht durchschnittlich 30  Prozent der Funktionalität der Projekte der befragten Entwickler auf wiederverwendetem Code, der Median liegt bei 20  Prozent. Nur 6 Prozent der Entwickler gaben an, dass sie in ihrem Projekt komplett auf wiederverwendeten Code verzichtet haben, während bei knapp 30  Prozent mehr als die Hälfte der Funktionalität ihres Projekts auf wiederverwendetem Code fußt (siehe Abbildung 1).

Abbildung 1: Bei welchem Prozentsatz der Entwickler (x-Achse) macht wiederverwendeter Code welchen Anteil an der Projektfunktionalität aus (y-Achse)?

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook