Run Your Project Like You’d Run a Business

Last Thursday and Friday I attended the Philly Emerging Technologies conference in Conshohocken, PA. I’m not going to rehash or summarize all of the talks I went to but I DO want to focus on one particular talk and that is John Resig’s “How to Run a Successful Open Source Project: The jQuery success story”.

For those who don’t already know, John Resig is the author, and primary maintainer of jQuery, one of the leading Javascript frameworks. Comparatively speaking, jQuery is newer than some of the other frameworks like, but has picked up enormous adoption in a fairly short amount of time. There is a reason for this. And it’s not JUST because jQuery is good.

As you might have guessed from the title of his session, John did not talk about how to use jQuery. This wasn’t a “kickstart” class. His talk was about how to treat your open source project, for lack of a better phrase, like a business.

Make it SUPER easy to get started.

One of the rules John went over was about making your project/product extremely easy to get started with. That means:

  1. Complete (and up to date) documentation.
  2. Easy to read documentation.
  3. Clear cut examples that actually WORK in practice.
  4. Make it easy to download!

If these all sound like no-brainers, it’s because they are. And you wouldn’t believe how many projects don’t follow any of these tenets.

Treat your users like you’d treat your customers.

Being available to their users for help and advice is something that some, but sadly not all, product-based businesses understand. For open source project owners, this means being active on your wiki, your forums, and your email lists. John had a great anecdote about a help request he received to his personal email account. Instead of ignoring the user or reeling off a terse “RTFM” response, he exchanged a few messages with them and eventually got them sorted. It turns out this user was a head architect at You never know who your users are – treat them all like customers. Satisfaction guaranteed.

Track your trends!

The jQuery project makes HEAVY use of Google Analytics to track their adoption, usage, and attrition. Between the end of 2007 and beginning of 2008, the team saw a sharp drop in jQuery adoption and then a very gradual climb. Eventually they surmised that, for whatever reason, users and developers “forgot” what they were doing over their holiday break and came back to work in the new year with new priorities. To combat this anomaly, the team timed the most recent release of jQuery for the beginning of January 2009. The results showed that they still saw the usual post-holiday attrition but it was followed by a SHARP adoption which brought jQuery usage up to higher levels than before the holiday season. Some BUSINESSES don’t track usage trends this well! If this sounds a lot more like marketing, that’s because it is. People won’t come, and more importantly stay, just because you built it.

Build a team.

It may be surprising to learn that jQuery only has around 4 full time maintainers at any given time but the total team is comprised of about 25 people. The other 20 people complete the team and are what elevates the jQuery project to a level most open source projects don’t reach. There are dedicated documentation team members, evangelism folks, and example writers. There are people who monitor the forums, update the wiki, and keep the message of the benefits of jQuery fresh. One person can’t do it all. But a few dedicated people can make a HUGE difference in the “completeness” of your project.

Everyone has to start their project somewhere. However, if you are serious about improving the lives of your users, then treat your project like a product. Treat your organization like a business. Make it easy to adopt. Make the documentation and examples stellar. And above all, treat your users [customers] with respect and show them patience. It will pay dividends.

About JP Toto

JP is a devops developer in Philadelphia, PA. He works at eMoney Advisor by day and attempts to cook by night.

1 Comment

  1. Thanks for the useful info. It’s so interesting

Comments are closed.