Freiwillige Zusammenarbeit bei der Software-Entwicklung

Ein großer Teil der Applikationen des Internets wurden als kollaborative Zusammenarbeit von Freiwilligen entwickelt. Software, die durch die Arbeit von freiwilligen Helfern entsteht und deren Quellcode zur Ansicht und zur Weiterentwicklung freigegeben ist, wird Open-Source Software genannt oder auch Freie Software. Davon zu unterscheiden ist Freeware, deren Benutzung kostenlos, deren Quellcode aber nicht freigegeben ist.

Der Technologie-Journalist und Autor Howard Rheingold kommt in seinem Buch »Smart Mobs« zu folgendem Schluss:

»The Role of voluntary cooperation is the most important and least known story in the history of personal computers and networks. … The fundamental architecture of the Internet was built on free software and cooperation. … Self-organization is an irrepressible human drive, and the Internet is a tool-kit for self-organizing.«1

Volker Grassmuck betont in seinem Buch »Freie Software«, quelloffene und freie Software sei zu Beginn des Computers der Regelfall gewesen. Erst als Hardware- und Software-Herstellung getrennt wurden und damit ein Markt für Software entstanden sei, machten laut Grassmuck Unternehmen Software zu ihrem geistigen Eigentum und stellten den Quellcode für eine Anpassung, Fehlerbehebung und Ergänzung nicht zur Verfügung. Das bedeutete nun für Entwickler und Systemadministration eine Arbeitseinschränkung, denn diese sind von den Software-Herstellern und ihrer Arbeit abhängig und können Fehler nur melden aber nicht selbst beheben. Sogenannte proprietäre Software sei für sie eine Art Blackbox, so Grassmuck, deren Entwicklung sie nicht nachvollziehen könnten und die sie nicht bearbeiten könnten, da ihnen der Quellcode nicht zugänglich sei.2

Volker Grassmuck hat die Unterschiede zwischen proprietärer und freier Software prägnant zusammengefasst:

»Hier der Quelltext als ein in geschlossenen Gruppen, unter Vertraulichkeitsverpflichtung gefertigtes Masterprodukt, das in geschlossener, binärer Form vermarktet und mit Hilfe von Urheberrechten, Patenten, Markenschutz und Kopierschutzmaßnahmen vor Lektüre, Weitergabe und Veränderung geschützt wird. Dort der Quelltext als in einer offenen, nicht gewinnorientierten Zusammenarbeit betriebener Prozess, bei dem eine ablauffähige Version immer nur eine Momentaufnahme darstellt, zu deren Studium, Weitergabe und Modifikation die Lizenzen der freien Software ausdrücklich ermutigen. Hier eine Ware, die dem Konsumenten vom Produzenten verkauft wird, dort ein kollektives Wissen, das allen zur Verfügung steht.« 3

Richard Stallman, der in der Abteilung Künstliche Intelligenz des MIT forschte, wollte die Verfügbarkeit und freie Verbreitung von Software auch nach ihrer Kommerzialisierung sicherstellen und entwickelte ab 1983 auf der Basis des Betriebsystems Unix, ein eigenes vollständig Unix-kompatibles System, das er GNU – für GNU is not Linux – nannte. Während die Veränderung der Microsoft-Betriebsysteme durch Copyright und Lizenzverträge verboten werden, war GNU dazu gedacht, durch freiwillige und auch die bezahlte Arbeit ein freies Betriebssystem zu entwickeln, wobei jeder Interessierte aus dem bestehenden Quellcode lernen und diesen gegebenenfalls um Komponenten erweitern konnte.

Linus Torvalds vervollständigte GNU im Jahr 1991, indem er den Kern des Betriebssystems, den Kernel namens Linux programmierte und den Code frei verfügbar machte. Weitere Entwicklungen waren nun auf der Basis der zur Verfügung gestellten Quellcodes und der Interaktion über das Internet möglich. Die Bedeutung der Open-Source-Bewegung ist stark mit der Entwicklung des Internets verknüpft. Die Linux-Gemeinde gilt als die am besten vernetzte Entwicklergemeinde überhaupt. Richard Stallman und Linus Torvalds, die beiden Wegbereiter von GNU/Linux haben die Ankündigungen ihrer Arbeit im Usenet veröffentlicht und dort gleichzeitig um Vorschläge und Hilfe gebeten.4

