Tim Graham Tim Graham

Tim Graham @timgraham

  • Project: Django
  • Location: Glen Mills, PA USA
  • Day job: Django Fellow
Tim Graham
Tim Graham started contributing to Django as part of a college research project. Now he helps maintain the popular web framework full time as a Django Fellow.

Backstory

I usedĀ DjangoĀ for an independent study project during my senior year of college to develop a web app. Then one of my classes required students to do an ethnographic study of an online community. Looking for a way to add a technical aspect to the course, I chose to study the Django community. I was fairly new to Django and Python but there were a lot of small documentation tickets that I contributed to as part of my research for the course. I’ve been hooked on contributing since then.

After about eight months of submitting documentation patches, I got an invitation to join the Django team as a documentation committer. I accepted the invite and continued contributing exclusively to the documentation for several years. In the summer of 2013, I wanted to get more involved in Django development, so I started reviewing and merging pull requests in areas besides documentation.

The idea of aĀ Django Fellowship, where theĀ Django Software FoundationĀ would pay someone to shepherd Django’s development, had been floating around for some time. The work I did as a volunteer showed the idea’s merit enough to inspire the DSF board to start a three-month pilot program.

The pilot started in October 2014 and the program was renewed on a ā€œfundraising-permittingā€ basis shortly thereafter. I've full-time as a fellow for a little over two years now.

Daily tasks

You can readĀ my retrospective of 2016Ā to learn more about what I’ve done recently, including:

  • TriagingĀ new ticketsĀ that were created since I last looked at the ticket tracker
  • ReviewingĀ pull requestsĀ from the community
  • Interspersing work on Django’s infrastructure servers such asĀ djangoprojects.comĀ orĀ djangoci.com, or author a patch to fix a ā€œrelease blockerā€ ticket such a regression in Django.
  • Coordinating Django’s release process, whether that’s a major feature release every eight months, a monthly bug fix release, or an as needed security release.

Rewards

The Django community is a group of smart and caring people. I’m blessed to work with them (everyone else, a volunteer). The last three years, an annual trip to Amsterdam for theĀ Django: Under the Hood conferenceĀ has been a social highlight that recharges my enthusiasm for the project.

"The Django community is a group of smart and caring people. I’m blessed to work with them."

Challenges

Patch reviewers. Everyone loves to write code but reviewing code is less glamorous. I think many contributors feel that code reviews from anyone not on the Django team don’t make a difference but this is not true. I created aĀ patch review checklistĀ so that reviewers can follow the same process that I use. Anyone is welcome to review a patch and mark the ticket as ā€œReady for checkinā€ if it looks good to them.

Favorite moments

One member of the Django team, LoĆÆc Bistuer, gave up on contributing to Django after several non-trivial pull requests he sent went unreviewed. Fortunately, that was around the time when I started reviewing patches. He was extremely responsive to my review comments and we merged his initial contributions and later, many more patches followed. This year, he gaveĀ a talk about his work on validationĀ at Django: Under the Hood. I was proud to see him on stage.

Good advice

Don’t do it alone. Your interests may change or life may get in the way and you’ll risk burnout if you don’t form a team to shepherd your project when you’re unavailable. Moving a project’s ownership from ā€œmeā€ to ā€œweā€ might be a step outside your comfort zone, but in the long run, most successful projects navigate this transition, as Django did.

"Moving a project’s ownership from 'me' to 'we' might be a step outside your comfort zone, but in the long run, most successful projects navigate this transition."

What will your story be?

Learn how to run a successful project

Open source is made by people just like you. Learn how to contribute, launch a new project, and build a healthy community of contributors.

Read Open Source Guides


An easier way to contribute to open source

Every Friday, invest a few hours contributing to the software you use and love.

Contribute on Open Source Friday


Meet other maintainers

Yyx990803-project

Evan You

In 2013, Evan You founded Vue, a Javascript framework funded by the community on Patreon. In 2016, Vue reached 2,000,000 downloads.

Ariya-project

Ariya Hidayat

When Ariya Hidayat is not a VP of Engineering, he maintains PhantomJS, one of the most popular tools used by companies to write automated integration test for web applicaitons.

Jessfraz-project

Jess Frazelle

Jess Frazelle works on Kubernetes full-time. Previously she maintained Docker, a software containerization platform used by thousands of teams.

Get started for free

Public projects are always free. Work together across unlimited private repositories for $7 / month.

Sign up for GitHub

Subscribe to GitHub Open Source updates

Add your email address to get occasional open source updates in your inbox.