Programmation : Le nouveau responsable du développement de Python a du pain sur la planche

Technologie : L’énormité du projet Python signifie qu’il a accumulé un arriéré considérable de problèmes au fil des ans. Le développeur en résidence du projet, récemment nommé, explique à ZDNet comment il compte relever le défi.

La gestion d’un projet aussi important que Python est une entreprise colossale. Avec plus d’un million de lignes de code, le langage de programmation repose principalement sur des volontaires pour assurer son fonctionnement et introduire de nouvelles fonctionnalités. Pour autant, la nature même de Python, en tant que projet communautaire, apporte son lot de problèmes. Avec des milliers de programmeurs indépendants ajoutant leur propre code au projet, les goulots d’étranglement s’accumulent facilement, et les problèmes peuvent alors passer inaperçus.

« Si vous êtes un volontaire et que vous consacrez votre propre temps à une chose, un projet, dans le cadre de Python, vous allez vouloir travailler sur la chose qui vous intéresse personnellement. C’est tout à fait naturel », explique Łukasz Langa, qui a été nommé en juillet par la Python Software Foundation (PSF) comme nouveau développeur en résidence pour CPython. « Vous ne pouvez pas vraiment demander à un autre contributeur, ou forcer quelqu’un d’autre à travailler sur cette chose que vous trouvez importante, car nous sommes tous des bénévoles. Tout est donc régi par le consensus », relève ce dernier.

Dans le cadre de ses nouvelles fonctions, sponsorisées par Google, le développeur agira en tant qu’intendant du projet Python, identifiant les zones problématiques, examinant le code et passant au crible les piles de pull requests qui se sont accumulées sur la page GitHub du projet. « C’est un gigantesque arriéré à examiner, donc le simple fait d’avoir quelqu’un qui effectue ce travail de révision multiplie déjà l’impact de tous les autres », explique ce dernier, interrogé par ZDNet. « Nous avons 1 400 demandes de retrait ouvertes. Je m’efforce de faire baisser ce nombre ou de faire en sorte que les autres contributeurs aient une meilleure expérience. Il ne s’agit pas seulement de brûler les chiffres, mais aussi d’avoir une idée des parties de notre charge de travail qui doivent être améliorées. »

De gros sponsors

L’ancien développeur de Facebook, basé en Pologne, compare le rôle de développeur en résidence à celui d’un concierge : ce n’est pas le travail le plus glamour, mais quelqu’un doit le faire. « Comme dans toute société active, quelqu’un doit sortir les poubelles ; il faut fournir l’électricité à tout le monde, et ainsi de suite. Il y a un certain nombre de choses qui doivent être faites régulièrement », dit-il. Cela ne veut pas dire que Łukasz Langa n’est pas enthousiasmé par son rôle – loin de là, en fait : « c’est facile d’être enthousiaste à ce sujet ».

Python bénéficie d’une grande attention de la part des entreprises, qui ont leurs propres intérêts dans le développement du langage. En novembre 2020, Microsoft a engagé Guido van Rossum – le créateur de Python – pour diriger les efforts visant à améliorer les performances du langage de programmation.

Le fait d’avoir de gros sponsors avec d’importantes réserves de liquidités derrière les projets est une bonne chose – Python est un logiciel libre, après tout, et dépend fortement des sponsors pour continuer à fonctionner. Même des langages comme C, C++ et JavaScript ont des communautés composées de sociétés qui contribuent à normaliser et à façonner chaque version du langage.

Améliorer l’attractivité de Python

Cela signifie aussi que des efforts supplémentaires sont nécessaires pour s’assurer que le projet conserve son autonomie et n’est pas dirigé par l’influence des entreprises. C’est aussi à ça que sert le développeur en résidence. Ce dernier doit s’assurer que la Python Software Foundation a quelqu’un qui aide à diriger le projet de manière centralisée, en prenant en compte les commentaires de la communauté pour identifier les zones problématiques, tout en traitant les arriérés afin que plus de temps puisse être consacré à l’introduction de fonctionnalités et de changements importants dans Python.

« Le plus important, vraiment, est d’avoir une visibilité sur les parties de Python qui ont le plus besoin d’aide, celles qui ont le plus de problèmes. Même si elles ne sont pas ouvertes à ce moment-là, nous devons voir quelles parties de Python génèrent le plus de désabonnement », explique Łukasz Langa. « Nous voulons voir d’où viennent les demandes de retrait les plus nombreuses, et nous voulons voir où la plupart des demandes de retrait restent bloquées – par exemple, parce que la bibliothèque qu’elles visent n’a pas de mainteneur au sein de l’équipe. »

Il est également crucial qu’un développeur travaille à plein temps sur Python pour que ce dernier reste en phase avec les autres langages de programmation qui connaissent déjà un grand succès ou qui gagnent rapidement du terrain. « Il est très important de rester pertinent – avec tous ces nouveaux langages pilotés par les entreprises comme Go, Swift et Rust, [qui] gagnent en popularité très rapidement parce qu’il y a une équipe motivée derrière chacun d’eux », conclut le développeur.

Source : ZDNet.com

Catégories