Möller schreibt zur Open-Source-Gemeinschaft:

»Da Linux von Anfang an auf normalen 368er- und 468er-PCs lief, zog es … ganze Heerscharen von Entwicklern an, die den Kernel unter weiser Moderation von Linus Torvalds um Treiber, Dateisysteme und weitere grundlegende Funktionen bereicherten. Doch Linux wäre wertlos gewesen, hätte es zu diesem Zeitpunkt nicht schon den großen GNU-Werkzeugkasten gegeben – dank des freien C-Compilers gcc, der Teil des GNU-Projektes ist, konnten sofort Programme für Linux entwickelt werden.« 5

Also hat die Vorarbeit von Richard Stallman die Entwicklung von Linux vorangetrieben. Stallman entwarf für die GNU-Projekte eine Lizenz. Die General Public Licence (GPL) erlaubt es, laut Möller »ein Programm und dessen Quellcode frei zu kopieren, solange der Quellcode offen bleibt und Änderungen ebenfalls frei zugänglich gemacht werden.«6 Im Gegensatz zum Copyright, dass die Nutzungsrechte einschränkt, werden hier dem Nutzer zusätzliche Rechte eingeräumt. Das GPL-Prinzip wird daher auch als »Copyleft« bezeichnet.

Richard Stallman gründete die Free Software Foundation (FSF) und legte Freiheiten fest, die charakteristisch für Freie Software sind. Sie sichern den Zugang zum Quellcode, die Freiheit, die Software zu kopieren und weiterzugeben, die Freiheit, das Programm zu ändern und die Freiheit, das veränderte Programm – unter den selben Bedingungen – zu verbreiten. Diese Freiheit sichert gleichzeitig ab, dass die Software frei bleibt und Weiterentwicklungen wieder der Allgemeinheit zur Verfügung gestellt werden.7

Dabei ist zu beachten, dass die Freie Software auch verkauft werden kann. So haben sich eine Vielzahl von Unternehmen darauf spezialisiert Linux-Distributionen zu verkaufen und auch die Dokumentation und der Support von Freier Software sind ein ertragreiches Geschäft.

Die erweiterten Nutzerrechte haben zur Folge, dass Nutzer von Open-Source-Software ebenfalls Entwickler sein können. Die Anwender sind gleichzeitig Tester und auch Verbesserer von Applikationen. Wenn sie einen Fehler gefunden haben, teilen sie das mit und korrigieren ihn gleichzeitig. Die Entwicklung von Open-Source-Software zeigt das Potenzial, das gemeinsame Arbeit an Projekten über das Internet besitzt.

Linus Torvalds Leistung in diesem Zusammenhang war die Konstruktion eines Entwicklermodells, das es ermöglicht, dass eine Vielzahl an Menschen, verteilt auf der ganzen Welt zusammen an einem komplexen Software-Projekt arbeiten. Torvalds allein hatte die Autorität zu entscheiden, was in das Programm aufgenommen wurde und was nicht. Er delegierte jedoch so viele Aufgaben wie möglich an freiwillige Helfer, wobei er und die anderen Entwickler diesen ihr Wissen zukommen ließen und bei Problemen Hilfestellung leisteten.

In seinem bekannten Essay »Die Kathedrale und der Basar« beschreibt Eric S. Raymond das Phänomen so:

»Die Anwender als Mit-Entwickler zu sehen, ist der Weg zu schnellen Verbesserungen und Fehlerbehebungen, der die geringsten Umstände macht.« 8

Die frühzeitige Veröffentlichung des Projektes durch den Initiator macht eine Kollaboration mit Interessierten möglich. Sie verwalten die Teilbereiche, in denen wiederum eine Vielzahl an Programmierern und Testern aktiv sind.9 Grassmuck schreibt zu den Aufgaben der Maintainer:

