Ledende Python-coreudvikler: Eksplosion i popularitet har øget presset

Foto : robdowner / Bigstock

Ledende Python-coreudvikler: Eksplosion i popularitet har øget presset

Pythons eksplosive vækst lægger pres på de i forvejen pressede coreudviklere, fortæller medlem af Pythons Steering Council. Han efterlyser mere høflighed fra open source-brugere. 

I slutningen af sidste år kunne GitHub meddele, at Python for første gang overgik Java som det foretrukne sprog på platformen. Dermed rykkede Python op på en andenplads – kun overgået af JavaScript. 

Den eksplosive vækst hænger tæt sammen med et hastigt voksende data science-miljø. Og i en undersøgelse fra JetBrains fremgår det, at data science nu er den mest udbredte grund til at bruge Python. 

Det er en vækst, man kan mærke i maskinrummet, men ikke helt på den måde, man kunne ønske sig, fortæller Victor Stinner. Han er en af fem personer i Pythons Steering Council. Og formentlig den eneste person, der arbejder fuld tid på at vedligeholde sproget, som forskere såvel som virksomheder bruger til at bygge deres kritiske dataprojekter.

»Desværre tror jeg ikke, at den stigende popularitet betyder, at flere folk bidrager til Python,« fortæller han.

Striden om PEP 572

Til gengæld er presset på dem, der tager beslutninger om sprogets udvikling, mærkbart øget. Et pres, der i 2018 fik Python-skaberen Guido van Rossum til at trække sig som chef for projektet efter næsten 30 år som 'Benevolent Dictator for Life'. 

»Vi havde en lang diskussion med omkring 500 beskeder om en specifik operatør. Guido tog en beslutning, som fik en masse kritik overalt på internettet. Det var meget voldsomt,« forklarer Victor Stinner over en videochat fra Frankrig. 

Operatøren, der skabte furore, er den såkaldte assignment-expression (:=), som med PEP 572 (Python Enhancement Proposal) blev en del af Python. En beslutning, som faldt mange udviklere for brystet. 

Guido van Rossum ville stadig gerne arbejde på Python, men han ville ikke udsættes for det pres igen, forklarer Victor Stinner. Løsningen blev Pythons nye styrende råd, det såkaldte Steering Council. 

»På denne måde er ansvaret delt. Vi kan bedre bære, når vi laver fejl. Det er en del af løsningen på, at Python bliver mere populær.«

Færre folk, mere kompleksitet

Med 30 år i baggagen er det nemt at tro, at Python er så godt som færdigudviklet. Men det er langtfra tilfældet, fortæller Victor Stinner. 

»I Python er der ingen grænser for det arbejde, som kan lægges. Hvis du vil bruge hele din uge på at arbejde på Python, er der rigeligt at lave. Selv hvis Python er stabil, skal den vedligeholdes, og vi skal sørge for, at den fungerer på de forskellige platforme.« 

Samtidig er det svært at få nye kvalificerede kræfter ind i folden, der ifølge GitHub-statistik talte omkring 34 aktive coreudviklere i slutningen af 2017. 

I 2017 udregnede Victor Stinner, at ni nye core-udviklere var kommet til mellem 2015-2017. I samme periode voksede kodebasen med næsten 100.000 linjer og listen over åbne issues gik fra 5.000 til 6.200. 

»Det er meget svært at begynde at bidrage til Python. Python er et meget gammelt projekt, og vi går meget op i stabiliteten og afviser mange ændringer, som ikke er gode nok til vores kvalitetsstandard. Det betyder også antallet af personer, der er i stand til at bidrage er lavt,« siger Victor Stinner, der blandt andet mener, at rekrutteringen af nye coreudviklere har haltet. 

»Vi er ikke altid gode til at løfte dem, der kan, op. Hvis nogen laver noget, som er god kvalitet, er vi ikke hurtige nok til at give dem feedback. Hvis det tager seks måneder at få feedback, er det meget sandsynligt, at personen er gået videre til et andet projekt,« siger han og fortsætter: 

»Det vanskelige ved Python er, at det er et kæmpe projekt. Og hvis du ikke hjælper folk, bliver de nemt demotiveret, og så rykker de videre.«

Hvis man gerne vil bidrage til Python, kan man med fordel begynde med at bidrage til mindre projekter og opbygge rutinen den vej igennem, anbefaler Victor Stinner. 

