+49 (0)5323 701868 info(at)coders(dot)care
Shadow

SLAs für TYPO3-Erweiterungen

Als Entwickler, Wiederverkäufer oder Nutzer von Open-Source-Software benötigt man einen professionellen Partner, um sicherzustellen, daß die verwendete Lösung verläßlich für das eigene Geschäftsmodell ist. Nachhaltigkeit und Reaktionszeiten sind dabei wichtiger als Lizenzkosten.

Geschätzte Lesezeit: 6 Minuten

Service-Level-Agreements

Es ist Vertrauenssache, nicht Kostenfrage

Im Rahmen der verlängerten LTS-Phase von TYPO3 4.5 erschien eine weitere Option auf dem Radar, die zwar für das TYPO3-Projekt relativ neu war, aber tatsächlich schon seit geraumer Zeit in der Open-Source-Welt existiert. Mit Gründung der TYPO3 GmbH wurde damit begonnen, das erfolgreiche Konzept der Wartungsverträge in Form von Service-Level-Agreements - kurz SLA - fortzuführen.

Wenn die Leute dich mögen, hören sie dir zu.
Aber wenn sie dir vertrauen, machen sie Geschäfte mit dir.

Zig Ziglar

Eines der erfolgreichsten Beispiele für die Kombination von Open-Source-Software mit dem SLA-Konzept ist die Firma RedHat, 1993 gegründet und heute ein Global-Player im Wert von 2 Milliarden Dollar, der einen riesigen Teil seines Umsatzes vor allem mit Service-Leistungen rund um Open-Source realisiert hat.

Natürlich kann sich das TYPO3-Projekt damit nicht wirklich vergleichen, dennoch zeigt das Beispiel, daß Menschen in der Businesswelt bereit sind, deutlich mehr Geld zu investieren, wenn sie dafür ein Produkt erhalten, dem sie vertrauen können.

Tresorraum mit geöffneter Tür

Die Gestaltung eines solchen vertrauenswürdigen Umfelds für TYPO3-Erweiterungen in enger Zusammenarbeit mit der TYPO3 GmbH und dem TYPO3-Core-Team könnte eine weitere Option für Entwickler von Erweiterungen sein.

Der Nutzen dieser Zusammenarbeit wird bereits während der TYPO3 User eXperience Week und der TYPO3 Developer Days jedes Jahr erneut sichtbar, aber weil sich dadurch völlig neue Wege ergeben, um mit den finanziellen Aspekten der Entwicklung von TYPO3-Erweiterungen umzugehen, haben wir für diesen Artikel ein paar Details zusammengetragen.

Reichtum kann, genauso wie Glück, nicht auf direktem Wege erreicht werden. Er ergibt sich als Nebenprodukt aus einem Angebot nützlicher Dienstleistungen.

Henry Ford

Der Service

Das Ganze ist mehr als die Summe seiner Teile

Wie die meisten bekannten Content-Management-Systeme ist auch TYPO3 ein modular aufgebautes System. Die solide Basis des Systems liefert der TYPO3-Kern, der vom Core-Team zur Verfügung gestellt und von der TYPO3 GmbH mit Budgets und Arbeitskraft unterstützt wird. Zusätzliche Funktionen werden durch eine Vielzahl verschiedener Module und Plugins erzielt, die über sogenannte Erweiterungen bereitgestellt werden. Während es bereits Service-Level-Agreements für den Core gibt, fehlen sie - noch - für solche Erweiterungen, was deren Einsatz etwas riskanter macht.

Anbieter von SLAs für TYPO3-Erweiterungen müssen nun sicherstellen, daß jedes einzelne Teil des TYPO3-Puzzles nicht nur heute sondern auch mit zukünftigen Versionen des TYPO3-Kerns zusammenpasst. Sie sollten in einem angemessenen Zeitrahmen in der Lage sein, Lösungen für Probleme mit TYPO3-Extensions bereitzustellen.

Deren Kunden erwarten einen zuverlässigen Service aus einer Hand, der sich um Fehlerbehebung und Änderungswünsche kümmert, damit sie ihre geschäftsrelevanten Anwendungen und Websites auf Basis von TYPO3 sicher betreiben können.

Einzelne Puzzleteile werden zusammengesetzt

Aktuell muß man sich noch durch verstreute Inhalte auf TYPO3 Forge, TYPO3 Git und Gerrit, Github, Gitlab, Stack Overflow und in diversen Foren wühlen. Stattdessen sollte es nur eine Hotline für die Störungsannahme, ein Ticket-System für Fehlermeldungen und ein Projekt-Team zur Verwaltung eines kompletten Pools offiziell bestätigter und unterstützter Erweiterungen geben.

Der Nutzen für Entwickler wie Anwender von Erweiterungen besteht im reduzierten administrativen Aufwand sowie im eingebauten Crowdfunding der SLAs. In der Folge können sich Entwickler auf den Code konzentrieren und mehr Nachhaltigkeit für ihr Geschäft erzeugen, während Agenturen und Endkunden einen garantierten, zuverlässigen Service zu einem angemessenen Preis erhalten.

Das Level

Vorkonfektioniert oder maßgeschneidert für den eigenen Bedarf

Ein Blick auf die Service-Level_Agreements der TYPO3 GmbH zeigt bereits einige Knackpunkte bei der Definition der eigentlichen Level eines SLAs und der damit verbundenen Preisschilder. Neben einer Begrenzung der Anzahl der Websites pro SLA gibt es auch Unterschiede hinsichtlich der Dringlichkeit von Fehlerkorrekturen und der Reaktionszeit, die benötigt wird, um mit einem bestimmten Projekt auf der sicheren Seite zu sein.

