Thursday, January 27, 2011

It Takes a Village...

There are a lot of reasons someone might want to start an open source software project.  You may be motivated by idealistic notions like freedom (as in both "free speech" and "free beer"), contribution to a community, and the desire for higher quality software due to the many eyes that scrutinize the code.  Or, you could be motivated by more base desires like reputation, influence and the potential for paid work.  Whatever the motivation though, it's clear that to truly achieve any of these goals you need people to take notice.  You need users.  You need a community.

Another thing that has become clear to me over the past six months or so is that one of the best ways to build a community for an open source project is to host it on  I'm not really sure why this is true.  The underlying git DVCS system is certainly very powerful and efficient but it also can be cryptic and unintuitive at times.  It could be the very distributed nature of git and github but there are other DVCS out there with hosted, centralized master repos.  They are all good but they don't seem to be as good at motivating people to participate as github.  Maybe github have just hit on just the right combination of power, flexibility and gee-whiz GUI.  Whatever the reason, the results for the boto project have been pretty amazing so far.

In the six months we have been on (our first commit there was on July 12th, 2010), we have:
  • 290 people watching the boto repository.
  • 66 people who have forked, or copied, the repository to allow them to experiment on their own.
  • 61 pull requests, which are the culmination of those experiments in forked repositories.  They are basically people asking to have their local modifications merged with the main boto repository.  Thus far 50 have been closed, 11 are still open.
  • 340 commits to the repository by 35 different contributors.  That's about 1.7 commits per day.  Commits have ranged from single line typo fixes to entire new boto modules.
  • Major contributions from Google in support of their Google Storage service.
  • 11495 downloads of packaged boto releases from our Google code project page.
  • 35978 downloads of just the 2.0b3 packaged release from, the Python package index
  • 42,420 visits (124,278 page views) by 10,734 unique visitors to our Google project page and 13,620 views of our github project page in the last 90 days.
  • I received three, count them three, unsolicited contributions for a boto module to support the new Simple Email Service from AWS within 24 hours of the services announcement.
I'm not suggesting that all of this is due to github.  It certainly helps that boto provides an interface to a very popular set of cloud-based services in a very popular programming language.  But github has clearly been a factor in building the community and increasing contributions.

So, thanks github and thanks to the boto community.  I also want to take this opportunity to thank the my colleagues and the management team at Eucalyptus Systems for supporting me in my efforts to support the boto community.  It really underscores their commitment to open source software.


  1. Makes me really want to move typica over to github! Much smaller audience, but the potential is great!

  2. very cool, Mitch. congrats on the success of boto! and congrats, Dave on typica. The project I'm working on is also on google code and I've been curious about how involved it would be to move to github. Let me know if you ever make the transition, Dave and how it goes.

  3. Thanks for all of your work on boto, we love your module at DUO.

  4. Mitch, thanks very much for creating boto. Your code always looked thorough and interesting, but I hesitated for a long time before using it for security reasons since a backdoor to boto could potentially access a lot of proprietary material. That hesitation disappeared after the Google team built gsutil by generalizing boto for their S3-type Storage for Developers. The situation is very similar to open source cryptography -- more eyeballs on the code means more scrutiny, thus generating more confidence in its daily usage. Communication within the "village" about unresolved matters is actually very reassuring. The community involvement is a huge endorsement, not only for technical merit, but for TRUST which is priceless (way beyond free :-)

  5. Mitch
    I am not sure, all that activity is due to
    I am sure, quality, usefulness and usability of your boto is core reason.
    It is very likely, people would find ways to enhance something very functional even on other hosting service like
    But I know, that it has to be happening somewhere and that you like to say "Thanks" to those, who provide good service.
    So "Thanks" to you and your great solution boto.
    Jan Vlcinsky