How Brett Cannon Became a Core Python Developer: From Student to Key Contributor
Brett Cannon, one of Python’s most influential core developers, shared his journey—from first encountering the language to becoming a pivotal contributor—in an interview with Guido van Rossum. In the fall of 2000, he was searching for a tool to learn object-oriented programming ahead of his CS entrance exam. Python stood out immediately for its simplicity and interactive REPL—especially compared to C, which he’d used before.
First Steps with Python
Cannon was pursuing a bachelor’s degree in philosophy while independently exploring computer science. He knew C and had dabbled in Pascal—but its compiler kept failing him. To prepare for CS 61A, he needed to master object-oriented programming. Early search engines like AltaVista pointed him toward Python with the recommendation: “Python is a great first language.”
He read the official documentation and Mark Lutz’s Learning Python. Though OOP didn’t appear on the exam, Python stuck: Cannon began using it for scripts and university assignments. Switching from C to Python introduced him to the REPL—a game-changer for rapid experimentation and learning.
Key languages before Python:
- C (primary)
- Pascal (minimal)
Entering the Community Through Recipes
In 2001, ActiveState launched the Python Cookbook—a collaborative platform for sharing code snippets. Cannon contributed a clean, Windows-compatible implementation of strptime, since the standard library version was missing on that platform. Alex Martelli featured this recipe in the first O’Reilly Python Cookbook.
The recipe evolved: originally locale-dependent, Cannon simplified it significantly. In May 2002—shortly after Python 2.3’s release—he asked Martelli whether it could be added to the standard library. Martelli directed him to python-dev, the mailing list for core developers.
François Pinard helped refine the patch. In June, Cannon sent his proposal; by July, time.strptime was committed to the repository. He stayed subscribed—and engaged.
Reviewing python-dev and Landing First Commits
August 2002: Cannon began writing weekly summaries of the python-dev mailing list, stepping into the role previously held by Andrew Kuchling. These reviews were both a learning tool and a way to ask questions openly. He maintained them for 2–3 years—through his PhD.
The python-dev list covered:
- New feature proposals
- Bug reports and patches
- PEP discussions
- Backward compatibility concerns
Cannon spent his year-long gap after undergrad polishing his resume—and contributing to Python. That first strptime commit gave him momentum to keep going.
The Early Core Developer Community
Between 2002 and 2003, the core team was small—roughly 20–50 people, with about half actively involved. Key figures included:
- Martin von Löwis
- Neal Norwitz
- Marc-André Lemburg
- Andrew Kuchling
- Alex Martelli
- Tim Peters
- Raymond Hettinger
- Greg Stein
- Jack Jansen
- Barry Warsaw
Cannon joined just before PyCon US 2003 in Washington, D.C. At the time, Python was still niche—“the language with whitespace.” Changes went in directly; design debates happened over email. PyCon drew passionate volunteers—many working full-time jobs elsewhere.
Vaults of Parnassus, an early script archive, predated PyPI.
Transitioning to Python 3 and Major Contributions
Cannon played a central role in importlib, the Python 2 → 3 migration, documentation, and PEP authorship. He removed tuple parameter unpacking in function signatures (a Python 3 change). At PyCon 2007, Ka-Ping Yee raised objections—but the change was approved.
Ka-Ping led work on pydoc, cgitb, inspect, and exception chaining.
Early challenges included limited time and reliance on volunteer effort. Cannon advocated for corporate sponsorship—and succeeded. Today, the PSF employs full-time engineers: Łukasz, Petr, Sergey, and Seth (security & Alpha-Omega).
What Really Mattered
- Start with a recipe:
strptimebrought Cannon into the core team within months. - Reviews as a gateway: Volunteering to summarize python-dev made him visible and trusted.
- Small community: With only ~20 active contributors in 2002, impact was immediate and accessible.
- Volunteer-first culture: Sustained contribution preceded formal employment by years.
- Evolution: From a niche project to a professionally staffed ecosystem.
Cannon’s story shows that for mid- to senior-level developers, the path to core involvement lies in shipping useful patches, engaging thoughtfully on mailing lists, and consistently reviewing community activity. The energy and contributions of the early 2000s laid the foundation for modern Python.
— Editorial Team
No comments yet.