Guido van Rossum démissionne: quelle est la prochaine étape pour Python

L'inventeur de Python Guido van Rossum a choqué le monde Python le 12 juillet lorsqu'il a démissionné en tant que soi-disant BDFL (dictateur bienveillant à vie) du langage. À l'époque, il a cité l'acrimonie à propos d'une récente proposition d'amélioration de Python pour une capacité d'expressions linguistiques comme motivant sa sortie.

Mais van Rossum, qui a inventé Python en 1990, reste convaincu que le langage continuera très bien sans son leadership. Ingénieur principal chez Dropbox dans son travail de jour, van Rossum, 62 ans, a évoqué sa décision de passer au rédacteur en chef Paul Krill.

: Pourquoi avez-vous démissionné en tant que BDFL?

van Rossum: La partie pour la vie a toujours été une blague, bien sûr, tout comme la partie dictature l'a certainement été. J'ai pensé à la retraite probablement pendant la plus grande partie de la décennie. J'ai eu quelques problèmes de santé, dont certains, je pensais, étaient exacerbés par la menace continue d'être toujours la personne la plus responsable de la communauté Python et de devoir dire aux gens comment faire les choses et rester silencieux et être raisonnable et expliquer le philosophie de la langue pour la énième fois.

La goutte qui a brisé le dos du chameau était une proposition d'amélioration de Python très controversée, où après l'avoir acceptée, les gens sont allés sur les réseaux sociaux comme Twitter et ont dit des choses qui m'ont vraiment blessé personnellement. Et certaines des personnes qui ont dit des choses blessantes étaient en fait des développeurs Python de base, alors j'ai senti que je n'avais plus tout à fait la confiance de l'équipe de développeurs principale de Python.

: Cette proposition était PEP (Python Enhancement Proposal) 572. Pouvez-vous parler des avantages de cette proposition et pourquoi elle était si controversée?

van Rossum: La proposition concerne une nouvelle syntaxe qui permet les affectations dans le cadre de l'évaluation de l'expression. C'est, dans l'ensemble, un ajout assez mineur à la langue. Il permet aux gens, lorsqu'ils en ressentent le besoin, de placer des devoirs au milieu d'une expression. Il existe de nombreuses autres langues qui ont cela comme une fonctionnalité mineure. Je connais le C et le C ++. Autant que je sache, Java et JavaScript le prennent également en charge. C'est une syntaxe assez niche, mais elle peut dans certaines situations rendre le code plus facile à écrire et aussi plus facile à lire en supprimant la redondance.

Beaucoup de gens ont estimé qu'ils savaient quelle était la philosophie de conception de Python et que cette proposition ne suivait pas les principes de conception de Python. Un autre problème avec la proposition a été quelque peu auto-infligé par les auteurs de la proposition. Les premières versions avaient de sérieux problèmes. Ces problèmes sont alors devenus la raison pour laquelle les gens, même ceux qui étaient favorables à l'idée de base, ont voté contre cette version particulière de la proposition. C'est un changement syntaxique mineur. Il n'y a rien de radical à cela. 

: Dans quelle version de Python cette fonctionnalité sera-t-elle disponible?

van Rossum: Ce sera en Python 3.8, [qui devrait] sortir dans un an et demi.

: Y aura - t-il un autre BDFL? Quel sera le modèle de gouvernance pour Python à l'avenir?

van Rossum: Malheureusement, je ne peux pas vous dire que, parce que j'ai donné au groupe de développeurs principal - quelque 100 ou 200 personnes qui ont des droits de commit ou dans un passé récent avaient des droits de commit - le devoir de déterminer quel sera le nouveau modèle de gouvernance et quelles personnes sera en charge. Et ils ont immédiatement commencé à s'attaquer à ce problème alors qu'ils s'attaquaient à tout autre problème dans le monde Python, avec une longue discussion où les différentes parties ne peuvent pas immédiatement parvenir à un accord.

La seule bonne nouvelle que j'ai à ce stade, c'est qu'ils ont convenu - je pense qu'ils ont accepté - d'un calendrier pour arriver à une conclusion ici. La date limite pour ces propositions est le 1er octobre 2018. Ensuite, je crois que d'ici le 1er novembre 2018, ils se sont engagés à avoir sélectionné une proposition de structure de gouvernance. Ensuite, d'ici le 1er janvier 2019, ils se sont engagés à faire élire ou nommer ou, comme le dit leur document de gouvernance, les personnes qui seront en charge.

Si l'une des propositions est qu'il y aura un seul BDFL, cette proposition devra être rédigée en détail, comme la manière dont le BDFL est sélectionné et combien de temps la personne reste responsable et comment elle peut être mise en accusation et tout que d'ici le 1er octobre. Peut-être que d'ici le 1er janvier, une personne sera nommée.

: Qui sont certaines des personnes impliquées dans le développement de Python?

van Rossum: Il existe un certain nombre de développeurs principaux qui sont plus bruyants que d'autres. L'un des plus gentils gars avec une très longue feuille de route est Brett Cannon. Une autre personne qui a été un mentor pour moi est un gars du nom de Tim Peters. Il est également l'auteur de «The Zen of Python», qui est un ensemble informel de directives pour le développement de Python. Barry Warsaw est également l'un des principaux développeurs.

: Quelle sera votre implication dans le projet à l'avenir? 

van Rossum: Je vais sauter dans le rôle d'un contributeur régulier ou d'un développeur de base régulier. J'écrirai occasionnellement du code et le réviserai. J'essaierai de me concentrer sur le mentorat des développeurs principaux, en particulier les nouveaux développeurs principaux, en particulier les femmes et les minorités, car la diversité dans le groupe de développeurs principal est l'un de mes objectifs.

: Craignez-vous que votre départ en tant que BDFL puisse effrayer certains adeptes de Python?

van Rossum: Je ne pense pas. Python a une communauté très saine. L'équipe de base a une dynamique très saine. Je n'aurais pas démissionné si j'avais pensé qu'ils ne s'en remettraient pas et ne seraient pas en mesure de guider la langue pour les décennies à venir. Je dirais que c'est un petit problème malgré les apparences, et nous attendons avec impatience les futures versions très réussies et une évolution progressive appropriée du processus de développement.

: Comment le processus de développement de Python a-t-il évolué ces dernières années? Comment voyez-vous son évolution dans le futur?

van Rossum: La langue change évidemment. Nous ajoutons de nouvelles fonctionnalités au langage, nous ajoutons de nouvelles fonctionnalités à la bibliothèque. La grande chose qui a changé est probablement la popularité de la langue. Jusqu'à il y a peut-être cinq ans, Python se sentait comme un joueur assez mineur.

Depuis lors - probablement principalement grâce à l'incroyable popularité de la science des données et de Python en tant qu'outil principal pour cela - la pression exercée sur les principaux développeurs pour qu'ils prennent des décisions parfaites a peut-être augmenté, mais la façon dont les choses sont faites en général, la façon dont nous développons , et la façon dont nous publions le langage a été très stable.

Nous avons des gestionnaires de publication. Les versions sont à environ un an et demi d'intervalle pour les versions majeures. Pour les versions de correctifs de bogues, elles sont espacées de quelques mois à peut-être trois quarts d'année selon le besoin.

Nous avons le processus de propositions d'amélioration de Python très stable. Peut-être que la façon dont les PEP sont transformés en points de désaccord majeur a quelque peu changé avec l'augmentation des nouvelles des médias sociaux, mais en général, à part le passage de Mercurial à Git il y a quelques années, le processus a été très stable et il n'y a rien de particulièrement mal avec il.