MulchProductions

Softwarearchitektur in Open Source Projekten - Theorie vs. Praxis

Vortrag im Rahmen der Open Rhein Ruhr, Messe Bottrop vom 07.11.-08.11.

Abtract des Vortrages:
Bei der Planung und Architektur von Software gibt es im Open Source Bereich Unterschiede zur klassischen Planung von Software, bspw. im Closed Source Bereich. Während eine kommerzielle Closed Source Entwicklung in der Regel innerhalb eines Teams von bezahlten Fachleuten betrieben wird, erfolgt die Entwicklung von Open Source Projekten mit Hilfe freiwilliger Helfer mit unterschiedlichem Wissenstand. Damit ein Open Source Projekt sowohl Entwickler als auch Anwender anzieht, sollten die besonderen Gegebenheiten eines Open Source Projektes bereits bei der Planung der Software bedacht werden.

Kommerzielle Closed Source Entwicklung beruht in der Regel auf dem Wissen ausgebildeter Fachleute. Für diese sind Fachbegriffe wie Patterns, Schichtentrennung und Convention over Configuration keine Fremdwörter. Von daher kann hier eine Software wie klassisch gelehrt geplant, entwickelt, gewartet und gelebt werden. Open Source Projekte hingegen bestehen aus einem heterogenen Team an Entwicklern. Je nach fachlicher Herkunft haben diese ein tieferes oder weniger tieferes Wissen im Bezug auf theoretische Informatik. Dies zeigt sich bei vielen kleinen Projekten: Die Codebasis ist verworren, es gibt keine einheitlichen Coding Guidelines und keine saubere Trennung der einzelnen Komponenten. Von daher muss bei der Planung eines Open Source Projektes ein Spagat zwischen einer fachlich sauberen Architektur sowie einer auch von teilweise fachfremden Entwicklern zu bewältigenden Komplexität gegangen werden. So möchte der Projektinitiator (in der Regel auch der Projektleiter) sowohl seine Ideen und Visionen realisieren, auf der anderen Seite jedoch benötigt er für den Erfolg des Projektes weitere Mitstreiter, die beim Aufbau einer Community helfen sollen. Der Vortrag soll zeigen, in welchen Bereichen wie stringent nach klassischer Softwarearchitektur vorgegangen werden kann sowie an welchen Stellen die Architektur ohne Sicherheitsrisiko ein wenig lockerer geplant werden kann. Hierfür wird anhand eines CMS Frameworks beschrieben, an welchen Stellen externe Entwickler durch sogenannte "Hot-Spots" eigenen Code einbringen können und wie dies durch eine hierfür ausgelegte Architektur mit verringertem Risiko machbar ist. Der Vortrag beleuchtet grundlegende Unterschiede bei Open Source Projekten und warum unterschiedliche Projekte unterschiedliche Strategien fahren sollten und können.

Download der Slides des Vortrages

Edit: Einen Videomittschnitt des Vortrages gibt es unter https://qik.com/video/3474103, vielen Dank an Jakob Schröter für den Hinweis!