was_ist_was@oxkonferenz
Vortrag : Wie Freie Software entsteht 
Rubrik Software 
Tag/Beginn/Raum: 29.4. / 10:00 / Raum A
ReferentIn(nen): Martin 'Joey' Schulze, Oldenburg
Abstract: Dieser Vortrag versucht einen Überblick über die Entwicklung von Freier Software anhand verschiedener Praxisbeispiele zu geben. Die Entwicklung von Freier Software unterscheidet sich grundlegend von der klassischen Software-Entwicklung, so wie sie an Universitäten gelehrt wird.

Ein Großteil der Freien Software entsteht, weil einige Personen eine Vision haben (z.B. Debian, Gnome oder KDE), einige Personen ein neues Stück Software für den eigenen Bedarf benötigen oder bisher verwendete Software nicht ihren Anforderungen entsprechen. Der größte Teil Freier Software begründet sich auf persönlichen Bedürfnissen der Entwickler.

Der wichtigste Motor bei der Entwicklung Freier Software ist das Erreichen der selbst gesetzten Ziele. Wenn eine bestimmte Aufgabe gelöst werden soll, wird soviel Zeit investiert, bis diese Aufgabe gelöst ist. Wenn eine Vision verfolgt wird (wie z.B. ein Freies Betriebssystem zu schaffen oder einen coolen Desktop), dann wird an diesem Ziel entsprechend lange gearbeitet. Sehr wichtig bei der Entwicklung ist, daß die Teilnehmer Spaß haben und Aufmerksamkeit erhalten.

Wenn das Projekt nicht ausreichend Spaß für die Entwickler bietet oder ihre Arbeit nicht gewürdigt wird, verlieren sie leicht die Lust an der Arbeit. Der größte Unterschied zur klassischen Software-Entwicklung bei freien Projekten besteht darin, daß die Teilnehmer hauptsächlich in ihrer Freizeit am Projekt arbeiten und selbst entscheiden, wie lange sie arbeiten und an welchem Teil sie arbeiten. Infolgedessen kann ein Projektleiter normalerweise nur bedingt vorgeben, in welche Richtung das Projekt gehen wird und wer an welchen Stellen arbeiten wird.

Ein solches Projekt läßt sich daher nicht mit den gleichen Mitteln leiten wie bei klassischer Software-Entwicklung. Der Projektleiter muß sich auf die Mitglieder einlassen und mit ihnen arbeiten anstatt eine Linie vorzugeben. Ein Release kann erheblich schneller geschehen als geplant, oder auch erheblich später, wenn nicht an den Dingen gearbeitet wird, die für ein schnelles Relese nötig wären.

Während Deadlines bei klassischer Software-Entwicklung meistens nicht eingehalten werden, sind sie bei Freier Software auf lange Sicht vollkommen überflüssig. Da praktisch kein Druck auf die Mitglieder ausgeübt werden kann, ist es kaum möglich, genaue Daten vorauszusagen oder zu fordern.

Ein sehr großer Vorteil von Freier Software, weshalb sie die Prinzipien zum Vorteil von Sicherheit und sauberem Design bevorzugt werden sollten, liegt in der Offenheit des Quellcodes. Da der Quellcode des gesamten Systems verfügbar ist und andere Personen, insbesondere auch Externe, dadurch die Möglichkeit erhalten, ihn zu lesen und Probleme selbst zu beheben, wird der Quellcode von viel mehr Personen gelesen. Mögliche Probleme werden oft angemerkt, so daß der Code im Endeffekt sauberer und sicherer ist. Da er offenliegt, wird er zudem auch von anderen Projekten wiederverwendet, wenn er die geforderte Funktionalität bietet.

Beispiele:
  • KDE: Die Vision des Projekts liegt darin, für Linux und Unix-artige Systeme eine freie integrierte Desktop-Umgebung zu schaffen. Die Kern-Entwickler stehen hinter dem Projekt und treiben es voran. Sie treffen sich unregelmäßig und investieren vor einem Release sehr viel Zeit für Fehlerbereinigung.


  • Linux Kernel: Eine Person entscheidet, was letztendlich aufgenommen wird. Hunderte Entwickler arbeiten ihm zu und schreiben Software. Vieles wird aus Spaß entwickelt, viele Treiber für die eigene Hardware oder die eigene Umgebung geschrieben. Selbst aufgestellte Release-Daten werden teilweise bis zu einem Jahr überzogen.


  • Debian GNU: Das Debian-Projekt hat als Vision die Erstellung eines Freien Betriebssystems. Es bietet seinen Entwicklern einen Rahmen, in dem sie Software entwickeln und vertreiben können. Eine Handvoll Kernentwickler verfolgt dabei die Vision so sehr, daß sie neben ihrer sonstigen Arbeit die Rahmenbedingungen für das Projekt schaffen.


  • Sourceforge: Sourceforge (bzw. BerliOS in Deutschland) bietet nur die Infrastruktur für Freie Software. Daß das System dabei selbst wieder als Freie Software veröffentlicht wurde, ist zwar wichtig, aber im Prinzip nur Nebensache. Mit Hilfe dieses Frameworks konnte es erreicht werden, daß sich innerhalb von weniger als einem Jahr 10.000 freie Projekte und über 90.000 Entwickler im System angemeldet haben.
    Das Framework bietet Möglichkeiten zur Kommunikation, zur Verwaltung des Quellcodes und der Visualisierung des Projekts. Die Entwickler eines Projekts müssen sich somit nicht mehr um eine eigene Netzanbindung und die Administration dieser Dienste kümmern, sondern können sich die Umgebung dort bequem einrichten. Sie können sich voll und ganz auf die Entwicklung konzentrieren.
  •  
Text-Langfassung: