Stud.IP - UOS-Open-Source-Softwareentwicklung/oss1314 GitHub Wiki
Kurzbeschreibung eines Open-Source-Projektes
Tobias Thelen, [email protected], Universität Osnabrück
Stud.IP ist ein webbasiertes Lernmanagement- und Groupwaresystem. Es wird hauptsächlich an Hochschulen verwendet, um Lehrveranstaltungen zu verwalten, Lerninhalte abzulegen und zugänglich zu machen sowie Kommunikations- und Kollaborationswerkzeuge für Lernende und Lehrende zur Verfügung zu stellen. Über eine Plugin-Schnittstelle können zusätzliche Funktionalitäten implementiert und Drittsysteme wie Campusmanagementsysteme, Bibliothekssysteme, Webconferencing-Tools oder andere E-Learning-Werkzeuge angebunden werden. („Stud.IP“ 2013, Lucke & Tavangarian 2007)
Stud.IP ist auf Initiative wissenschaftlicher Mitarbeitern im Jahr 1999 an der Unviersität Göttingen entstanden. Haupteinsatzziele waren zunächst der Einsatz als Diskussionsforum in einem Seminar und die Nutzung als „Elektronischer Seminarordner“, d.h. Online-Ablage für Dokumente (Kater 2007a). Die Entwicklergruppe bestand zunächst aus wissenschaftlichen Mitarbeitern und Hilfskräften, die das Projekt in Eigenregie und ohne gesonderte externe Finanzierung vorantrieben. Im Jahr 2000 wurde Stud.IP erstmals für größere Benutzergruppen eingesetzt, nämlich in allen Lehrveranstaltungen des Zentrums für interdisziplinäre Medienwissenschaft (Kater 2007b).
In den folgenden Jahren wurde Stud.IP an der Universität Göttingen u.a. mit Mitteln des BMBF-Förderprogramms „Notebook-University“ weiterentwickelt und in zwei Fakultäten für einen Großteil der Lehrveranstaltungen eingesetzt (Hanekop, Lanfer & Wittke 2004). Größere Verbreitung hat Stud.IP ab 2003 gefunden, als sich weitere Hochschulen für Stud.IP als zentral bereitgestelltes Lernmanagementsystem entscheiden haben. Eine besondere Rolle hat hierbei das „E-Learning Academic Network“-Förderprogramm des Landes Niedersachsen gespielt (Appelrath et al. 2006).
Stud.IP wird von gut 20 aktiven Entwicklern entwickelt („Ohloh.net: Stud.IP“ 2014). Im Zentrum steht dabei die Core-Group, die die Entscheidungen über die Aufnahme von Features in das Release trifft, die Qualitätssicherung verantwortet und selbst über ihre Zusammensetzung entscheidet (Stud.IP e.V. 2012). Im Januar 2014 setzt sich die Core-Group aus 15 Personen zusammen, die sämtlich im Rahmen einer beruflichen Tätigkeit an Stud.IP arbeiten. Tabelle 1 listet die Herkunftseinrichtungen bzw. -Unternehmen der persönlich in die Core-Group gewählten Entwickler auf.
Einrichtung | Anzahl Mitglieder in der Core-Group |
---|---|
data-quest Suchi & Berg GmbH | 5 |
ELAN e.V. | 3 |
Universität Hannover | 2 |
Universität Oldenburg | 2 |
Universität Passau | 1 |
Universität Osnabrück | 1 |
Hochschule für angewandte Wissenschaft und Kunst, Holzminden-Hildesheim-Göttingen | 1 |
Eine besondere Rolle spielt zum einen die Firma data-quest Suchi & Berg GmbH, die von einem der ursprünglichen Stud.IP-Entwickler mitgegründet wurde und seit 2001 Dienstleistungen rund um Stud.IP anbietet. Die Leistungen umfassen dabei Support-Verträge für Stud.IP-Betreiber, Auftragsentwicklung und Customizing sowie Schulungen für Administratoren und Betreiber (data-quest 2014). Zum anderen beschäftigt der ELAN e.V. mehrere Mitarbeiter, die für die Hochschulen und Bildungseinrichtungen, die sich als Mitglieder im ELAN e.V. zusammengeschlossen haben, um E-Learning-Services, -Entwicklungen und die Bearbeitung von Rechtsfragen gemeinschaftlich anzugehen (ELAN e.V. 2014). Seit 2011 wird die Stud.IP-Weiterentwicklung im Rahmen des BMBF-Förderprogramms „Qualitätspakt Lehre“ im Verbundprojekt „eCult – eCompetence und Utilities for Learners and Teachers“ gefördert (eCult 2014).
Die Entwicklung wird von einem gemeinnützigen Verein, dem Stud.IP e.V. gefördert, der auch die Markenrechte an der Marke „Stud.IP“ besitzt. Mitglieder des Vereins sind sowohl Privatpersonen als auch Hochschulen und Unternehmen, die Stud.IP einsetzen.
Stud.IP wird nach einem zeitbasierten Release-Planungsschema entwickelt, d.h. es gibt im Vorhinein festgelegte Zeitpunkte, zu denen eine neue Version fertiggestellt sein wird. Dieses Modell steht im Gegensatz zu einem Feature-basierten Release-Schema, bei dem eine neue Version dann veröffentlicht wird, wenn eine im Vorhinein bestimmte Menge an Produkt-Features fertiggestellt ist (s. Michlmayr 2007).
Bei Stud.IP orientieren sich die Releasezyklen in etwa an den Semesterzyklen deutscher Hochschulen, so dass jeweils im Frühjahr und im Herbst eines Jahres neue Stud.IP-Versionen veröffentlicht werden. Von einem reinen zeitbasierten Verfahren weicht die Stud.IP-Release-Praxis insofern etwas ab, als das Im Vorfeld eines Releases Featurelisten für das jeweilige Release gesammelt und abgestimmt werden. Wird allerdings eines der geplanten Features nicht fertig bzw. findet in den Abstimmungen nicht die Zustimmung der Core-Group, wird es auf ein späteres Release verschoben bzw. verworfen. Eine zentrale Planung im Sinne einer verbindlichen Roadmap existiert nicht, vielmehr kann jeder Entwickler Feature-Vorschläge einbringen, die dann diskutiert und abgestimmt werden (Stud.IP e.V. 2012).
Abbildung 1 gibt den gesamten Entwicklungsprozess vom Vorschlag eines Features bis zur Veröffentlichung oder bis zur endgültigen Ablehnung wieder. Es gibt zwei Abstimmungsphasen: Zunächst wird darüber entschieden, ob das geplante Feature überhaupt für die Veröffentlichung geeignet ist und in die Produktstrategie passt. Nach der Implementierung und dem Einchecken in das Versionsverwaltungssystem (s.u.) prüfen einzelne Beauftragte der Core-Group mit unterschiedlichen Zuständigkeitsbereichen die Umsetzung und legen ggf. ein Veto gegen die Veröffentlichung ein.
Abbildung 1: Der Stud.IP-Entwicklungsprozess (Quelle: Stud.IP e.V. 2012)
Der beschriebene Entwicklungsprozess gilt nur für das Release der Kernversion. Plugins, die entweder über den zentralen Stud.IP-Plugin-Marktplatz (http://plugins.studip.de) angeboten oder auf andere Weise in Form von Plugin-Archiven distribuiert werden, unterliegen nicht der Kontrolle der Core-Group und folgen anderen Entwicklungsprozessen.
Stud.IP unterliegt gemäß der COPIYNG-Datei im Wurzelverzeichnis der Stud.IP-Distribution der GPL Lizenz, Version 2. Einige Quelldateien des Kerncodes enthalten allerdings den Hinweis aus „GPL Version 2 or later“, so dass nur Teile des Codes unter der GPL Version 3 weitergegeben werden dürfen (Free Software Foundation 2012). Zusätzlich enthält Stud.IP Open-Source-Code von Drittanbietern, der zum Teil unter anderen, allerdings mit der GPL 2 kompatiblen Lizenzen steht. So findet sich im Distributionspaekt z.B. eine Version der jQuery-Bibliothek (MIT-Lizenz) oder eine Version der pclzip-Bibliothek (LPGL 2.1).
Stud.IP ist eine datenbankbasierte Webanwendung, die in PHP, Javascript, HTML, CSS und SQL realisiert ist und insgesamt ca. 475.000 Zeilen Code aufweist, der zu ca. 22,5% aus Kommentaren besteht (Ohloh.net: Stud.IP 2014). Stud.IP setzt einen Apache-Webserver und eine MySQL-Datenbank voraus, die bevorzugt unter Linux laufen sollen. Es ist allerdings –ggf. mit Einschränkungen auch möglich, Stud.IP unter anderen Betriebssystemen zu betreiben (Stud.IP e.V. 2013).
Ein Blick in den Quellcode der derzeit aktuellen Release-Version Stud.IP 2.5 zeigt, dass sich der Quellcode im Umbruch befindet. Neuere Teile sind nach dem Model-View-Controller-Paradigma orientiert, ältere Teile vereinigen Bestandteile aller drei Komponenten in einzelnen PHP-Dateien. Unit-Tests sind nur spärlich, andere Tests nicht vorhanden.
Die Stud.IP-Community verwendet eine eigene Stud.IP-Installation für die projektinterne Kommunikation (Stud.IP e.V. 2012). Dieser „Developer-Server“ dient gleichzeitig Testzwecken, da auf ihm jeweils die aktuelle Trunk-Version ist. Dies wird durch einen automatischen Checkout des jeweils aktuellen Entwicklungszweiges gewährleistet. Über den Developer-Server kann auch ein IRC-Chanel erreicht werden, der von den Entwicklern als permanent aktiver Chat-Raum genutzt wird.
Zur Versionskontrolle wird ein SVN-Repository eingesetzt, das vom Stud.IP e.V. gehostet wird. Für das Bugtracking kommt eine trac-Installation (http://develop.studip.de/trac) zum Einsatz, die über eine Stud.IP-Plugin mit dem Developer-Server gekoppelt ist.
Die Distribution der Releases erfolgt über Sourceforge (http://sourceforge.net/projects/studip/), es werden allerdings keine weiteren Funktionen und Dienste von Sourceforge aktiv verwendet.
Appelrath, H. J., Boles, D., Kleinefeld, N., Marcos, I., Reil, D., Runge, M., ... & Willer, S. (2006). Einsatz des Open-Source-Lernmanagementsystems Stud. IP zur Unterstützung der Präsenzlehre der Universität Oldenburg. In: GI Jahrestagung (2) (pp. 53-58).
data-quest (2014). Data-quest und Stud.IP. In: www.data-quest.de. URL: http://data-quest.de/produkte-leistungen/studip/data-quest-und-studip, abgerufen am 16.01.2014.
eCult (2014). Optimierter Einsatz digitaler Lerntechnologien in der Hochschullehre – Produkte und Dienstleistungen. In: eCult – eCompetence and Utilities for Learners and Teachers. URL: http://www.ecult.me/produkte_dienstleistungen.php, abgerufen am 16.01.2014
ELAN e.V. (2014). Kompetenzbereich Software für Lehre, Studium und deren Management. In: www.elan-ev.de. URL: http://www.elan-niedersachsen.de/software/, abgerufen am 16.01.2014.
Free Software Foundation (2012): Freie Softwarelizenzen (vereinbar mit GPL). In: www.gnu.org. URL: http://www.gnu.org/licenses/license-list.html, abgerufen am 22.01.2014.
Hanekop, H., Lanfer, C., & Wittke, V. (2004): Auf dem Weg zur „Notebook University “? Zur Veränderung von Lehre und Lernen durch den Einsatz neuer Informations-und Kommunikationstechnologien an Präsenzhochschulen. In: Sofi-Mitteilungen 32. Göttingen: Universität Göttingen. URL: http://www.sofi-goettingen.de/fileadmin/SOFI-Mitteilungen/Nr._32/hanekop-lanfer-wittke.pdf
Kater, C. (2007a): Stud.IP 0.1 – Eine Arbeitserleichterung muss her. In: Stud.IP Blog, 27.05.2007. URL: http://blog.studip.de/beitrag/studip-01-eine-arbeitserleichterung-muss-her
Kater, C. (2007b): Stud.IP 0.2 – 15 Minuten für den Weltruhm. In: Stud.IP Blog, 06.07.2007. URL: http://blog.studip.de/beitrag/es-war-einmal-studip-02-15-minuten-fur-den-weltruhm
Lucke, U., & Tavangarian, D. (2007). Aktueller Stand und Perspektiven der eLearning-Infrastruktur an deutschen Hochschulen. In: Eibl, C., Magenheim, J., Schubert, S., & Wessner, M. (Hrsg). DeLFI 2007: die 5. e-Learning Fachtagung Informatik. GI-Edition–Lecture Notes in Informatics (LNI), P-111, Bonn. (pp. 197-208).
Michlmayr, M. (2005). Quality improvement in volunteer free software projects: Exploring the impact of release management. In: Proceedings of the First International Conference on Open Source Systems. (pp. 309-310). URL: http://oss2005.case.unibz.it/Resources/Proceedings/OSS2005Proceedings.pdf
“Ohloh.net: Stud.IP” (2014). Stud.IP Project Summary. In: ohloh.net. URL: http://www.ohloh.net/p/studip, abgerufen am 16.01.2014
“Stud.IP” (2013). In: Wikipedia. URL: http://de.wikipedia.org/w/index.php?title=Stud.IP&oldid=125268948
Stud.IP e.V. (2012). Regeln für die Stud.IP-Entwicklung. In: Stud.IP Entwicklungs-Dokumentation. URL: http://docs.studip.de/develop/Entwickler/Regeln, abgerufen am 16.01.2014.
Stud.IP e.V. (2013). Installationsanleitung. In: Stud.IP Administrations-Dokumentation. URL: http://docs.studip.de/admin/Admins/Installationsanleitung, abgerufen am 16.01.2014.