
Einblicke in die Arbeit von Sovereign Tech Fellow Hugo van Kemenade
Von Theresa Röcher
In News, Fellowship
Hugo van Kemenade ist eine feste Größe in der Python-Community. Die Projekte, die er betreut, werden monatlich über 280 Millionen Mal heruntergeladen, darunter auch Bibliotheken, die bei NASA-Missionen zum Einsatz kommen. Im Interview zeigt Hugo, wie sich seine Passion für Contributions zur zukunftsfesten Mitgestaltung für das gesamte Python-Ökosystem entwickelt hat.
Erzähl uns was zu deinen Hintergrund. Wie bist du zu Open Source gekommen?
Ich bin seit etwa 20 Jahren in Open-Source-Projekten aktiv. Angefangen habe ich 2005 mit Apps für Nokia-Symbian-Handys. Eine meiner Apps, mit der man SMS per Morsecode verschicken konnte, wurde sogar auf Boing Boing vorgestellt.
2008 begann ich, ein Open-Source-Projekt namens Mobbler zu nutzen, einen Last.fm-Scrobbler und Radio-Player, und später auch zu betreuen. Dabei habe ich viele zentrale Fähigkeiten moderner Open-Source-Arbeit gelernt: Features und Fixes beizusteuern, Triage, Patches zu prüfen, Releases zu planen und die Community zu begleiten.
GitHub hat es viel leichter gemacht, Projekte zu finden und aktiv mitzugestalten. Meinen ersten Pull Request auf GitHub habe ich 2012 eingereicht und damit einen Fehler in einem Python-Skript behoben, das doppelte Dateien findet.
Im Oktober 2013 entdeckte ich einen Bug in der Python Bildverarbeitungsbibliothek, Pillow. Ich dachte mir: „Das ist Open Source, ich sollte das melden!“ Und dann: „Es ist Open Source, ich kann den Fehler auch selbst beheben!“ Daraufhin habe ich angefangen maßgeblich zur Test-Suite und zur CI-Infrastruktur (Continuous Integration infrastructure) von Pillow beigetragen. Im Juni 2014 bin ich dem Pillow-Team als Maintainer beigetreten, mit dem Ziel, die Codebasis zu modernisieren – indem ich ungenutzte Komponenten entfernte und veralteten Code ersetzte.
Pillow entstand 2010 als Fork der Python Imaging Library (PIL), die bereits 1995 entwickelt wurde. Heute ist Pillow eine zentrale Bibliothek für Data Science, Visualisierung und Künstliche Intelligenz. Durch die breite Nutzung kommt die Bibliothek inzwischen auf etwa 140 Millionen Downloads pro Monat.
Im Jahr 2019 übernahm ich die Verantwortung für die vierteljährlichen Releases von Pillow und suchte nach Möglichkeiten, den Prozess zu verschlanken und zu automatisieren. Damals lief vieles noch ziemlich manuell und langsam ab – ich musste Teile der Software selbst bauen, Dateien von Hand herunterladen, jemanden in Kalifornien bitten, die Windows-Version vorzubereiten, wegen der Zeitverschiebung warten, bis diese Person wach war, und am Ende alles eigenhändig hochladen. Heute übernimmt die CI den gesamten Ablauf. Das macht die Releases reibungsloser, sicherer und für alle Maintainer*innen vollständig reproduzierbar.
Im Laufe der Zeit habe ich mehrere zurück gelassene Projekte übernommen, die Maintanance benötigten. Ich habe ihre Release-Prozesse standardisiert und automatisiert, um Beiträge zu erleichtern.
Im Dezember 2019 begann ich, zu CPython beizutragen, trat im Januar 2022 dem Triage-Team bei und wurde kurz darauf zum Core-Entwickler gewählt. Letztes Jahr hatte ich die Ehre, als Release Manager für Python 3.14 und 3.15 ausgewählt zu werden. Dabei konzentriere ich mich auf Verbesserungen im gesamten Ökosystem – etwa indem ich populäre PyPI-Pakete auf Kompatibilität mit der neuesten Python-Version überprüfe, Korrekturen für veraltete Funktionen (Deprecations) in CPython einreiche und Websites pflege, die die meist geladenen Pakete sowie deren Unterstützung für Free-Threaded Python erfassen.
Seit Januar 2022 bin ich als Editor für Python Enhancement Proposals (PEPs) tätig und betreue dabei den administrativen und redaktionellen Prozess rund um die PEPs. Außerdem leite ich die monatliche Documentation Working Group und organisiere gemeinsam mit anderen die Helsinki Python Meet-ups. Für meine Beiträge zum Ökosystem wurde ich 2020 mit dem Google Open Source Peer Bonus ausgezeichnet und 2023 zum Fellow der Python Software Foundation ernannt.
Erzähl uns mehr über die Projekte, an denen du während des Fellowships arbeiten wirst. Warum sind sie wichtig?
Ich arbeite hauptsächlich an CPython, der Standardimplementierung der Programmiersprache Python.
Laut dem TIOBE Programming Community Index ist Python derzeit die beliebteste Programmiersprache der Welt. Ihre leicht verständliche Syntax und Vielseitigkeit machen sie sowohl für Einsteigende zugänglich als auch leistungsfähig genug, um umfangreiche produktive Systeme zu betreiben. Pythons Einsatzgebiete reichen von Bildung und wissenschaftlicher Forschung über Full-Stack-Webentwicklung bis hin zu Machine Learning, KI und Automatisierung und darüber hinaus.
Python ist zudem fest in der akademischen Welt verankert, sowohl als Einführungssprache für Programmieranfänger als auch als wichtiges Werkzeug in MINT-Fächern und der Forschung. So nutzte das Team des Event Horizon Telescopes Python, um das erste Bild eines Schwarzen Lochs zu erstellen, während die NASA Python für Bodensteuerung, Flugmodellierung und Datenverarbeitung des Ingenuity-Hubschraubers auf dem Mars einsetzte. Besonders bemerkenswert: Beide Projekte setzten auch Pillow ein, die Bibliothek, die ich betreue.
Neben CPython und Pillow unterstütze ich die Wartung anderer weit verbreiteter Projekte wie, termcolor, humanize und PrettyTable – die zusammen monatlich über 280 Millionen Mal heruntergeladen werden. Das unterstreicht ihre breite Nutzung und ihre zentrale Bedeutung in Bereichen wie Bildverarbeitung, Deep Learning, Monitoring und Webentwicklung.
Ich trage außerdem zu datengetriebenen Initiativen wie Top PyPI Packages, Python Readiness und Free-Threaded Wheels bei, die wichtige Informationen zum Ökosystem besser zugänglich machen. So veröffentlicht Top PyPI Packages monatliche Datenexporte aus BigQuery und liefert wertvolle Einblicke, die sowohl in der wissenschaftlichen als auch in der industriellen Forschung häufig genutzt werden.
Was hat dich zum Sovereign Tech Fellowship gebracht?
Ich habe zum ersten Mal vom Sovereign Tech Fellowship im großartigen Sustain Podcast gehört, und es war genau das, wonach ich gesucht hatte! Eine große Herausforderung in Open-Source besteht darin, abends und am Wochenende ungestörte Zeit zu finden. Freie Zeit für Projekte zu haben, ermöglicht es, größere Arbeitspakete zu übernehmen und für die Unterstützung anderer da zu sein.
Als Release Manager für Python 3.14 und 3.15 gehört es zu meinen Aufgaben, regelmäßig neue Versionen aus jeder Phase des Software-Lebenszyklus zu veröffentlichen. Während der Release-Phasen verfügbar zu sein, ermöglicht schnellere Reaktionen auf Probleme und eine stärkere Fokussierung auf die Release-Automatisierung, zum Vorteil für mich selbst und alle anderen Release Manager.
Ich arbeite mit mehr Zeit an der Unterstützung von anderen Beitragenden durch bessere Dokumentationen und Prozessoptimierungen. Dazu habe ich Skripte entwickelt, die bei der Triage helfen, und sie in Dashboards verwandelt, welche die verantwortlichen Teams unterstützen. So können Fehler und Sicherheitslücken entdeckt werden, die zwar bereits behoben, aber noch nicht in ältere Versionen zurückportiert wurden.
Ähnliche Arbeiten führe ich auch bei Projekten außerhalb von CPython durch. Dabei konzentriere ich mich vor allem auf Fehler- und Sicherheitsbehebungen, Automatisierung, schnellere Triage und darauf, dass diese Projekte langfristig gut weiterlaufen.
Zudem kann ich mehr Zeit fürs Mentoring und Community Management aufbringen, zum Beispiel durch die Moderation der Documentation Workgroup, für mehr Beteiligung aus der Community oder für den Aufbau einer neuen User Success Workgroup.
Ich blogge und poste in den sozialen Medien, um darüber zu informieren, was in der Core-Entwicklung passiert und wie die Community bei Tests von Vorabversionen und neuen experimentellen Funktionen mithelfen kann.
Was macht die Zusammenarbeit in Open-Source-Projekten für dich besonders, und was gefällt dir am meisten daran?
Es macht Spaß, einen Fehler nicht nur zu melden, sondern ihn direkt zu beheben. So profitieren alle, die die Software verwenden. Es motiviert mich sehr zu wissen, dass Menschen die Software nutzen, an der ich arbeite, und zu hören, was für großartige Dinge sie damit umsetzen.
Die meisten Beiträge laufen asynchron über Issue Tracker oder Chat-Plattformen, gelegentlich auch per Video-Call aber am schönsten ist es, die Leute auf Konferenzen oder bei Sprints persönlich zu treffen.
Was machst du, wenn du nicht an Open Source arbeitest?
Ich fahre leidenschaftlich gern Fahrrad und pendle das ganze Jahr über durch Helsinki. Während des Lockdowns habe ich begonnen, sogenannte Kartenkacheln zu „sammeln“: OpenStreetMap-Kacheln haben bei einem bestimmten Zoomlevel etwa einen Kilometer Seitenlänge, und das Ziel ist, möglichst viele davon aus eigener Kraft zu erreichen.
Das ist natürlich eine endlose Aufgabe, die immer schwieriger wird, aber zum Glück mag ich Karten, Radfahren und neue Orte entdecken! Das Ganze funktioniert dank des finnischen Jedermannsrechts („jokaisenoikeus“), das es erlaubt, sich frei in der Natur zu bewegen. Manchmal muss ich mein Rad durch Wälder oder Sümpfe tragen oder bis zum Winter warten, um übers zugefrorene Meer zu einer Insel zu fahren – nur um noch ein weiteres Kästchen zu „erobern“. Bisher habe ich 2.925 Kacheln gesammelt; mein größtes zusammenhängendes Quadrat umfasst 28×28 Felder.
Vernetze dich mit Hugo
Wir sind dankbar, dass Hugo Teil der ersten Kohorte des Sovereign Tech Fellowships ist und für seine unermüdlichen Beiträge zum FOSS-Ökosystem. Wenn du an Hugos Arbeit interessiert bist, kannst du die unten gelisteten Repositories aufrufen und seinen eigenen Ankündigungs-Blogbeitrag zum Sovereign Tech Fellowship lesen.

Hugo auf der FOSS Backstage im März 2025