Open Source as a Habit

It gets easier

Micah Hausler
3 min readJul 22, 2014

As a full time developer, I write quite a bit of code.

My Github contribution graph as I see it

This is my contribution graph over the last year.

No, Github doesn’t represent all of my work, and it probably doesn't for you either. You don't need to compare yourself to me; you can't even see how many lines of code I've written, tell how much of it is documentation, tests, actual code, or just pull requests. The point is I work full time, and work a lot with Github.

You can see where I took a week of vacation last August and where I got married this June, but for the most part I've got a pretty steady habit of pushing code.

As a full time developer, I've historically not written very much open source code.

My Github contribution graph as you see it

You'll notice how on June 24th I started to write open source software.

The change was really just a simple decision. I want to write open source software, and I want it to be a habit. The first project I wrote was a simple python wrapper to New Relic’s API, and a few days later published it to pypi and had documentation on readthedocs.org.

The change was really just a simple decision. I want to write open source software, and I want it to be a habit.

I tweeted about it and got good feedback. I even heard from Graham Dumpleton and had a few retweets. While that was all encouraging and I was proud of the work I had done, I immediately felt fear about not knowing what to work on next. I wanted to keep a commit history up that didn't just consist of small tweaks. I wanted to make meaningful things.

After 3 days of keeping up public work, I missed a day. I hadn’t prioritized coming up with something new, and dropped what was at that time my longest streak. Then the weekend came. I had no commitments and I was determined to make something new, so I did it. I had just learned how to use reStructuredText and Sphinx to document Python projects and started applying that to existing Ambition open source projects. Then I updated Ambition’s django app template. Then I created a python project template. Then I made a documentation guide. Then a wrapper to PagerDuty’s API. Then a guide to writing tests.

My ideas for open source contributions began to have a snowball effect. I would get an idea, and then make it! Instead of struggling for ideas and fearing a lack of inspiration, I now find myself with lots of ideas and not enough time to start all of them in a day.

It remains to be seen how long I can keep this up, and if I'll ever hit a dry spell. Like any creative work, it could happen. I intend on taking a vacation again and not touching my computer, but for now it has worked out quite well to make open source a habit.

Full disclosure: I have only ‘cheated’ once on my github commit graph. It was almost 11:00pm and I was having an adult discussion with my wife (kids: read argument). In hindsight, I wish I would have just missed a day and look more like a normal human.

--

--