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.