Porträt

Webpack-Core-Member Johannes Ewald: „Ein Open-Source-Projekt ist kein Startup“

Johannes Ewald, Webpack-Core-Member und Co-Founder von Peerigon (Foto: Judith Urban) 

Webpack ist ein vielgenutztes Tool in der Webentwicklung. Groß wurde das Open-Source-Projekt unter anderem durch Instagram. Johannes Ewald ist Mitglied im Kernteam. Dass es dazu kam, war dem Zufall – und seiner Bachelorarbeit – geschuldet.

Die Welt basiert auf Open Source“, vermeldete GitHub bei der letztjährigen Entwicklerkonferenz GitHub Universe. Am 2. Februar 2020 ließ das Unternehmen dann eine Momentaufnahme des Open-Source-Codes auf der Versionierungsplattform in einer umgebauten Kohlemine in der Arktis archivieren. Der Hype kommt nicht von ungefähr: Offen lizensierte Software ist aus den Entwicklungs-Workflows von Entwicklerteams weltweit nicht mehr wegzudenken, in vielen Bereichen hat deren Nutzervolumen das von proprietärer Software um ein Vielfaches überholt. Gute Gründe, sich an der Entwicklung zu beteiligen, gibt es viele: Reputation und Recognition innerhalb der Community, Networking und die Verbesserung der eigenen Coding-Skills sind nur die eigennützigsten davon. In den letzten Jahren und Monaten hat das Thema ordentlich Fahrt aufgenommen: Projekte wie GitHubs Good First Issues sollen Anfängern den Einstieg in die Thematik so leicht wie möglich machen; neue Features wie Codespaces zukünftig dafür sorgen, dass Entwickler sofort loslegen können.

Johannes Ewald gehört fast von Beginn an zum Core-Team von Webpack. Webpack ist ein sogenannter Bundler, ein Entwicklertool, das es ermöglicht, JavaScript-Dateien für die Nutzung im Browser zu bündeln und zu packen. Dass er Core-Member wurde, war purer Zufall, erzählt er im Gespräch mit t3n.

So entstand Webpack

Das Webpack-Repository wurde im März 2012 von Tobias Koppers erstellt. Er ist der Kopf hinter dem Projekt und legte den Grundstein. Seinen Ursprung fand das Projekt in einem Pull-Request an ein anderes Projekt namens Webmake. Koppers hatte ein Feature namens Code-Splitting an der Software vermisst – er programmierte es kurzerhand und stellte eine Anfrage, die Änderung in das Projekt einbringen zu dürfen – einen sogenannten Pull-Request. Der PR wurde im Grunde abgelehnt – er ist bis heute offen. Also forkte Koppers das Projekt und schrieb die Software nach seinen Vorstellungen um. „Von Webmake ist in Webpack heute eigentlich nichts mehr übrig, aber so hat das damals angefangen“, sagt Ewald.

Ewald selbst kam 2012 zu dem Projekt. Für seine Bachelorarbeit hatte der damalige Informatikstudent 2011 einen Bundler gebraucht: „Ich wusste damals nur nicht, dass das, was ich brauche, ein Bundler ist. Erstens gab es den Begriff damals noch gar nicht so richtig und zweitens wusste ich nicht, wonach ich suchen sollte.“

„Das war echt brutal“

Also schrieb Ewald sich ein eigenes Tool. „Das war zwar super-hacky, aber es hat funktioniert“, beschreibt er die Software der Marke Eigenbau. Für das Tool fand er auch in weiteren Projekten Verwendung, es zeigte sich allerdings schnell, „dass das so nichts wird“. Notgedrungen schaute Ewald sich nach Alternativen um. Bei der Recherche stieß er auf Browserify, einer der größten damals verfügbaren Bundler. „Ich hab das gefunden und mich geärgert, dass die kein Code-Splitting konnten.“ Weitere Recherchen förderten schließlich Webpack zutage, ein unbekanntes Projekt, das zu diesem Zeitpunkt mickrige 70 Sterne auf GitHub hatte. „Die Readme war zwar ein bisschen gewöhnungsbedürftig, aber eigentlich war das genau das, was ich gesucht hatte.“ Also probierte Ewald das Tool aus und öffnete auch gleich ein paar Issues – Hinweise auf Fehler, Bugs oder Wünsche an neuen Features oder Änderungen in einem Open-Source-Repository, die über die Versionsverwaltungsplattform GitHub geöffnet werden können –, die Koppers innerhalb kürzester Zeit fixte. „Das war echt brutal, wie schnell das ging“, erinnert Ewald sich. Das motivierte den Augsburger, sich weiter an dem Projekt zu beteiligen. Es war 2013, als Koppers ihm schließlich Admin-Rechte an dem immer noch relativ unbekannten Repository anbot.

