Guido van Rossum tritt zurück: Was kommt als nächstes für Python?

Der Python-Erfinder Guido van Rossum schockierte die Python-Welt am 12. Juli, als er als sogenannter BDFL (wohlwollender Diktator fürs Leben) der Sprache zurücktrat. Zu dieser Zeit zitierte er die Schärfe eines kürzlich vorgeschlagenen Python-Verbesserungsvorschlags für eine Sprachausdrucksfunktion als Motivation für seinen Ausstieg.

Aber van Rossum, der Python 1990 erfunden hat, ist weiterhin zuversichtlich, dass die Sprache ohne seine Führung gut weitergehen wird. Der 62-jährige van Rossum, ein leitender Ingenieur bei Dropbox in seiner täglichen Arbeit, sprach über seine Entscheidung, mit dem Redakteur bei Large Paul Krill fortzufahren.

: Warum bist du als BDFL zurückgetreten?

van Rossum: Der Teil fürs Leben war natürlich immer ein Witz, wie sicherlich auch der Teil der Diktatur. Ich habe wahrscheinlich den größten Teil eines Jahrzehnts mit dem Gedanken an den Ruhestand gespielt. Ich hatte ein paar gesundheitliche Probleme, von denen ich dachte, dass sie durch die ständige Gefahr verschärft wurden, immer die verantwortungsvollste Person in der Python-Community zu sein und den Leuten sagen zu müssen, wie man Dinge macht und ruhig bleibt und vernünftig ist und das erklärt Sprachphilosophie zum x-ten Mal.

Der Strohhalm, der dem Kamel den Rücken brach, war ein sehr umstrittener Vorschlag zur Python-Verbesserung, bei dem Leute, nachdem ich ihn akzeptiert hatte, zu sozialen Medien wie Twitter gingen und Dinge sagten, die mich persönlich wirklich verletzten. Und einige der Leute, die verletzende Dinge sagten, waren tatsächlich Python-Kernentwickler, daher hatte ich das Gefühl, dass ich nicht mehr das Vertrauen des Python-Kernentwicklerteams hatte.

: Dieser Vorschlag war PEP (Python Enhancement Proposal) 572. Können Sie über die Vorteile dieses Vorschlags sprechen und warum er so kontrovers war?

van Rossum: Der Vorschlag handelt von einer neuen Syntax, mit der Zuweisungen als Teil der Ausdrucksbewertung erfolgen können. Alles in allem ist es eine ziemlich kleine Ergänzung der Sprache. Es ermöglicht Menschen, wenn sie das Bedürfnis verspüren, Aufgaben in die Mitte eines Ausdrucks zu stellen. Es gibt viele andere Sprachen, die dies als Nebenfunktion haben. Ich bin mit C und C ++ vertraut. Soweit ich weiß, unterstützen es auch Java und JavaScript. Es ist eine ziemlich nischenhafte Syntax, aber sie kann in bestimmten Situationen das Schreiben und Lesen von Code erleichtern, indem Redundanz beseitigt wird.

Viele Leute hatten das Gefühl, dass sie die Designphilosophie von Python kannten und dass dieser Vorschlag nicht den Designprinzipien von Python entsprach. Ein weiteres Problem mit dem Vorschlag wurde von den Autoren des Vorschlags selbst verursacht. Die ersten Versionen hatten einige ernsthafte Probleme. Diese Probleme wurden dann zum Grund für Menschen, selbst Menschen, die mit der Grundidee einverstanden waren, gegen diese spezielle Version des Vorschlags zu stimmen. Es ist eine geringfügige syntaktische Änderung. Daran ist nichts Radikales. 

: In welcher Python-Version wird diese Funktion enthalten sein?

van Rossum: Es wird in Python 3.8 sein, das in anderthalb Jahren erscheinen wird.

: Wird es eine weitere BDFL geben? Wie wird das Governance-Modell für Python in Zukunft aussehen?

van Rossum: Leider kann ich Ihnen das nicht sagen, weil ich der Kernentwicklergruppe - etwa 100 oder 200 Personen, die Commit-Rechte haben oder in der jüngeren Vergangenheit Commit-Rechte hatten - die Hausaufgabe gegeben habe, herauszufinden, wie das neue Governance-Modell aussehen wird und welche Personen wird verantwortlich sein. Und sie haben sofort begonnen, dieses Problem anzugehen, da sie jedes andere Problem in der Python-Welt angehen. Dies ist eine lange Diskussion, bei der verschiedene Seiten nicht sofort zu einer Einigung kommen können.

