Tim Graham
- 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.
We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.
In early 2008, I worked on Qt and WebKit. Part of my effort to understand the code base was to write tons of small examples. At some point, I was tired of creating little C++ apps, and I created JavaScript bindings to most of the useful parts of QtWebKit.
This initial effort later became PhantomJS, which was released for the first time in the beginning of 2011.
I spread the word about PhantomJS in the usual ways: I tweeted about it, I wrote blog posts on things you could do with it, I mentioned it during various discussions in meetups. When it became more well known in 2014, I started giving presentations about it.
The amount of time that I spend working on my open-source projects varies a lot. It can get up to five hours per week, and sometimes, it drops to zero. It largely depends on my other life commitments—work, family, kids, etc. Triaging issues and answering questions take a lot of time! Surprisingly, it takes up more than any actual coding.
Maintaining PhantomJS is similar to any kind of hobby projects: soothing and therapeutic. My projects become a good channel to explore my other creative sides, not bounded by a certain obligation.
PhantomJS in particular really helps me keep an eye on the progress of web platforms. Many open-source projects are not being used anymore after the first year of their existence, yet there are still users excited with PhantomJS after six years. So I will go on as long as someone continues to find it useful, and I keep learning new things.
"My projects become a good channel to explore my other creative sides, not bounded by a certain obligation."
The maintainer does not always have infinite time at their disposal. Not every project is equal; some projects do not have the backing of paid and unpaid engineers working non-stop on every single problem or answering every single question.
This is not a single moment, but I'm always happy when I'm going to a meetup and someone tells me that they find PhantomJS useful for them. It is a relief that my effort has not been wasted.
I'm always happy when I'm going to a meetup and someone tells me that they find PhantomJS useful for them.
Plato once said, "Never discourage anyone who continually makes progress, no matter how slow."
No project is perfect and it is absolutely fruitless to please everyone. As long as your project keeps making progress (no matter how small it is), do not get discouraged by any kind of unfavorable color commentary.
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.
Russell Keith-Magee created BeeWare to fill a gap in his own process. Today, BeeWare is the go-to project for supporting Python on every platform.
With over 35 teams of developers working on a variety of projects, HubSpot uses GitHub Enterprise to craft a highly customized workflow, help developers efficiently communicate across teams, and build great software for a global audience.
Advanced collaboration and
management tools for teams
Free for open source teams
Starts at $25 / month and includes your first 5 users
Choose TeamSecurity, compliance, and deployment controls for organizations
Everything included in Team
Want to use GitHub on your own? Check out our plans for individuals