Get in touch
Jeden Montag halten wir ein Weekly mit allen unseren Mitarbeitern ab, in dem wir Themen besprechen, die für alle bei AOE von Interesse sind. Obwohl dies ein internes Ereignis ist, möchte ich in diesem Fall eine Ausnahme machen und über den Wert von Open Source für AOE sprechen. Wir setzen komplett für die Idee von Open Source ein und ich möchte in diesem Blogbeitrag erklären, warum es für Unternehmen sinnvoll ist, einen Beitrag zur Open Source Community zu leisten und warum wir unsere Entwickler dazu ermutigen, dies so oft wie möglich zu tun.
AOE hatte seinen Ursprung in der TYPO3-Community; Die ersten AOE-Projekte basierten auf dem Open Source CMS TYPO3. Bis heute betreiben viele unserer größten Kunden wie congstar ihre Enterprise-CMS-Plattform auf TYPO3. AOEs Ziel war es, der weltweit größte TYPO3-Anbieter zu werden, und das CMS half uns dabei, als Unternehmen schnell zu wachsen. Im Laufe der Zeit wollten wir unsere Präsenz über TYPO3 hinaus ausbauen, da sich das Geschäftsumfeld zunehmend auf E-Commerce-Plattformen verlagerte. Aus diesem Grund begannen wir, mit der E-Commerce Software Magento zu arbeiten.
Während dieser Zeit haben wir viel Zeit damit verbracht, mit der TYPO3-Community zu arbeiten und unseren Beitrag beizutragen. Viele unserer Entwickler haben Code in die Community eingebracht, entweder als Erweiterung oder als umfangreicheren Code für das eigentliche Core. Unsere Mitarbeiter waren auch in der Magento-Community aktiv.
Als wir bei AOE für unsere Projekte Open-Source-Software eingesetzt haben, halfen wir auch den Communities, die nächsten Schritte zu unternehmen, um Mainstream-Enterprise-Funktionen zu entwickeln. Vor allem, weil AOE sich auf Enterprise-Projekte konzentrierte, entwickelten wir viel Code, den große Unternehmen wirklich brauchten, wie Workflows, Skalierbarkeit, Enterprise-Funktionen usw. AOE entwickelte sich von einem TYPO3-Unternehmen zu einem E-Commerce-Unternehmen und Open-Source-Anbieter.
Warum fühlen wir uns also Open Source verpflichtet? Manche halten Open Source für kostenlos, d.h. User müssen kein Geld dafür bezahlen. Manche betrachten Open-Source-Software sogar als „gut“ und proprietäre Software als „böse“. Andere sehen Open Source als eine Art „Religion“ an. Während alle diese Punkte bis zu einem gewissen Grad ihre Gültigkeit haben mögen, vermittelt keiner von ihnen genau oder vollständig, warum wir an die Kraft von Open Source glauben.
Es gibt viele Gründe, warum wir Open Source im Vergleich zu proprietärer Software bevorzugen, selbst wenn der Verkauf von proprietärer Software höhere Umsätze generieren würde. Im Grunde gibt es vier Hauptgründe dafür, warum wir bei AOE Open Source bevorzugen:
Erstens geben Kunden bei Open Source weniger Geld für die Software selbst aus. Daher gibt es mehr Budget für die Arbeit an dem Projekt, als wenn Sie höhere Gebühren an den Softwareanbieter zahlen. Das Ergebnis ist ein besseres Nutzenversprechen für den Kunden.
Der zweite Aspekt ist, dass wir stark an Kollaboration glauben. Wir glauben, dass man gemeinsam bessere Dinge schaffen können, als wenn man etwas alleine macht. Selbst in einem wachsenden Unternehmen mit großartigen Menschen und viel Know-how sind Sie in einem gewissen Maß beschränkt. Diese Einschränkungen können durch eine starke Gemeinschaft behoben werden. Dies ist der Grundgedanke von Open Source – gemeinsam Werte schaffen.
Ein wichtiger geschäftlicher Aspekt, insbesondere für größere Unternehmen, die maßgeschneiderte Software benötigen, ist Flexibilität und Kontrolle der Software. Wir hatten schon oft Kunden, die eine Migration von proprietärer Software zu Open Source-Software wollten. Auf die Frage „warum“ antworteten sie meist, dass sie sich eingesperrt fühlten, da sie die Software nicht an ihre Bedürfnisse anpassen konnten. Weitere Probleme waren, dass sie auf Software-Releases des Anbieters warten oder Geld für lang verzögerte Updates bezahlen mussten usw. Sie fühlten sich gefangen. In der Branche wird dies als „Vendor-Lock-in“ bezeichnet. Open-Source-Software bietet Kunden viel mehr Flexibilität und Kontrolle, um die Software zu entwickeln, die sie möchten.
Der letzte Punkt ist ein bisschen idealistisch, aber wir denken, dass es cool ist, in einer globalen Community an einem Open-Source-Projekt zu arbeiten, anstatt gegeneinander um Kunden und Einnahmen zu konkurrieren. Auch wenn dies geschäftlich gesehen am wenigsten wichtig ist, ist es für viele Entwickler der wichtigste Aspekt: ihre Freizeit damit zu verbringen, zur Weiterentwicklung einer Community beizutragen. Wenn Sie jemals an einer Open-Source-Konferenz teilgenommen haben, wissen Sie wahrscheinlich, wie angenehm es ist, bei einem Projekt in einer großen globalen Community zusammenzuarbeiten – es macht einfach Spaß und schafft eine großartige Atmosphäre. Es ist im Grunde eine natürliche Sache, Menschen wollen zusammenarbeiten und einander helfen, anstatt darüber nachzudenken, „wie können wir mehr verkaufen?“
Neben diesen vier Kerntreibern für Open Source gibt es einen weiteren großen Vorteil: In den letzten zehn Jahren stammen die meisten Software-Innovationen aus der Open-Source-Welt. All die „State-of-the-Art“ Dinge, die wir heute benutzen, wie Docker, Kubernetes, Akka, Go usw., haben nur die Zugkraft gewonnen, weil sie auf Open-Source-Basis entwickelt wurden. Open Source ist unserer Meinung nach die dominierende Software im Web. Alle Akteure der alten Schule sind in Sachen Innovation zurückgelassen worden.
Was können wir also über unsere Beiträge zu Open-Source-Communities sagen? Wenn Sie unseren Account auf GitHub anschauen, können Sie sehen, dass wir zu vielen verschiedenen Projekten beitragen, wie Magento, Solr, ViewJS, jQuery, Jenkins etc. Bis heute haben wir 262 Projekte und 88 Got Commits in 2017, mit einer Gesamtsumme von 2.432 Sternen.
Wenn Sie sich die Aktivitäten genauer ansehen, können Sie sich ein Diagramm mit Commits auf GitHub anzeigen lassen. Wenn Sie die Commits der letzten acht Jahre im Detail überprüfen, sehen Sie zwischen 2013 und 2016 eine Vielzahl von Commits in der Community. Leider mussten wir 2017 einen deutlichen Rückgang verzeichnen. Natürlich gibt es Gründe dafür. Zum Beispiel hatten wir 2017 mit unserem umfangreichen OM³-Projekt ein sehr arbeitsreiches Jahr aus einer Business-Perspektive – vielleicht hatte niemand die Zeit, Code zu veröffentlichen. Dennoch möchten wir betonen, dass sich dies nicht zu einem Trend entwickeln, sondern ein einmaliger Effekt bleiben sollte.
Einige unserer Projekte waren eher kleine, meist interne Projekte (zum Beispiel haben wir unser eigenes Meal-Tool entwickelt, mit dem alle im Unternehmen jeden Tag ihr Mittagessen buchen können), aber wir haben auch zu einigen größeren Projekten beigetragen, wie zum Beispiel Searchperience oder AOE Tech Radar. Darüber hinaus planen wir, in naher Zukunft unser FlaminGO-Projekt Open-Source zu machen. Es ist auch großartig zu zeigen, dass wir weiterhin zu bestehenden Stacks beitragen, nicht nur zu unserer eigenen Software.
Wenn wir uns das erste Quartal 2018 ansehen, haben wir eine gute Menge an Commits, es ist fast die gleiche Performance wie der Durchschnitt von 2013 bis 2017. Aber, da sich die Zahl der AOE-Mitarbeiter nahezu verdreifacht hat, ist die Commits Performance relativ flach. Dies bedeutet entweder, dass wir im Durchschnitt nicht mehr so viel beitragen, oder dass die Beiträge immer noch von demselben Kern von Entwicklern stammen wie zuvor.
Wir kennen die Gründe dafür noch nicht wirklich. Vielleicht gibt es nur einige offene Fragen, die beantwortet werden müssen, und wir möchten einige potenzielle Fragen unsere Mitarbeiter beantworten.
Ein Aspekt, der auch für unsere Kunden interessant sein könnte, ist die Frage des Konflikts im Vergleich zum Potenzial, wenn es um die Veröffentlichung von Software geht. Dies ist natürlich ein sehr wichtiges Thema, denn Sie können nicht einfach einen kompletten Software-Stack wie unsere OM³-Lösung über Open Source zugänglich machen. Dies wäre aus betriebswirtschaftlicher Sicht nicht sinnvoll und würde Wettbewerbern auch die Möglichkeit bieten, auf dieser Basis eigene Lösungen zu entwickeln. Das ist natürlich nicht im Sinne des Erfinders und wir müssen unsere Lösungen in gewissem Maße schützen.
Andererseits bestehen unsere Softwarelösungen hauptsächlich aus Open-Source-Software, genauer gesagt aus Open-Source-Stacks, die wir erweitert haben. Es sieht also so aus, als würde AOE diese Open Source-Stacks als neues Produkt verpacken und verkaufen, aber genauer gesagt ist es so, dass wir ein Software-as-a-Service-Angebot auf Basis von Open-Source-Technologie entwickeln. Mit diesem Ansatz können wir eine Vielzahl von Prozessen und Dienstleistungen zur Verfügung stellen und so unseren Kunden noch mehr Wert bieten.
Es ist daher wichtig, dass Entwickler sorgfältig überlegen, was sie zur Gemeinschaft beitragen können und was für das Projekt schädlich sein könnte. Kurz gesagt, es ist nicht sinnvoll, das gesamte Softwarepaket in die Community einzubringen. Es ist jedoch nützlich, bestimmte Teile dessen, was wir gerade für unsere Lösungen erstellen, zu veröffentlichen, damit der Code auch für andere hilfreich sein kann. Ein gutes Beispiel hierfür ist unser FlaminGO-Projekt, bei dem es sich um ein GO-basiertes E-Commerce-Framework von AOE handelt. FlaminGO kann für andere Unternehmen, die an E-Commerce-Projekten arbeiten, sehr hilfreich sein. Auf der anderen Seite liegt es im Interesse von AOE, dass andere Entwickler das FlaminGO-Framework nutzen und dazu beitragen, das System zu verbessern.
Sollten Sie sich fragen, „Darf ich das in der Community veröffentlichen?“, Ist der beste Weg, um das herauszufinden, die Beantwortung der Frage: „Gefährde ich das, was wir erreichen wollen, oder helfe ich, die verschiedenen Teile der Lösung zu verbessern?“
Sich in Open Source-Communities zu engagieren, erfordert zusätzliche Zeit von Entwicklern. Es ist klar, dass Sie auch eine bestimmte Menge an Dokumentation bereitstellen müssen, wenn Sie Code zur Community beitragen. Außerdem könnten Leute zu Ihnen kommen und Sie darum bitten, die Software an ihre spezifischen Bedürfnisse anzupassen. Einfach gesagt, es braucht Zeit, Engagement und Anstrengung, um dazu beizutragen und es gut zu machen.
Zusammenfassend möchten wir unsere Mitarbeiter motivieren, ihre Beiträge zu Open-Source-Communities auszubauen. Wir möchten betonen, dass AOE weiterhin an die Philosophie hinter Open Source glaubt; Es ist immer noch ein wichtiger Teil unserer DNA und wir denken, dass es sehr wichtig ist, nicht nur von der Open Source Community zu profitieren, sondern auch etwas zurückzugeben.