Brett Cannon
Brett Cannon made his first open source contribution more than 15 years ago. Now a Software Engineer at Microsoft, he’s still a core contributor to Python, a project he has contributed to for more than a decade.
I first reached out to the Python development team (aka python-dev) when I emailed the mailing list on June 17, 2002 about accepting my patch to add time.strptime() to Python’s standard library.
I quickly caught the open source bug, and decided to start curating email digests for the group. They gave me a great excuse to ask for clarifications about a topic, but more critically I was able to notice when someone pointed out something that needed fixing.
Fast-forward to April 2003: I had been regularly submitting patches for months when I said I would happily write some documentation as long as someone committed the patch. Guido [who authored Python] replied, “Do you have a SF userid yet? Then we can give you commit privs!” I gained my commit privileges like people still do today on the Python project: I consistently contributed good patches and eventually a core developer noticed and asked if I wanted to join the team.
“I gained my commit privileges like people still do today on the Python project: I consistently contributed good patches and eventually a core developer noticed and asked if I wanted to join the team.”
I’m lucky enough that Microsoft lets me spend one day a week on Python, plus any spare work time I may have or if some emergency creeps up. So unless I’m under some extreme deadline, I take every Friday to work from home on Python.
I have always said that the Python development team taught me how to truly program. I had taken courses in university and taught myself things to fill in the gaps, but diving into the guts of CPython and being involved in Python’s development process taught me how to code in C well and to care about API design, as well as the importance of code maintenance.
The Python community has developed a reputation as being a welcoming, tolerant, understanding group of people and I’m truly proud to be a member of a group of people to have garnered that reputation. I’ve also been lucky to have made many great friends around the world over the years in this community.
“I have always said that the Python development team taught me how to truly program.”
Maintaining an open source project can be emotionally rough. When people call you or the team you’re part of incompetent, arrogant, or any other of a myriad insults I have heard, it really wears you down. It takes a long while to undo the emotional damage through the kindness of others.
I actually reached a point where I needed to take a month off from contributing to any open source project in my personal time and it was somewhat sad how much calmer and happier I was during my time off. I ended up writing a blog post about the near-burnout I suffered, and I realized that everyone in open source is doing everyone else a favor to varying levels of commitment. We should treat one another accordingly.
“Everyone in open source is doing everyone else a favour to varying levels of commitment. We should treat one another accordingly.”
I actually have three:
“To every person who has ever reported a bug or submitted a patch, their problem is inevitably the most important thing to them. You’ll need to learn how to tell people that something simply won’t work for the project or that it isn’t a priority right now.”
project
location
day job
From flexible hosting to data‐powered security, get everything your team needs to build at their best.
Contact sales