Bits&Chips

Guido van Rossum stopt als hoeder van Python

12 juli 2018 

Na meer dan vijfentwintig jaar geeft de bedenker van Python Guido van Rossum de brui aan zijn positie als ultieme beheerder van de opensource programmeertaal. Hij speelde al langer met het idee, maar de directe aanleiding is het accepteren van een taaltoevoeging die voor grote controverse zorgt binnen de Python-gemeenschap. Van Rossum geeft op de mailinglijst voor Python-ontwikkelaars aan moe te zijn na deze worsteling en een lange adempauze nodig te hebben. Hij blijft voorlopig nog wel betrokken als hoofdontwikkelaar, maar wil zich niet langer uitspreken over belangrijke beslissingen.

Guido van Rossum in 2014. Foto: Dan Stroud

De Haarlemmer Van Rossum begon Python begin jaren negentig als opensourceproject te ontwikkelen toen hij voor het Centrum Wiskunde en Informatica (CWI) in Amsterdam werkte. In 1994 maakte hij de overstap naar de VS om bij het Nist verder te werken aan Python. Later zette hij dit werk bij diverse bedrijven voort. In 2005 kwam hij in dienst van Google, waar hij de helft van zijn tijd aan zijn programmeertaal mocht besteden. In 2013 maakte hij met dezelfde voorwaarde de overstap naar Dropbox.

Al die tijd bleef Python gestaag aan populariteit winnen. De laatste jaren bekleedt de taal steevast een van de topposities in de verschillende populariteitslijstjes zoals de Tiobe-index (plek 4), de Stackoverflow Developer Survey (most wanted), de Pypl-index (plek 1) en de Github Octoverse (plek 2). De taal wordt ingezet voor uiteenlopende doeleinden, variërend van ‘lijm’ tot programmeertaal voor forse projecten. De populaire programmeerraamwerken voor ai zijn in de regel ook via Python aan te sturen.

De populariteit van Python bleef volgens de Pypl-index de laatste jaren steeds maar groeien.

Beneficient dictator for life

Van Rossum bleef al die tijd de hoofdontwikkelaar van Python en in 1995 werd hij door zijn mede-ontwikkelaars enigszins gekscherend ‘benoemd’ tot beneficient dictator for life (bdfl); iemand die de ontwikkeling van een opensource en democratisch ontwikkeld project overziet, maar de knoop kan doorhakken als er moeilijke beslissingen genomen moeten worden waar de gemeenschap niet uitkomt. Het bdfl-concept is in de opensourcegemeenschap breed overgenomen.

Van Rossum doet nu echter afstand van die titel, vlak nadat hij een besloten heeft om een taalvoorstel aan te nemen dat voor grote onenigheid binnen de Python-gemeenschap zorgt. Hij schrijft geen zin meer te hebben om ooit nog zo hard voor een voorstel te vechten. Bovendien wordt hij er ook niet jonger op. Hij is op het moment 62.

De splijtzwam is Python Enhancement Proposal 572. ‘Pep 572’ lijkt vrij onschuldig: het voegt de ‘:=’-operator toe om binnen een expressie een waarde toe te kennen aan een variabele:

while text := file.read():
    print(text)

Veel programmeertalen ondersteunen zo’n soort bewerking via een normale toekennings (een ‘=’). Dat is echter niet geheel ongevaarlijk, omdat de vergissing met een vergelijking (een ‘==’) makkelijk te maken is. Een programmeur die eigenlijk een vergelijking wilde maken, kan met een subtiele typefout zijn waarde juiste overschrijven (én de vergelijking ook nog eens niet maken). De Python-variant met dubbele punt moet dat zien te voorkomen.

Veel Python-programmeurs zijn echter bang dat de toevoeging de taal complexer maakt zonder een echt voordeel op te leveren; in de meeste gevallen scheelt het slechts een coderegeltje. De grote aantrekkingskracht van Python is altijd juist zijn eenvoud geweest. Bovendien vinden velen de notatie niet ‘des Pythons’, en zouden ze liever een ander manier van opschrijven zien. Het voorstel leide dan ook tot veel discussie. Uiteindelijk gebruikte Van Rossum gisteren zijn positie als bdfl om de toevoeging toch te accepteren.

Dat was gelijk ook zijn laatste actie in die positie, vandaag maakte hij bekend de functie - ondanks te toevoeging ‘for life’ - neer te leggen. Of en hoe hij opgevolgd wordt, laat hij over aan de andere hoofdontwikkelaars - in de eerste reacties lijkt het animo onder hen niet echt groot te zijn om iemand anders dan Van Rossum dezelfde rol toe te kennen. Maar hij wijst nog wel op de gedragsregels voor de gemeenschap, waarin staat dat Python open en met wederzijds respect voor alle betrokkenen ontwikkeld moet worden. Wat Van Rossum betreft is dat een onwrikbaar principe voor de toekomst van Python.

Abonneer direct op onze nieuwsbrief

abonneren

Digital signal processing

1 oktober - 15 oktober

Eindhoven

C and C++ secure coding

9 oktober - 11 oktober

Eindhoven