„Instagram wurde von Facebook übernommen und dann ging’s ab“

Das sollte sich schlagartig ändern, als 2014 ein Entwickler aus Reacts Core-Team Webpack in einem Talk erwähnte. Unlängst war Instagram von Facebook gekauft worden. Bei der Entwicklung von instagram.com kam Webpack zum Einsatz und die beteiligten Entwickler sparten nicht mit Lob und der Aussprache von Empfehlungen für den Bundler – was dem Projekt ordentlich Auftrieb verschaffte.

„Ab da ging es voll durch die Decke“

„Ich hatte das Issue gelesen, dass Instagram jetzt Webpack verwendet und dachte nur so: Wow, jetzt geht’s ab“, kommentiert Ewald Instagrams Nutzung des Bundlers. „Ab da ging es dann voll durch die Decke. Es wurden so viele neue Issues aufgemacht, dass wir 2015 beschlossen, ein Team zu gründen.“ So stieß dann auch Sean Larkin zu Webpack, der in der Folge so etwas wie das öffentliche Gesicht des Projekts wurde. „Bestimmt die Hälfte der Leute denkt, dass Sean das Projekt gegründet hat“, sagt Ewald. Das Team um den Bundler profitierte davon, dass Larkin als englischer Muttersprachler keine Scheu hatte, auf Konferenzen zu sprechen. Die anderen Teammitglieder zogen es damals vor, sich im Hintergrund zu halten. Heute ist Koppers der Einzige, der sich in Vollzeit dem Projekt widmet. Er leistet den Großteil der Coding-Arbeit daran, ansonsten lebt das Projekt stark von sogenannten Drive-by-Pull-Requests, „also davon, dass Leute ein Problem haben, das bearbeiten und dann wieder verschwinden“, erklärt Ewald. Er selbst hat relativ viel an den Loadern in Webpack mitentwickelt, einem Ökosystem um den Bundler – Module, die es Webpack ermöglichen, auch andere Dateiformate zu verarbeiten. Momentan passiere da aber nicht mehr allzu viel – er programmiere eigentlich nur noch wenig, was Webpack angehe.

Ein Open-Source-Projekt ist kein Startup

Für Open-Source-Projekte sei das typisch, so Ewald. „Meistens gibt es einen oder zwei Maintainer, die einen Großteil der Arbeit an einer Codebase übernehmen.“ Er selbst und andere Mitglieder des Kernteams arbeiten eher an kleineren Features, die sich gegenseitig nicht allzu sehr beeinflussten. Ein Open-Source-Projekt ist kein Startup mit wöchentlichen Standups, in dem die Mitarbeiter eine 40-Stunden-Woche in Sprints an einem Produkt arbeiten. „Wir sind keine Firma, die eine klare Strategie verfolgt“, macht Ewald deutlich. „Insgesamt ist Webpack immer noch von einer gewissen Bastlermentalität geprägt.“ Ganz ohne Koordination kommt das Projekt jedoch nicht aus. Zur Organisation und Absprache untereinander nutzt das Kernteam einen Slack-Channel, zusätzlich gebe es natürlich GitHub Issues. Was dem Projekt ein bisschen fehle, seien „Leute, die das alles koordinieren. Da gibt es schon Verbesserungsbedarf“, gibt der Entwickler zu.

Den Versuch, das Team über wöchentliche Calls besser zu organisieren, gaben die Maintainer relativ schnell wieder auf. „Am Ende gab es da meistens nicht allzu viel zu besprechen, weil jeder von uns so unterschiedlich viel Zeit investieren konnte. Die meisten von uns haben neben der Arbeit an Webpack ja noch andere Baustellen.“ Auch Ewald selbst ist mit seiner beruflichen Laufbahn ausreichend eingespannt. Zwischenzeitlich hat der Augsburger mit Freunden eine Agentur gegründet. „Darauf liegt einfach mittlerweile mein Hauptaugenmerk“, sagt er.

Open Source aus Überzeugung

Für Webpack spricht er heute regelmäßig auf Konferenzen, seine Agentur Peerigon bietet Workshops im Umgang mit dem doch ziemlich komplexen Entwicklertool an. Die Liebe zu offen lizenzierter Software hat der Gründer trotz seines mittlerweile aus Zeitgründen etwas reduzierten Engagements für das Projekt nicht verloren. Erst kürzlich wurde von Peerigon ein Tool veröffentlicht, das Webentwicklern zu mehr Ordnung in der Skript-Section der package.json ihrer Projekte verhelfen will – Pull-Requests, Feedback und sonstige Beteiligung aus der Community sind natürlich herzlich willkommen.

Ebenfalls interessant:

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung