November 04, 2009

Posted by John

Tagged gems

Older: More MongoMapper Awesomeness

Newer: You're An Idiot For Not Using Heroku

Know When to Fold 'Em

I have a lot of projects. Each time I feel pain or inspiration, I’ll whip together a new library and release it as a gem. It is fun and I love it. It is even more fun when people come along and use those projects to do cool stuff. This in turn, inspires me to write more code and release more projects. It is a vicious cycle.

A while back, I caught myself making jokes about how I don’t even use my projects. I can barely remember the last time I actually used HTTParty, HappyMapper, or the Twitter gem. Not too long ago, I came across Dr. Nic’s Future Ruby talk on Living with 1000 open source projects.

In the presentation, he says that you should maintain the projects you use everyday and abandon the rest. Good advice. Over the past few months, I have been seeding maintenance and new features to other talented developers for several of my projects.


The first to go was HTTParty. I believe it was the Ruby Hoedown where I ran into Sandro. He mentioned some HTTParty bugs and asked him if he was interested in taking over. He accepted and the last release (0.4.5) was all him.


Brandon Keepers, a good friend of mine, has a client project that uses HappyMapper, so the fact that he actually uses it made him a logical choice to help with the maintenance of it. He did a bunch of namespace work for the 0.3 release and now has commit rights.

The Twitter Gem

The last gem that was beginning to feel like a burden was the Twitter gem. Wynn Netherland has built several apps that rely on the Twitter gem, so I gave him commit rights and he recently added lists to it.


I can’t say that I am abandoning these projects, as I am sure from time to time I’ll feel inspired and spend some time on them. I just know that I am no good for them if I am not using them. I can’t feel the pain or know what is needed if I am not using the code.

I’m posting about this for two reasons. First and foremost to give some credit to the people who are doing the work now. Second, just setting some expectations that I probably won’t be snappy in responses for these projects as I’m not actively working on them anymore.


  1. Seems like a piece of smartness to me – the code gets more love from someone who’s actively interested in seeing it improve and you get to do the proud parent thing, looking on approvingly as your babies leave the nest.

    And we’ll always have the photos.

  2. @mike Exactly. :)

  3. Thanks for the great gems, I am glad they will live on.

  4. PatrickT PatrickT

    Nov 04, 2009

    More maintainers need to do this. Too often do I see a project go into complete waste because the creator stopped maintaining it and stopped communicating with the people who are really interested in maintaining it.

    I hope more people follow in your example.

  5. Thanks for all the great code, John. Every project in this list has saved me a ton of time.

Sorry, comments are closed for this article to ease the burden of pruning spam.


Authored by John Nunemaker (Noo-neh-maker), a programmer who has fallen deeply in love with Ruby. Learn More.


Release your software more often with fewer problems.
Flip your features.