Die einzige gute Nachricht, die ich zu diesem Zeitpunkt habe, ist, dass sie sich - ich glaube, sie waren sich einig - auf einen Zeitplan geeinigt haben, um hier zu einem Abschluss zu kommen. Die Frist für diese Vorschläge endet am 1. Oktober 2018. Bis zum 1. November 2018 sind sie meines Erachtens verpflichtet, einen Vorschlag für eine Governance-Struktur auszuwählen. Bis zum 1. Januar 2019 verpflichten sie sich dann, tatsächlich gewählt oder ernannt zu werden, oder wie auch immer in ihrem Governance-Dokument steht, die Personen, die verantwortlich sein werden.

Wenn es einen der Vorschläge gibt, dass es eine einzige BDFL geben wird, müsste dieser Vorschlag detailliert geschrieben werden, z. B. wie die BDFL ausgewählt wird und wie lange die Person das Kommando behält und wie sie angeklagt werden kann bis zum 1. Oktober. Vielleicht wird bis zum 1. Januar eine tatsächliche Person ernannt.

: Wer sind einige der Leute, die an Pythons Entwicklung beteiligt sind?

van Rossum: Es gibt eine Reihe von Kernentwicklern, die lauter sind als andere. Einer der nettesten Jungs mit einer wirklich langen Erfolgsbilanz ist Brett Cannon. Eine andere Person, die mir als Mentor zur Seite stand, ist Tim Peters. Er ist auch Autor von „The Zen of Python“, einem informellen Satz von Richtlinien für die Python-Entwicklung. Barry Warsaw ist auch einer der Hauptentwickler.

: Wie wird Ihre Beteiligung an dem Projekt aussehen? 

van Rossum: Ich werde in die Rolle eines regulären Mitwirkenden oder eines regulären Kernentwicklers springen. Ich werde gelegentlich Code schreiben und Code überprüfen. Ich werde versuchen, mich auf die Betreuung von Kernentwicklern zu konzentrieren, insbesondere von neuen Kernentwicklern, insbesondere von Frauen und Minderheiten, da die Vielfalt in der Kernentwicklergruppe eines meiner Ziele ist.

: Befürchten Sie, dass Ihre Abreise als BDFL einige Python-Anhänger abschrecken könnte?

van Rossum: Das glaube ich nicht. Python hat eine sehr gesunde Community. Das Kernteam hat eine sehr gesunde Dynamik. Ich wäre nicht zurückgetreten, wenn ich gedacht hätte, dass sie nicht darüber hinwegkommen und die Sprache über Jahrzehnte hinweg voranbringen könnten. Ich würde sagen, dass dies trotz des Auftretens ein kleiner Schluckauf ist, und wir freuen uns auf sehr erfolgreiche zukünftige Releases und eine angemessene schrittweise Weiterentwicklung des Entwicklungsprozesses.

: Wie hat sich der Python-Entwicklungsprozess in den letzten Jahren entwickelt? Wie sehen Sie die zukünftige Entwicklung?

van Rossum: Die Sprache ändert sich offensichtlich. Wir fügen der Sprache einige neue Funktionen hinzu, wir fügen der Bibliothek einige neue Funktionen hinzu. Die große Sache, die sich geändert hat, ist wahrscheinlich die Popularität der Sprache. Bis vor vielleicht fünf Jahren fühlte sich Python wie ein ziemlich kleiner Spieler.

Seitdem - wahrscheinlich hauptsächlich aufgrund der unglaublichen Popularität von Data Science und Python als Hauptwerkzeug dafür - ist der Druck auf die Kernentwickler, perfekte Entscheidungen zu treffen, möglicherweise gestiegen, aber die Art und Weise, wie Dinge im Allgemeinen gemacht werden, die Art und Weise, wie wir uns entwickeln und die Art und Weise, wie wir die Sprache veröffentlichen, war sehr stabil.

Wir haben Release Manager. Die Veröffentlichungen liegen bei größeren Veröffentlichungen etwa anderthalb Jahre auseinander. Für Bugfix-Releases liegen sie je nach Bedarf einige Monate bis vielleicht drei Viertel eines Jahres auseinander.

Wir haben den sehr stabilen Prozess für Python-Erweiterungsvorschläge. Vielleicht hat sich die Art und Weise, wie PEPs zu Punkten größerer Meinungsverschiedenheiten werden, mit zunehmenden Nachrichten über soziale Medien etwas geändert, aber im Allgemeinen war es, abgesehen von der Umstellung von Mercurial auf Git vor einigen Jahren, ein sehr stabiler Prozess, an dem nichts besonders Falsches ist es.