Retour à l'accueil

Brett Cannon : chemin vers le core Python

Brett Cannon raconte à Guido van Rossum sa découverte de Python en 2000, sa contribution à strptime et son entrée dans le core via python-dev. Couvre la communauté initiale, PyCon 2003 et l'évolution vers les développeurs staff PSF.

De l'étudiant au core Python : l'histoire de Brett Cannon
Advertisement 728x90

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.

Google AdInline article slot

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.

Google AdInline article slot

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 :

Google AdInline article slot
  • 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 : strptime a 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

Advertisement 728x90

Lire ensuite