In den letzten Jahren erfuhr die Softwareentwicklung im Kontext von Open Source eine zunehmende Verbreitung und Popularität und hat sich in den verschiedensten Anwendungsdomänen konstituiert. Die einzelnen Prozesse bzw. Methoden, die sich im Bereich der Open Source Softwareentwicklung evolutionär herausgebildet haben, weisen in den zahlreichen Open Source Softwareprojekten zum Teil ähnliche Strukturen und Eigenschaften auf. Die an ihnen beteiligten Personen mit ihren spezifischen Rollen sind überwiegend miteinander vergleichbar.
Dies rechtfertigt den Gedanken, sowohl bereits existierende Open Source Entwicklungsmodelle identifizieren zu wollen, als auch neue Modelle entwickeln zu können. Im Bereich des Software Engineering wurde längst erkannt, dass sich das allgemeine Open Source Softwareentwicklungskonzept in verschiedenen Aspekten erheblich von dem der proprietären Softwareentwicklung unterscheidet. Daher bedürfen diese Open Source Entwicklungsmodelle einer eigenen wissenschaftlichen Betrachtung. In unterschiedlichen Veröffentlichungen wurden zwar bereits einzelne Aspekte der Open Source Softwareentwicklung analysiert und vage Theorien über zugrunde liegende Entwicklungsmodelle verfasst; dennoch existiert bislang noch keine umfassende Beschreibung der typischen Modelle der Open Source Softwareentwicklung. Da dies eine Voraussetzung für die weitere wissenschaftliche Auseinandersetzung mit Open Source Softwareentwicklungen darstellt, wurde im Rahmen dieser Arbeit eine Vorgehensweise erarbeitet, die dabei hilft, solche Entwicklungsmodelle im Bereich der Open Source Software analysieren zu können, d.h. sie zu identifizieren bzw. sie zu erfassen und sie damit schließlich vergleichbar zu machen. Die Analyse wurde mit Hilfe einer morphologischen Methode vollzogen. Dies wurde unter Verwendung von bereits untersuchten Open Source Entwicklungsmustern und Einteilungen von Open Source Softwareentwicklungen in verschiedene Kategorien durchgeführt. Da diese Entwicklungsmuster und Kategorisierungen von Open Source Softwareentwicklungen Ergebnisse einer Studie sind und an konkreten Open Source Beispielen ausgerichtet sind, wurden sie im Rahmen dieser Arbeit verallgemeinert, um sie in der Analyse anwenden zu können.
Inhaltsverzeichnis
1 Einleitung
1.1 Ausgangssituation
1.2 Zielsetzung
1.3 Vorgehensweise
2 Grundlagen
2.1 Begriffsdefinitionen
2.1.1 Open Source Software
2.1.2 Freie Software
2.1.3 Gemeinsamkeiten und Unterschiede
2.1.4 Modelle
2.2 Open Source als Konzept für die Softwareentwicklung
2.2.1 Proprietäre Softwareentwicklung
2.2.2 Open Source Softwareentwicklung
3 Open Source Modelle
3.1 Internet als Kommunikationsplattform
3.2 Open Source Communities
3.2.1 Struktur und Organisation
3.2.2 Mitglieder und ihre Rollen
3.3 Entwicklungsmodelle im Kontext von Open Source
3.3.1 Entwicklungsmuster
3.3.2 Klassifikationen von Open Source Softwareentwicklungen
3.4 Analyse und Vergleich der dargestellten Modelle
3.4.1 Morphologische Methode
3.4.2 Open Source Softwarebeispiel
3.4.3 Vergleich von Open Source Modellen
4 Zusammenfassung und Ausblick
Zielsetzung & Themen
Das primäre Ziel dieser Seminararbeit ist die Identifikation und der systematische Vergleich von Open Source Entwicklungsmodellen. Da keine standardisierten Prozesse existieren, wird ein Verfahren entwickelt, das mittels morphologischer Methode die Analyse von Open Source Softwareprojekten ermöglicht und diese vergleichbar macht.
- Grundlagen und Begriffsdefinitionen (Open Source vs. Freie Software)
- Strukturen und Rollenverteilung in Open Source Communities
- Evolutionsmuster und Klassifikationen von Open Source Softwareentwicklungen
- Anwendung der morphologischen Methode zur Modellierung
- Fallbeispiel: Analyse des Apache Webserver Entwicklungsmodells
Auszug aus dem Buch
Entwicklungsmuster 1: Einfacher Entwicklungsstrang
Das erste Entwicklungsmuster ist in Abbildung 4 dargestellt. Es besteht aus einem einzigen Entwicklungsstrang. Auf jeder Softwareentwicklungsstufe können einzelne Komponenten weiterentwickelt werden und wieder in die Haupt- bzw. Kernsoftware integriert werden. Dabei kann es vorkommen, dass manche Weiterentwicklungen nicht integriert werden. Die Personen, die an einem Open Source Projekt, das ein solches Muster benutzt, beteiligt sind und Softwarekomponenten weiterentwickeln, nutzen für die Kommunikation untereinander meist Mailing-Listen und Newsgroups (siehe Kapitel 3.1). Die einzelnen Entwicklungen werden durch den Projektleiter nach seinem Bemessen in die Kernversion der Software integriert. Hierbei überprüft der Projektleiter die weiteren hinzugekommenen Funktionalitäten, den Programmierstil sowie die -konventionen, die Dokumentation und schließlich die Qualität der erweiterten Software. Erst danach können die Softwarekomponenten für etwaige Weiterentwicklungen und Pflege wieder verteilt werden. Anhand der Abbildung 4 ist auch gut zu erkennen, dass manche Weiterentwicklungen nicht in die Kernsoftware eingefügt werden können oder müssen und beendet werden. Durch periphere Entwickler, die als Vermittler zwischen den aktiven Entwicklern fungieren, kann dies verhindert und die Möglichkeit der Integration von Softwarekomponenten erhöht werden.
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung führt in die Geschichte und den Ursprung von Open Source Software sowie die Abgrenzung zur Free Software Foundation ein und erläutert die Zielsetzung sowie die Vorgehensweise der Arbeit.
2 Grundlagen: Hier werden die zentralen Begrifflichkeiten definiert und eine Gegenüberstellung von proprietären Vorgehensmodellen und Open Source Softwareentwicklung vorgenommen.
3 Open Source Modelle: Dieses Hauptkapitel analysiert die Rolle des Internets, die Struktur von Communities, verschiedene Entwicklungsmuster sowie Klassifikationen und wendet die morphologische Methode am Beispiel des Apache Webservers an.
4 Zusammenfassung und Ausblick: Das Fazit fasst die Ergebnisse der Analyse zusammen und unterstreicht die Notwendigkeit, zukünftig standardisierte Entwicklungsmodelle für den Open Source Bereich zu dokumentieren.
Schlüsselwörter
Open Source Software, Entwicklungsmodelle, Software Engineering, Community, Apache Webserver, Morphologische Methode, Softwareentwicklung, Evolutionsmuster, Quellcode, Basar-Stil, Kathedralen-Modell, Projektmanagement, Freie Software, Softwareprozess, Klassifikation.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der Identifikation und dem systematischen Vergleich von Modellen, nach denen Open Source Softwareprojekte entwickelt werden.
Was sind die zentralen Themenfelder?
Die Schwerpunkte liegen auf den Organisationsstrukturen von Communities, den spezifischen Mustern der Softwareentwicklung und der Einordnung dieser Prozesse.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist die Schaffung einer Vergleichsgrundlage für Open Source Modelle, da bisher keine standardisierten Beschreibungen für diese Entwicklungsprozesse existieren.
Welche wissenschaftliche Methode wird verwendet?
Der Autor nutzt die morphologische Methode, um komplexe Probleme durch eine Matrix-Darstellung zu strukturieren und verschiedene Entwicklungsmodelle ableiten und vergleichen zu können.
Was wird im Hauptteil behandelt?
Der Hauptteil befasst sich mit der Rolle des Internets, der Rollenverteilung in Communities, der Einteilung von Entwicklungsmustern sowie der praktischen Anwendung der morphologischen Analyse.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie Open Source, Entwicklungsmodelle, Community, Software Engineering und morphologische Methode charakterisiert.
Welche Rolle spielt der Apache Webserver in der Arbeit?
Der Apache Webserver dient als konkretes Fallbeispiel, an dem das theoretisch abgeleitete Modell der morphologischen Matrix veranschaulicht wird.
Was unterscheidet Open Source Entwicklung von proprietärer Softwareentwicklung?
Während proprietäre Software oft starren, hierarchischen und geschlossenen Phasen (Kathedralen-Modell) folgt, basiert Open Source auf kollaborativen, oft dezentralen Strukturen (Basar-Stil) mit hoher Mitbestimmung durch die Community.
Warum ist die morphologische Methode für diese Arbeit relevant?
Sie dient dazu, die mangelnde Standardisierung bei Open Source Entwicklungsprozessen durch eine systematische Kombination von Merkmalen und Ausprägungen greifbar und vergleichbar zu machen.
- Quote paper
- Jan Nicolai Arsenijevic (Author), 2008, Identifikation und Vergleich von Open Source Modellen, Munich, GRIN Verlag, https://www.grin.com/document/122923