»Die Rolle des Maintainers ist es zunächst, Ansprechpartner für die jeweilige Software zu sein. Häufig handelt es sich um altgediente Coder, die sich eine Reputation erworben haben, als treibende Kraft wirken, die Gemeinschaft koordinieren, zusammenhalten und andere motivieren können.« 10

In dieser Gemeinschaft sind nicht nur Entwickler sondern auch Anwender zu finden. Die kooperierenden Entwickler kommunizieren weitestgehend über den E-Mail Dienst oder auch Internet Relay Chat (IRC). Die Software wird in verschiedenen Versionen auf Websites veröffentlicht. Um die Arbeit von mehreren Entwicklern am gleichen Open-Source-Projekt zu koordinieren wird oft das freie Programm Concurrent Versions System (CVS) zur Revisionskontrolle verwendet. Es speichert den gesamten Quellcode einer Applikation auf einem Server und archiviert eine alte Version, wenn Veränderungen vorgenommen worden sind. Um an dem Quellcode arbeiten zu dürfen, ist eine Registrierung notwendig, damit ein Austausch mit anderen Entwicklern möglich ist.11

Die Entscheidungsfindung der Internet-Entwicklergemeinde beruht auf dem Prinzip:

»Wir wollen keine Könige, Präsidenten und Wahlen. Wir glauben an einen groben Konsens und an ablauffähigen Code.« 12

So verfügt zum Beispiel das Apache-Projekt über ein formalisiertes Abstimmungsverfahren mit Mehrheitsbeschlüssen und Widerspruchsfreiheitspflichten im Core-Team. Auch Vertretern von Firmen wird im Regelfall nur eine Stimme bei Abstimmungen zugeordnet. Wenn Meinungsverschiedenheiten nicht aufgelöst werden können, passiert es auch, dass ein Projekt in zwei ähnliche Projekte aufgespalten wird.13

Um die Fehler, sogenannte »bugs« zu entfernen, die in Software enthalten sind, kommen Fehlerdatenbanken zum Einsatz. In ihnen werden die Fehlermeldungen archiviert, von den Maintainern nach Priorität sortiert und durch Entwickler beseitigt. Diese Vorgang wird als Debugging bezeichnet. Für Grassmuck sind die Verfahren der freien Software-Projekte mit Fehlern umzugehen, einer ihrer wichtigsten Vorteile, weil sie sich dem Problem offen stellen und es im Gegensatz zu Herstellern proprietärer Software nicht verleugnen. Die Lösung der Probleme ist dabei nicht nur schneller, sondern auch gründlicher als die des proprietären Modells, bei dem oft nur die Symptome beseitigt werden, und nicht das Problem an sich. 14

Weiter schreibt Grassmuck über die freie Software:

»Die Stabilität dieser Software, d.h. ihr Grad an Fehlerfreiheit, verdankt sich nicht der Genialität ihrer Entwickler, sondern der Tatsache, dass jeder Anwender Fehler an den Pranger stellen kann und die kollektive Intelligenz von Hunderten von Entwicklern meist sehr schnell eine Lösung dafür findet. … Die Stärke der freien Projekte beruht also darauf, dass alle Änderungen an der Software eingesehen werden können, sobald sie in den CVS-Baum eingetragen sind, und das Releases in kurzen Abständen erfolgen. Dadurch können sich Tausende von Nutzern am Auffinden von Bugs und Hunderte von Entwicklern an ihrer Lösung beteiligen. Das Debugging kann hochgradig parallelisiert werden, ohne dass der positive Effekt durch erhöhten Koordinationsaufwand und steigende Komplexität konterkariert würde.«15

Da bei freien Software-Projekten in kurzen Abständen immer neue stabile und Entwickler-Versionen veröffentlicht – released – werden, wird laut Grassmuck Freie Software von der Entwicklergemeinde nicht als Produkt, sondern als kontinuierlicher Prozess verstanden. Zahlreiche Projekte hätten bewiesen, dass eine Entwicklergemeinschaft ihre Software über lange Zeit zuverlässig und in hoher Qualität unterstützen und weiterentwickeln könne. Ein weiterer Vorteil der freien gegenüber der proprietären Software stellt der fehlende Druck durch auftrags- und termingebundene Entwicklung dar, einen gesetzten Termin einhalten zu müssen. So sei es möglich, die Ideen bis ins Detail zu diskutieren und zu optimieren.16

Innerhalb der Projekte ist eine Rechtsform überflüssig, da die Teilnehmer keine rechtlichen oder finanziellen Beziehungen eingehen. Nach außen hin hat sich die Wahl einer Rechtsform jedoch als vorteilhaft erwiesen. So könnte zum Beispiel eine Kooperation mit Firmen ein Anlass sein, die Möglichkeit Spendengelder entgegen zu nehmen oder die Notwendigkeit Warenzeichen anzumelden oder gerichtlich gegen juristischer Personen vorzugehen. Wirtschaftliche und rechtliche Belange werden so oft von einer formellen Institution verwaltet, während die eigentliche Arbeit am Projekt frei bleibt. Die Free Software Foundation (FSF) ist die erste rechtskräftige Institution gewesen. Sie wurde als gemeinnützige Einrichtung gegründet, kann Spenden entgegen nehmen und verkauft freie GNU-Software, Handbücher und Zubehör. Weitere Aufgaben der FSF sind Rechtsschutz und Öffentlichkeitsarbeit.17

Als mögliche Motivationsfaktoren für die Entwicklung freier Software hat Richard Stallman gegenüber Erik Möller politischen Idealismus, Spaß, Ego-Befriedigung, Reputation, Nächstenliebe, Neugier, Eigenbedarf, Geld und die Dankbarkeit gegenüber anderen Entwicklern genannt.18 Grassmuck schreibt in seinem Buch »Freie Software« über die Motivation der freiwilligen Software-Entwickler:

»Ein Learning-by-Doing mag noch von Nützlichkeitserwägungen angestoßen werden, das Ergebnis des Lernens ist jedoch nicht nur ein Zuwachs an Verständis des Einzelnen, sondern eine Schöpfung, die man mit anderen teilen kann. Statt also aus dem Besitz und seiner kommerziellen Verwertung einen Vorteil zu ziehen, übergeben die Programmiererinnen und Programmierer der freien Software ihr Werk der Öffentlichkeit, auf dass es bewundert, kritisiert, benutzt und weiterentwickelt werde. Die Anerkennung, die ihnen für ihre Arbeit gezollt wird, und die Befriedigung, etwas in den großen Pool des Wissens zurückzugeben, spielen sicher eine Rolle. Die wichtigste Triebkraft vor allen hinzukommenden Entlohnungen ist die kollektive Selbsttätigkeit.«19

Die Programmierer freiwilliger Software setzen sich zusammen aus Studenten, angestellten Programmierern, Systemarchitekten oder Systemadministratoren aber auch aus nicht computerbezogenen Berufen. Sie verbindet eine Faszination am Programmieren und der Kommunikationsraum Internet. Die Hilfsbereitschaft und die Offenheit der Entwickler-Gemeinde, die Anfänger und Fortgeschrittene mit konstruktiven Lösungsvorschlägen unterstützen und geleisteter Arbeit Anerkennung zollt, zeichnet diese Gemeinschaft aus. So beschreibt Sebastian Hetze die konstruktive Kritik als etwas, das im Lernprozess inbegriffen ist, und somit die Bereitschaft weckt an Projekten dieser Art teilzunehmen. Im sozialwissenschaftlichen Projekt »Kulturraum Internet« des Wissenschaftszentrums Berlin haben Soziologen die Motivationsfaktoren ermittelt. So sind »intellektuelle Herausforderung und Spiel, Kreativität und der Stolz auf etwas selbst Geschaffenes, etwas verwirklichen, das den eigenen Ansprüchen an Stil und Qualität genügt, ein sozialer Kontakt mit Leuten, die dieselben Ideen und Interessen teilen, Ruhm« und die »Förderung der kollektiven Identität« wichtige Faktoren für die Teilnahme an einem Freien Software Projekt.20