Guido van Rossum udgav for nylig denne guide til udviklere, der vil bidrage til Python. 

Kan ikke sove mindre

I februar 2018 måtte Victor Stinner selv sande, at han havde brug for hjælp. Ved siden af sit udviklerjob hos Red Hat brugte han sine aftener, weekender og nætter på at vedligeholde Python. Det skabte konflikter med familien, og Victor endte med at blive udbrændt. 

»Jeg trådte et skridt tilbage for at forstå, hvordan jeg kunne bidrage til Python. Jeg elsker Python-projektet. Og jeg elsker at bidrage. Men jeg kan ikke fikse alle problemer selv, og jeg kan ikke sove mindre,« forklarer han. 

»Jeg var nødt til at trække mig fra tekniske diskussioner, for de dræner al min energi. Det kan være svært at forstå for folk, der ikke er involveret i projektet. Sommetider får jeg at vide, at jeg overreagerer, men Python er en stor del af mit liv, og der er mange følelser forbundet med det også.«

Efter en tænkepause fik Victor Stinner, der har været med til at vedligeholde Python i 10 år, ændret sin Red Hat-stilling til udelukkende at vedligeholde Python. Samtidig begyndte han at fokusere mindre på teknik og mere på at fungere som mentor for nye udviklere for at løfte dem til et niveau, hvor de kan indgå i coreudvikler-holdet. Med den strategi har han nu fået forfremmet seks personer til coreudvikler – med alle de rettigheder og pligter, der følger med. 

Ubrugelig støj

Bedre rådgivning til aspirerende coreudviklere skal være en del af fremtiden for Python, vurderer Stinner. Men lige så kritisk bliver det at få fordelt den stigende arbejdsmængde ud på personer, der ikke er coreudviklere.  

»Mit hovedmål for Python er at involvere flere mennesker i processen og gøre færre opgaver begrænset til coreudviklere. Der er mange opgaver, som kan distribueres,« siger Victor Stinner og fortsætter: 

»Ofte er det sådan, at folk fornemmer, at deres review ikke vil blive taget seriøst, fordi de ikke er coreudvikler. Og nogle coreudviklere har stadig den opfattelse, at reviews fra 'fremmede' er ubrugelige og bare er støj. Det er et mindset, jeg gerne vil ændre.«

»Nogle gange spørger folk, om de har lov til at foreslå en idé til Python. Reelt skal de bare skrive sig på en mail-liste, foreslå deres idé, og hvis nok kan lide den, kan den blive implementeret på nogle måneder. Du behøver ikke bevise, at du er en god programmør. Du behøver ikke bevise dine evner. Hvis ideen er god, tager vi den.«

Problemløsende robotter

Ligesom coreudvikler-holdet har brug for at være mere inkluderende, har mange brugere af open source også brug for et skift i mindset, mener Victor Stinner. 

»Vi ser et større pres mellem brugere og maintainere. For ti år siden var Linux stadig nyt, og folk var ikke vant til det. I dag er det de facto-standard for containere og servere. At bruge open source er blevet helt normalt. Folk tænker på det som en gratis tjeneste, og de tænker ofte ikke over, hvorfor de er i stand til at få så meget kode gratis,« siger han og fortsætter: 

»Når noget går i stykker, forsøger de ikke at være høflige eller bede en maintainer pænt om at se på problemet. De siger: 'Du skal fikse det nu'. Folk er ikke klar over, at der sidder en enkelt maintainer, som arbejder aftener og weekender og gør alting selv. Det er ikke så slemt for Python lige nu. Men jeg ser oftere og oftere, at folk, der vedligeholder mindre projekter, ender med at give op og lægge et projekt ned.«

Opfordringen fra Stinner er simpel: Prøv at være mere respektfuld over for personer, der vedligeholder open source-projekter. 

»Forstå, at folk er mennesker og ikke problemløsende robotter.«

Victor Stinner
Victor Stinner
Illustration: Victor Stinner

Victor Stinner er Senior Software Engineer for Red Hat i Marseille, Frankrig. 

Stinner bidrog første gang til Python i 2005 og har været coreudvikler siden 2010. Hans bidrag til Python tæller blandt andet 11 PEPs og kan ses her