• Open Source e-Learning
Kruse, Fabian [Fabian] - 22. Dec 2017, 10:59

Bericht aus dem Technical Board: Die ILIAS-Entwicklung besser verteilen

Code Contributors, Maintainer, Services und Komponenten: Die Feinheiten der ILIAS-Entwicklung sind für Außenstehende manchmal nicht sofort verständlich. Wir wollen während der kürzesten Tage des Jahres etwas Licht ins Dunkel bringen. In diesem Post erklären wir zusammen mit Fabian Schmid vom Technical Board, warum in Zukunft mehrere Maintainer den Test und den Kurs betreuen sollen.
Unsere Leserinnen und Leser wissen schon länger, dass das Technical Board mehr Menschen an der ILIAS-Entwicklung beteiligen und den Entwicklungsaufwand besser verteilen möchte. Ein erster Schritt in diese Richtung war die Einrichtung der „Contributor“-Rolle (wir berichteten). Sie bietet ein geregeltes Verfahren für Beiträge von Nicht-Maintainern zum Programmcode.

Darüber hinaus besteht jedoch der Wunsch, das klassische Maintainer-Konzept zu erweitern. Bisher gibt es für alle Komponenten von ILIAS - also z.B. den Kurs, das Forum oder das Wiki - einen festen Maintainer, der für die Weiterentwicklung zuständig ist und sich um gemeldete Bugs kümmern muss. Allerdings sind einige Komponenten - durch neue Features und gewachsene Anforderungen - inzwischen so umfangreich geworden, dass sie kaum noch von einer einzelnen Person betreut werden können. Dies verlangsamt mitunter die Entwicklung und die Fehlerbehebung. Obwohl die Entwickler sich gegenseitig unterstützen, gestaltet sich die Abgrenzung der Aufgaben und die genaue Ausgestaltung der Zusammenarbeit schwierig.

Aus diesen Grund hat das Technical Board angeregt, die Maintainerschaft der beiden größten Komponenten, Test und Kurs, aufzuspalten. Das Ziel: Die einzelnen Teile sollen klar voneinander getrennt und dann auch separat betreut werden. Idealerweise können einige Teile generalisiert werden und als „Service“ auch von anderen Komponenten genutzt werden.

Die Aufteilung der Komponenten ist jedoch nicht trivial. Aus diesem Grund wurde nun eine Ausschreibung veröffentlicht, die Vorschläge für die Aufteilung von Kurs und Test sucht. Wir haben uns darüber mit Fabian Schmid vom Technical Board unterhalten.
Die gewünschte Aufteilung von Test und Kurs ist zunächst ja für die Entwickler interessant. Wird es auch unmittelbare Auswirkungen für die Benutzerinnen und Benutzer von ILIAS geben?
Im besten Fall kriegen die Anwenderinnen und Anwender - ähnlich wie bei der Umstellung auf PHP7 - nicht viel von der Aufteilung mit. Es ist jedoch denkbar, dass im Rahmen der Arbeiten auch konzeptionelle Schwachstellen entdeckt werden, z.B. in den Einstellungen. Diese würden dann natürlich so behoben, dass auch die User es bemerken und davon profitieren. Auch die Auslagerung von Services könnte positive Nebeneffekte für die Anwenderinnen und Anwender mit sich bringen.
Hättest Du ein Beispiel dafür, was so ein ausgelagerter „Service“ sein könnte?
Im Test wäre z.B. die Handhabung von Fragen als Service denkbar. Alle Fragen haben Antworten, richtige Lösungen, Punkte und so weiter. Mit einem Service wäre es leicht möglich, Fragen auch anderswo zu verwenden, wie aktuell im Lernmodul oder - mit entsprechenden Änderungen - in der Umfrage. Bereits auf der letzten DevConf wurde von Fred Neumann ein Ansatz vorgestellt, einen generellen Frage-Service anzubieten.
Die Ausschreibung läuft bis zum 26. Januar. Wie sieht der weitere Zeitplan aus?
Die in der Ausschreibung geforderten Abgaben müssen bis Ende März bei uns eingereicht werden. Im besten Fall erhalten wir eine Auswahl mehrerer Optionen, die wir vergleichen können. Wir werden dann die erforderlichen Maßnahmen daraus ableiten.

Eine Umsetzung soll anschließend so rasch wie möglich erfolgen. Allerdings müssen wir uns sicher auf eine längerfristige Unternehmung einstellen, weil die Umstellung viele Umbauten im Hintergrund erfordern wird. Wir hoffen, noch für Version 5.4 damit beginnen zu können - werden aber sicher nicht mit allem fertig.
Auch die Finanzierung der Arbeiten muss dann geklärt werden…
Auf jeden Fall. Ob und inwiefern diese teilweise mit dem Budget des Technical Boards bereitgestellt werden kann, wird sich zeigen. Bei den Kosten hoffen wir auf Unterstützung durch die Community.
An wen genau richtet sich die Ausschreibung? Man würde meinen, dass die aktuellen Maintainer hier den besten Überblick haben?
Die aktuellen Maintainer haben sicherlich das umfangreichste Know-How. Doch auch andere Maintainer und sogar unabhängige Entwicklerinnen und Entwickler können Ideen zur Aufteilung beisteuern. Der unvoreingenommene Blick von außen könnte durchaus von Vorteil sein. Aus diesem Grund wird die Ausschreibung auch über andere Plattformen gestreut. Wir wollen ganz bewusst auch Leute außerhalb der ILIAS-Community damit erreichen.

Dabei sind natürlich auch Beiträge von Teams denkbar. So gibt es vielleicht Leute, die Ideen für prozessurale Verbesserungen haben. Diese könnten sich mit einem Enwickler zusammentun, um einen Vorschlag einzureichen.
Wo finden Interessierte weitere Informationen?
Wir hoffen auf rege Beteiligung und sind gespannt auf die Vorschläge! Im zweiten Teil des Berichts aus dem Technical Board werden wir dann Anfang Januar einen Blick auf die neue „Contributor“-Rolle werfen.

No comment has been posted yet.