Comment Brett Cannon est devenu développeur principal Python : d'étudiant au contributeur clé
Brett Cannon, l’un des développeurs principaux les plus influents de Python, a raconté son parcours — de sa première découverte du langage à son rôle central dans son évolution — lors d’un entretien avec Guido van Rossum. À l’automne 2000, il cherchait un outil pour apprendre la programmation orientée objet avant ses examens d’entrée en informatique. Python s’est immédiatement démarqué par sa simplicité et son interpréteur interactif (REPL), surtout comparé au C, qu’il avait utilisé auparavant.
Premiers pas avec Python
Cannon préparait une licence en philosophie tout en explorant l’informatique de façon autodidacte. Il maîtrisait le C et avait brièvement expérimenté le Pascal — mais le compilateur refusait systématiquement de fonctionner. Pour réussir CS 61A, il devait maîtriser la programmation orientée objet. Des moteurs de recherche comme AltaVista le dirigèrent vers Python, accompagnés de cette recommandation : « Python est un excellent premier langage. »
Il étudia la documentation officielle et Apprendre Python de Mark Lutz. Même si la POO n’était pas au programme de l’examen, Python est resté : Cannon l’a adopté pour ses scripts et ses travaux universitaires. Le passage du C à Python lui a révélé l’interpréteur interactif (REPL) — une véritable révolution pour expérimenter rapidement et apprendre efficacement.
Langages maîtrisés avant Python :
- C (langage principal)
- Pascal (utilisation très limitée)
Entrer dans la communauté via les recettes
En 2001, ActiveState lançait le Python Cookbook, une plateforme collaborative pour partager des extraits de code. Cannon y a contribué une implémentation propre et compatible Windows de strptime, car la version intégrée à la bibliothèque standard était absente sur cette plateforme. Alex Martelli a inclus cette recette dans le premier Python Cookbook d’O’Reilly.
La recette a évolué : initialement dépendante des paramètres régionaux, Cannon l’a fortement simplifiée. En mai 2002 — peu après la sortie de Python 2.3 — il a demandé à Martelli si elle pouvait être intégrée à la bibliothèque standard. Ce dernier l’a orienté vers python-dev, la liste de diffusion des développeurs principaux.
François Pinard a aidé à peaufiner le correctif. En juin, Cannon a envoyé sa proposition ; en juillet, time.strptime était intégré au dépôt. Il est resté abonné — et engagé.
Suivre python-dev et réaliser ses premiers commits
Août 2002 : Cannon commence à rédiger chaque semaine des synthèses de la liste de diffusion python-dev, reprenant le rôle précédemment occupé par Andrew Kuchling. Ces résumés étaient à la fois un outil d’apprentissage et un moyen de poser ouvertement des questions. Il les a maintenus pendant 2 à 3 ans — jusqu’à la fin de son doctorat.
La liste python-dev couvrait :
- Les propositions de nouvelles fonctionnalités
- Les rapports de bogues et les correctifs
- Les discussions autour des PEP
- Les préoccupations liées à la compatibilité ascendante
Pendant l’année sabbatique qui a suivi sa licence, Cannon a perfectionné son CV — et contribué activement à Python. Ce premier commit strptime lui a donné l’élan nécessaire pour poursuivre.
La communauté des développeurs principaux, au début
Entre 2002 et 2003, l’équipe principale était réduite — environ 20 à 50 personnes, dont la moitié seulement participaient activement. Parmi les figures clés figuraient :
- Martin von Löwis
- Neal Norwitz
- Marc-André Lemburg
- Andrew Kuchling
- Alex Martelli
- Tim Peters
- Raymond Hettinger
- Greg Stein
- Jack Jansen
- Barry Warsaw
Cannon a rejoint la communauté juste avant PyCon US 2003 à Washington, D.C. À l’époque, Python restait encore confidentiel — « le langage aux espaces ». Les modifications étaient intégrées directement ; les débats architecturaux se tenaient par courriel. PyCon attirait des bénévoles passionnés, nombreux à exercer un emploi à plein temps ailleurs.
Vaults of Parnassus, une ancienne archive de scripts, existait bien avant PyPI.
Transition vers Python 3 et contributions majeures
Cannon a joué un rôle central dans le développement de importlib, la migration de Python 2 vers Python 3, la documentation et la rédaction de PEP. Il a supprimé le déballage de tuples dans les signatures de fonctions (une modification introduite avec Python 3). Lors de PyCon 2007, Ka-Ping Yee a soulevé des objections — mais la modification a été approuvée.
Ka-Ping a piloté les travaux sur pydoc, cgitb, inspect et la chaîne d’exceptions.
Les défis initiaux incluaient un temps limité et une forte dépendance à l’égard de bénévoles. Cannon a milité pour un soutien financier des entreprises — et y est parvenu. Aujourd’hui, la PSF emploie des ingénieurs à plein temps : Łukasz, Petr, Sergey et Seth (sécurité & Alpha-Omega).
Ce qui a vraiment compté
- Commencer par une recette :
strptimea fait entrer Cannon dans l’équipe principale en quelques mois. - Les synthèses comme porte d’entrée : Proposer de résumer python-dev l’a rendu visible et crédible.
- Une communauté restreinte : Avec seulement ~20 contributeurs actifs en 2002, chaque contribution avait un impact immédiat et tangible.
- Une culture fondée sur le bénévolat : Des années de contributions régulières ont précédé toute embauche formelle.
- Une évolution continue : Du projet confidentiel à un écosystème professionnellement structuré.
— Editorial Team
Aucun commentaire pour le moment.