Bei Erweiterungen gibt es noch eine zusätzliche Ebene zu beachten, denn es gibt einen signifikanten Unterschied zwischen internen Erweiterungen und öffentlichen Erweiterungen aus dem TER. Letztlich bestimmt eine Kombination aus Anzahl, Priorisierung, Reaktionszeit und Verfügbarkeit ein konkretes Preisschild.

Ein weiterer Blick auf die SLAs der TYPO3 GmbH verdeutlicht: Mindestens weniger dringliche Fehlerkorrekturen für öffentlich verfügbare Erweiterungen aus dem TER sollten in jedem SLA-Level kostenlos sein. Auf diese Weise kann man dem Motto "Inspiring people to share" weiterhin treu bleiben.

Ermittlung der Effizienz eines elektronischen Geräts

Selbstverständlich reicht es nicht aus, lediglich die selben fünf vorgefertigten Level anzubieten, weil es aufgrund der großen Zahl von Erweiterungen, Kombinationsmöglichkeiten und Anwendungsfällen nicht ganz so einfach ist, eine passende Lösung anzubieten, wie für den TYPO3-Kern allein. Es muß also auch individuell einstellbare SLA geben. Außerdem wäre es sinnvoll, Stundensätze für zusätzliche Dienstleistungen dem jeweiligen Level anzupassen. Je höher das Level, desto niedriger der Stundensatz.

Zusätzlich sollte es möglich sein, daß Agenturen einen dedizierten Service-Level-Test-Server fahren, während sie die eigentlichen Fehlerkorekturen als Wiederverkäufer ihren Kunden anbieten. Das würde einen weiteren eingebauten Crowdfunding-Effekt erzeugen, der einerseits das mögliche Level für die Agentur erhöht, andererseits aber den administrativen Aufwand beim Projekt-Management-Team des Anbieters reduziert.

Das Agreement

Die Chance für Firmen, Entwickler und die Community, gemeinsam zu wachsen

Es sollte allerdings eine Besonderheit im Vergleich zu den meisten Varianten von Service-Level-Agreements geben, wie sie in anderen Open-Source-Projekten zum Einsatz kommen. So genannte "Enterprise" oder "Professional" Versionen von TYPO3 oder Erweiterungen kaufen zu müssen, nur um sich für den Erwerb von SLAs zu qualifizieren, ist ein No-Go. Letztlich würde das zwei Klassen innerhalb der Community erzeugen, was im Grunde den Prinzpien der Freien Software im Sinne der GPL widerspräche.

Die Vorteile eines SLA sollten sich über Verläßlichkeit und Reaktionszeiten definieren, nicht über einen Zugang, der für den Rest der Community unerreichbar bleibt. Daher muß es eine Übereinkunft geben, daß öffentliche Erweiterungen später der gesamten Community zur Verfügung stehen, während Kunden einen Vorab- oder Sofort-Zugang erhalten, je nachdem, für welches Level und welche Dringlichkeit sie bezahlt haben.

Entwickler wiederum müssten einer weiteren Vereinbarung zustimmen: Akzeptanz der Veröffentlichung von fremden Korrekturen und Änderungen ist eine Voraussetzung, damit der gesamte Pool an Entwicklern sich um die Erweiterungen kümmern kann, die von den SLAs abgedeckt werden. Damit lassen sich unnötige Forks vermeiden.

Farbige Fäden, zusammengehalten von einem verknoteten orangfarbenen Tau

Es gibt einige nützliche Nebenwirkungen dieser Vereinbarungen. Beispielsweise würde sich die Anzahl der Erweiterungen reduzieren, die lediglich von einer einzigen Person betreut werden, und damit auch das Verlust-Risiko beim Einsatz dieser Erweiterungen. Wegen des Vier-Augen-Prinzips würde sich die Qualität jeder Erweiterung im akzeptierten Pool verbessern und gleichzeitig die Anzahl von ähnlichen Erweiterungen im TER gesenkt.

Durch ein schlagkräftiges Team von Entwicklern, das hinter den SLAs steht, würde es deutlich einfacher, die geprüften Erweiterungen mit zukünftigen Versionen des TYPO3-Kerns auf dem gleichen Stand zu halten. Und weil das alles in enger Zusammenarbeit mit dem Core-Team und dem Security-Team geschieht, wären Core-Bugs und Sicherheitslücken mit Auswirkung auf Erweiterungen wesentlich einfacher zu beheben.

TL;DR - Fazit

SLAs für TYPO3-Erweiterungen sehen vielversprechend aus. Was ist mit den Nachteilen?

Nachdem die TYPO3 GmbH SLAs für den TYPO3-Kern anbietet, erscheint es als logische Konsequenz, ähnliche Vereinbarungen anzubieten, um Erweiterungen zu warten und zu verbessern.

Mit gebündelter Arbeitskraft, eingebautem Crowdfunding und bezahlter Entwicklung kombinieren SLAs Vorteile der Ansätze, die wir in vorigen Artikeln besprochen haben, während sie deren Nachteile eliminieren.

Im Vergleich zu Spenden und Association-Budgets bieten sie das bessere Einkommen, im Vergleich zum Crowdfunding die bessere Nachhaltigkeit und im Vergleich zum aktuellen Stand der Entwicklung von Erweiterungen liefern sie mehr Arbeitskraft, um die Sicherheit, die Zuverlässigkeit und die allgemeine Code-Qualität zu verbessern.

Weil sich mehr Menschen sowohl Arbeit als auch Kosten teilen, liefern SLAs die wirtschaftliche Verwirklichung des TYPO3-Mottos "Inspiring people to share". Insbesondere dann, wenn die Ergebnisse letztlich der gesamten Community zugute kommen.

Jo Hasenau