Transparency, Communication and our own Personal Failephant

I was pissed off last night. I got a direct message from a friend on Twitter saying he had left a comment on our new forums. Thinking nothing of it, I sauntered on over and read a beautiful rant on how we were failing at open source. A complete and utter slagging of our efforts in open sourcing our code. Of course my first emotion was indignation, a natural response whenever you’re critiqued on something you’ve put an inordinate amount of personal effort into – I got defensive.

enter the failephant

I then re-read the post and realized he was right. Our actions were indefensible and not in the spirit of the open source programming community that we are a part of. You see, this last week we turned Ushahidi over from a private alpha to open beta. This means the code should be easy to access, easy to find, and the community should be easy to plug into. Phew, we had failed. How miserable of a feeling…

The main points of this post (in summary for those who want the short version):

  1. Make the source code easy to access and the community simple to plug into
  2. Have communications channels open for people who don’t know you personally
  3. Honest, constructive criticism is good (and proves people care)
  4. What we’ve done to address these issues

Easy Access

Our original goal with the download request page for Ushahidi was to make central point of entry for end-users to grab the code to put up on their own servers and deploy. So, it’s useful to find an installation file, but not so for the source code. We hadn’t created a way for developers to get into the code repository (in fact, our code repository was still invitation only… lame).

Rabble ended up having to get the code from another one of our mutual contacts – one that didn’t have any version number, changelog, or a release date.

Our first act was to switch over from Unfuddle to Github for to solve this problem.

Open Communications Channels

We have always prided ourselves on being an open organization, but that’s mainly been through getting to the founding team via our contact form. It has always been easy to get, and stay, in touch with us once you’re part of the dev community. We have a Skype channel for devs, but it was also invitation only.

What we had done was create the traditional non-open source business-side approach to communication. Sure, we’re available on the Ushahidi blog, our personal blogs, Twitter and our contact form – but none of that helps the greater Ushahidi dev community get in touch if they don’t know who we are. It definitely doesn’t help them connect to each other without us acting as a bridge.

Our first act here was the creation of an IRC channel, open for anyone to join, moderated by Henry.

Openness and Criticism

If someone cares enough about your project, they’ll take the time to tell you what they like/don’t like about it. That’s valuable information, and it’s especially useful when they don’t just flame you, but offer solutions and alternatives that could work. Rabble did that, and it’s made us a better project already.

In less than 24 hours we’ve made some big adjustments (see below). That includes replying to this issue on the forums in the same transparent manner, getting IRC and Github setup and creating the new Ushahidi failephant especially for this blog post.

What We’re Doing About It

We’ve already done a couple things to make everything more accessible, open and easy to find.

Options to download a zipped file or go to the code repository
Options to download a zipped file or go to the code repository
  • You can now find the code at Github.com/Ushahidi – feel free to check it out and go to town on it in whichever way you like.
  • There is now an open IRC #ushahidi chat channel on irc.freenode.net – join us anytime, a core Ushahidi team member is almost always around.
  • We’re changing the download request page so that end-users can still download a simple tarball to get going with the latest stable build of Ushahidi. However, the page now also shows a link to the code repository for all the devs out there.

Finally, we’re new to the open source space – at least in running a community, so we expect to learn along the way. Hopefully they won’t always be from mistakes. We’re glad this slap on the wrist came from a friend, and we’re hoping to get less of those in the future… :)

15 Responses to “Transparency, Communication and our own Personal Failephant”

  1. Great work!

    Really it’s wonderful to see the Ushahidi project come around, so quickly. None of the defensiveness that sometimes comes up. I wrote the forum post because i’m impressed with the Ushahidi project and want it to succeed.

    This kind of response, hearing the criticism, finding ways to improve, i wish it was something every project had. It’s a model for how to learn and adjust to becoming an open source project.

    Thank you for hearing my critiques and congratulations on such a top notch response.

  2. Well Rabble, as you know, this post is dedicated to you. We do appreciate the time you put into critiquing us.

  3. I equate open source to marriage. A great many people know that they want to do it and when it is time for it, you just know it’s time, but getting that wedding together can nearly kill you in the process!

    This reinforces the thoughts I had after our chat last week in that we really, really need to be ready to go the whole nine meters with open sourcing Maneno when we do it. I am learning much from your pains if it’s any consolation :)

  4. @Miquel – Actually, it’s a lot like marriage in this way: you’ll never be *ready* for it. You just have to get to as good of a place as you can and go fail quickly.

  5. I totally agree with rabbles input! But i think it was a bit too dramatic. Releasing open source is the first step and building a community of people working on the code is a second step. I was mostly annoyed to leave my e-mail to get the code, this should not be …

    There is are loads of project hosting facilities around: sourceforge, google code just to name the 2 biggest … and they all offer the needed access and communication, but again: if you feel like rolling out the code, just put a tarball with in on some server, which is IMHO better than hiding it from the world;

    and then you have to probably restructure your development process to fit the new infrastructure you are planing to use … this can be tricky if you want to have a commercial version on top of the open source base (which IMHO is not bad) … but you maybe end up maintaining 2 development processes …

    years ago I used http://gforge.org as a tool which allows you to setup on your own server and have public and private projects … this was 5 years ago … personally since i am now *happy* 100% FOOS developer, i used google code for all of my projects. yes, google is a big evil company, but the project hosting is just very good, very slick, very fast, very high uptime etc …

    and by the way: can please somebody point Kenny to this discussion, i am sure frontlineSMS can learn from it too ;-)

    cheers, mk

  6. Posts like this are why I have so much admiration for you and the whole Ushahidi team, Erik. With this spirit I don’t see how you can possibly fail.

  7. Great response, Erik. Can you please open source the failephant graphic (with the ushahidi logo removed, of course).

  8. Kaushal

    wait .. does Ed’s and Miquel’s comments mean we might see an Open Source Meedan & Maneno someday in the near future — ahem!! :P

  9. I think it’s best to give Ushahidi all the open source attention whether Erik may want it or now >:) For us, Maneno is a long way away a point where open sourcing it makes any degree of sense. As I’m seeing with what Ushahidi is going through, you really need a good swath of hours bandwidth to manage the open source initiative and right now, we’re just focused on getting the core to hum the right music.

  10. That’s the way to move forward… When I heard on BBC Digital Planet that Ushahidi were open-sourced I came to Ushahidi website to find out that code source were not available and only available in a Ushahidi’s subdomain. I was a bit disappointed, good to hear that it is now there to download.

    And kudos to the team!!