Bei der Entwicklung von Open-Source-Software wird das Internet in seiner ursprünglichen Funktion der Vernetzung von Technik und Wissen genutzt. Dies kann als Vorbild gelten für die Redaktionsstrukturen der Zukunft. Der Zyklus von Veröffentlichung, paralleler Weiterentwicklung und Verbesserung von freier, quelloffener Software ist auf das kollaborative Publizieren von Artikeln und ihre Weiterentwicklung durch vernetztes Wissen und Kommunikation übertragbar. Ebenso sind die egalitären Strukturen vorhanden und es gibt Ansprechpartner, die sich um die Teilnehmer kümmern und sie unterstützen. Bei partizipativen Medien übernehmen zum Beispiel professionelle Redakteure die Sammlung, Sortierung und Aufbereitung der Informationen und eine Hilfestellungsfunktion. Freiwillige Helfer, die gleichzeitig Rezipienten und Produzenten sind, liefern Bildmaterial, Fachwissen und neue Perspektiven für die Geschichten. So ist es nachvollziehbar, dass Open-Source-Jouralismus als Synonym für partizipativen Journalismus gebräuchlich ist. Genauso ist der offene Umgang mit Fehlern und Quellmaterial eine Gemeinsamkeit von Open-Source-Projekten und partizipativen Medien-Projekten. Als Vorbild können die nahezu egalitären Strukturen und die Entscheidungsfindung beruhend auf einem groben Konsens gesehen werden.

Ein Unterschied ist jedoch, dass sich die Zusammenarbeit auf eine bestimmte Gruppe der Gesellschaft, nämlich Informatiker und Computer-Spezialisten beschränkt. Die partizipativen Medien jedoch werden nicht nur von Spezialisten und Wissenschaftlern genutzt, sondern auch von Bürgern, die nebenbei Informationen an ihre Gemeinde weiterleiten wollen oder die zufällig ein einem Ereignis beteiligt waren, und ihre Erfahrungen mit anderen teilen wollen.

Durch neue Applikationen bietet das Internet dabei immer mehr Möglichkeiten den Anforderungen der Nutzer gerecht zu werden und ihnen Werkzeuge in die Hand zu geben, mit denen sie ihr Wissen im Netz publizieren können. Das Internet hat sich von einem passiven Medium immer weiter in ein aktives Medium gewandelt.

vorherige Seite                                                                                 nächste Seite

1 Rheingold 2006: http://www.smartmobs.com/book/toc_3.html

2 Vgl. Grassmuck 2004: S. 233 ff

3 Grassmuck 2004: S. 235

4 Vgl. Möller 2006: S. 60 f., Vgl. Grassmuck 2004: S. 236 f.

5 Möller 2006: S.61

6 Möller 2006: S. 225, Vgl. Rheingold 2002: S. 51

7 Vgl. Grassmuck 2004: S. 225

8 Raymond zitiert aus: Möller 2006: S. 71

9 Vgl. Grassmuck 2004: S. 237

10 Grassmuck 2004: S. 237

11 Vgl. Grassmuck 2004: S. 241

12 Clark zitiert aus: Grassmuck 2004: S. 230

13 Vgl. Grassmuck 2004: S. 239 ff.

14 Vgl. Grassmuck 2004: S. 241 ff.

15 Grassmuck 2004: S. 243

16 Vgl. Grassmuck 2004: S. 246

17 Vgl. Grassmuck 2004: S. 247 f.

18 Vgl. Stallman nach: Möller 2006: S. 64

19 Grassmuck 2004: S. 250 f.

20 Helmers; Seidler, zitiert aus: Grassmuck 2004: S. 252 f.

CC BY-NC 4.0 Dieses Werk ist lizenziert unter Creative Commons Namensnennung-NichtKommerziell 4.0 international.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Bitte Rätsel lösen, um Kommentarfunktion zu aktivieren. Danke.WordPress CAPTCHA