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.