Torben und Josef, ihr seid zwei von aktuell nur 32 Magento Community Maintainers weltweit. Wie wird man Teil dieses Teams und was macht ein Community Maintainer?
Josef: Grundsätzlich wird man Teil dieses Teams, indem man entweder angesprochen wird oder sich bewirbt. In unserem Fall sind wir Partner von Magento und wurden in einem Call darauf angesprochen, ob das nicht interessant wäre für uns. Daraufhin hab ich mich bei Magento gemeldet und bin dann durch den Prozess gegangen, durch den man dann durch muss: Es gibt erstmal einen Video-Call mit jemandem vom Magento Community Engineering, dann bekommt man diverse Dokumente und Zugänge, man bekommt Zugriff auf interne Systeme, die nicht allgemein zugänglich sind. Dann gibt es noch ein Gespräch mit Vertretern von Magento und natürlich muss man verschiedene Dokumente unterschreiben. Da geht es um Geheimhaltung und die Verwaltung der Systeme, auf die man Zugriff bekommt. Und dann kann man eigentlich loslegen. Torben hat sich dann etwas später auf dem selben Weg qualifiziert, da Magento generell mehr Maintainer sucht, um die ganzen Beiträge und Contributions aus der Community zu verwalten. Denn das ist es eigentlich, was ein Community Maintainer macht: Nämlich die einzelnen Contributions die z.B. über GitHub eingereicht werden – neue Features, Bugfixes und alles andere, was an Codeänderungen aus der Community kommt – durchzuschauen, zu prüfen, gegebenenfalls Feedback zu geben und dann im Endeffekt zu entscheiden, ob diese Änderungen in den Core Code mit aufgenommen werden oder nicht.
Torben: Ja, ich hatte ja mitgekriegt wie Josef in diesem Programm involviert ist und fand das sehr interessant. Ich hatte seit wir an dem Partnerprogramm teilnehmen selbst einiges beigetragen und hatte natürlich mitbekommen, dass Josef als Maintainer verschiedene Beiträge geprüft hat. Deshalb habe ich mich auch als Community Maintainer beworben. Ich hatte ebenfalls einen Call mit mehreren Magentovertretern, die einen erstmal kennenlernen wollen. Die legen da schon auch viel Wert auf das Persönliche, würd ich sagen. Ich habe verschiedene Unterlagen unterschreiben müssen und habe eine Einweisung bekommen. Und irgendwann kann man dann auch loslegen, Issues durchzugehen und zu filtern (Hier wird geprüft, ob ein Issue gültig ist oder nicht, das heißt, ob sich ein Fehler reproduzieren lässt.) Das ist das eine: Die erste Instanz zu filtern. Das andere ist dann, Pull Requests zu sichten. Also zu schauen, ob die Lösungen, die da beigetragen werden, nichts anderes beschädigen, ob sie funktionieren oder getestet sind, damit sie zuverlässig funktionieren.
Josef: Hinzufügen kann man noch, dass die Maintainer auch untereinander einen engen Austausch pflegen. Es gibt einen Magento Community Engineering Slack-Bereich und dort auch einen geschlossen Channel für die Maintainer auf GitHub, sodass wir uns dort intern austauschen können.
Ihr unterstützt euch also im Maintainer Team untereinander und besprecht Fachthemen gemeinsam?
Josef: Genau. Es kennt ja nicht jeder jeden Bereich von Magento so gut. Da kann man dann auch mal nachfragen, wenn man sich nicht sicher ist, z.B. ob ein Feature richtig umgesetzt wurde, ob es so passt. Oder wenn man einfach mal ein zweites oder drittes Paar Augen braucht, das bei einem bestimmten Problem mit drauf schaut.
Torben: Es gibt auch immer wieder Fälle, wo man Rückfragen hat und erstmal diskutieren muss ob etwas rein darf, ob man das möchte, dass es in eine bestimmte Richtung geht. Manchmal sind es eben auch größere Eingriffe, die die Community da beisteuert. Inzwischen gibt es auch regelmäßige Videokonferenzen, an denen alle Community Maintainer teilnehmen können. Dort werden auch Neuerungen von Magento vorgestellt. Neue Tests beispielsweise und wie man die anstoßen kann. Die Konferenzen werden auch aufgezeichnet, weil die Teammitglieder über verschiedene Zeitzonen verteilt sind. Magento sitzt ja in Austin. Das ist dann schon manchmal ein bisschen schwierig. Hier ist es dann am Freitagnachmittag um fünf. Das ist nicht unbedingt die beste Zeit, da denkt man schon mal eher an den Feierabend. (lacht)
Josef: Aber es gibt ja die Aufzeichnungen. Und oft nehmen wir ja auch teil. Man sieht dann eben auch die anderen Leute, die alle über die Welt verstreut sind. Das ist schon interessant sich da im Team auszutauschen und auch zu sehen, welchen Einfluss wir auf die Software haben. Torben hat es ja vorhin gesagt: Wir haben ja beide auch früher schon Beiträge – Features oder Bugfixes – eingereicht, die dann von anderen Maintainern entsprechend geprüft wurden. Und jetzt sind wir selber in der Position, dass uns zugetraut wird, von Magento, zu entscheiden welche Features in den Kern von Magento mit reinkommen und welche nicht. Oder wo man noch mal nachbessern muss.
Das führt mich eigentlich direkt zu meiner zweiten Frage: Es gibt gut 8000 zertifizierte Magento-Entwickler und fast 6000 Contributors in der Magento Community. Da seid ihr als zwei von 32 Maintainern ein ziemlich exklusiver Zirkel. Das ist schon ein Ritterschlag, da dazu zu gehören, oder?
Josef: Ja, ich glaub schon, auf jeden Fall. Es ist auch immer ein spannender Austausch auf Konferenzen, wenn man andere Maintainer trifft. Man erkennt die auch immer daran, dass die diese exklusiven Maintainer-Shirts und Pullis anhaben, die nur die Maintainer bekommen und immer in kleinen Pulks rumhängen. (lachen) – Aber ernsthaft es ist schon innerhalb der Community eine angesehene Position.
Es gibt eine Rangliste der Magento Community Maintainers. Josef, im Moment liegt Torben einige Punkte vor dir. Gibt es da einen Wettbewerb zwischen euch beiden?
Josef: Nein. Hier intern jetzt nicht. Das haben wir so nie wahrgenommen oder leben das nicht so, dass es jetzt darum geht, wer mehr Punkte hat oder besser dasteht. Es ergibt sich einfach so, dass ich, glaub ich, mehr die Pull Requests bearbeite und Torben noch selber viel contributet – da also auch noch mehr Arbeit reinsteckt als ich und deshalb mehr Punkte hat. Es gibt für verschiedene Aufgaben unterschiedlich viele Punkte. Ob man z.B. Pull Requests bearbeitet oder eigene Contributions leistet. Aber einen Wettbewerb gibt es da eigentlich unter den Maintainern generell nicht. Das ist eine Gruppe, die sich sehr gut versteht und in engem Austausch steht. Es ist eher so, wenn man jemanden mal trifft, der jetzt ein paar Punkte vorne liegt, dass man den lobt und sagt: “Cool, ich hab gesehen, du hast schon wieder hundert Pull Requests bearbeitet!” Das spornt dann auch an, selber wieder reinzuhauen. Aber weniger aus dem Wettbewerbsgedanken, als aus dem Gedanken heraus, gemeinsam diese Software weiterzubringen.
Torben: So ein bisschen ist das bei Magento sicher ein Gamification-Ansatz mit dem Punktesystem. Das ist aber auch nicht so ganz transparent, wofür man jetzt wieviele Punkte bekommt. Das hat auch etwas mit der Komplexität und der Schwierigkeit der Aufgaben zu tun, die man übernimmt. Aber einen Wettbewerb, würd ich sagen, gibt es da nicht wirklich. Man macht das eigentlich so wie man gerade Zeit hat. Oft sieht man auch bei der Arbeit ein interessantes Issue, weil man da gerade selber involviert ist und die Lösung schon für einen Kunden entwickelt hat. Dann kann man Sie auch gleich für den Core bereitstellen. So entstehen eigentlich die meisten Contributions. Oder man sieht an einer bestimmten Stelle einen Bedarf: Zum Beispiel wollen viele Kunden nicht, dass Produktbewertungen automatisch angezeigt werden, weil es doof aussieht wenn es zu wenige sind. Bisher musste man das jedesmal im Code anpassen. Da habe ich mich dann mal hingesetzt und dazu ein Modul entwickelt, damit man die Bewertungen im Backend ein- und ausschalten kann.
Josef: Es kommt öfter vor, dass wir in Projekten auf Probleme stoßen, die wir schon mal hatten. Zum Beispiel Bugs für die wir schon einen Fix haben. Torben und ich sagen das auch zu unseren Azubis und Kollegen: “Wenn so etwas auftritt, nutzt doch die Gelegenheit, macht einen Pull Request, damit alle was davon haben.” Das ist ja der Sinn der Community und auch des Maintainings, dass man das Wissen, das sich bei den Agenturen ansammelt, einbringt und für alle nutzbar macht.
Torben: Gerade für die Azubis ist das ja auch noch mal eine andere Herausforderung: Du musst dich in GitHub zurechtfinden, wissen wie das funktioniert. Dann musst du das Problem beschreiben: Wie kann man es reproduzieren in einzelnen Schritten, worauf hast du es getestet usw. Das bringt einen weiter. GitHub ist ja die Plattform schlechthin für sowas und man bekommt ein direktes Feedback.
Josef: Das bringt uns auch als Dienstleister insgesamt voran. Letztes Jahr war basecom als Magento Partner unter den Top-Ten.
Als Magento-Entwickler bei basecom und Magento Community Maintainer habt ihr einen guten Einblick und wisst was die Magento-Welt bewegt. Was sind eurer Meinung nach momentan die wichtigsten Technologie-Trends den E-Commerce im Allgemeinen und Magento im Speziellen betreffend?
Torben: Allgemein sind, glaub ich, im E-Commerce momentan PWAs das Thema, was alle wollen. Wir bauen ja bei basecom gerade auch ein eigenes Team auf, damit wir die Verschiedenen Shop-Technologien mit einer PWA-Technologie bedienen können. Bei Magento ist das selbstverständlich auch ein großes Thema, sonst hätte die ja das PWA Studio nicht rausgebracht, im letzten Jahr. Ein anderes Thema, an dem Magento gerade viel arbeitet ist Service Isolation: Man will also die Module mehr entzerren, damit man in Zukunft noch Modularer entwickeln kann.
Also ähnlich wie bei Shopware oder Spryker?
Josef: Ja, das geht ja alles in die Richtung headless, aktuell. Auch Magento ist da mit einem internen Architekturprojekt dabei, zu planen, wie das gesamte System umgebaut werden muss, um zukunftssicher zu sein, was Headless-Architektur, PWAs und alles drumherum angeht. Damit im Zusammenhang steht natürlich auch das Thema Schnittstellen und Integration von Drittsystemen, das ja im E-Commerce auch immer eine große Rolle spielt. Auch unabhängig von den PWAs wird sich im Bereich der Entkopplung von Frontend und Backend noch einiges tun, auch was die Frontend-Architektur und -landschaft angeht. PWA ist das Eine aber auch neue Technologien im Bereich Vue.js, react (usw.), Frameworks – in die Richtung – bieten dann natürlich viel mehr Möglichkeiten. Es wird sich zeigen, was da noch kommt, die nächsten Jahre, wenn die Systeme alle auf einer Headless-Architektur basieren und es einfach ist, die Frontends auszutauschen oder neu hinzuzufügen.