Last month I challenged myself to try make at least one contribution a day to GitHub for 30 days straight, and as a result I’ve been able to make long overdue updates to all of my existing repositories as well as make meaningful contributions to other peoples’ open source projects. Some of the things I accomplished during the challenge:
- Added examples of code coverage reporting and testing in multiple browsers to my Esri Karma Tutorial
- Began an effort to update Kevin Andre’s Dojo Bootstrap project to work with v3 of Twitter Bootstrap
- Used the Yeoman generator for AngularJS to start building my own GitHub pages as way to learn more about AngularJS, Yeoman, Bower, etc.
The challenge also helped me up my Git Fu a bit, since (sadly) most of my work projects are not managed in Git. If you’re like me, most of your GitHub activity takes place outside of your normal work hours, and this kind of challenge can really help you get to things that have been on the back burner for too long.
I’d definitely recommend others try a similar challenge. Here are my (self evident) tips for successfully completing your challenge:
- Have a fair amount of work lined up, ideally spread out across a few repos (in case you get tired of working on one).
- Learn what counts as a contribution (you might be surprised) if you plan on using the GitHub calendar as your tracking/reporting tool.
- Be sure to save some light-weight tasks for the days when you don’t have a couple of hours to bang out some code.
- Don’t worry about missing a day or two as long as you get back on the horse.
I will admit, there were days when I was barely able to do more than open an issue (yes, that counts as a contribution) and I wouldn’t blame you if you called that cheating. However, I never did anything that I didn’t think needed doing. Besides, I’ve still got a few commits “in the bank” (i.e. in open PRs, etc) that haven’t made their way into the master branches of the repos, so it all balances out in the end.
All in all the challenge was very useful, but I’m looking for other ways to keep me motivated to continue to make slow and steady progress on my open source work. I think it would be helpful if GitHub highlighted how many days it’s been since you made a contribution instead of what your longest streak was. Some might say that’s focusing on the negative, but it would work for me personally as a gentle prod to keep me in the game.
In the meantime – I am looking forward to leaving my laptop closed this weekend!