Lessons in Creating open source software
Ed Corrado has a nice post entitled “Little Things Matter” on some key things that open source software creators should keep in mind. I agree with the spirit of what Ed says wholeheartedly.
I can’t tell you how many times when I was an open source noob, I’d wonder what the heck the installation instructions were talking about or was frustrated because no one answered questions posted to the listserv. I suppose that is one of the reasons I thought “when I write a book on open source web applications that it will contain specific installation instructions”. Having written that book now, its not as easy as it might seem. I mean do I give step by step instruction on MySQL using the command line or MyPHPAdmin? Instruction for what OS? It is daunting for both people writing documentation and those using it.
Which bring us to the point that Kathryn Greenhill makes in comment on a post by Roy Tennant which highlights the Ed’s commentary. Open source software means that users need to take an more active role than often people are used to taking. More than once at the end of a frustrating day working to get something installed properly, I’ve gone back in and edited software’s documentation wiki or sent an email with suggested changes. Better and more thorough documentation almost always comes from a community effort.
To do this though one has to learn how to participate in an open source community. Learning how to participate is a ongoing process though because one may participate in new ways or in different communities over time. The idea though is that community members are able to build confidence over time by acquiring new skills. Case in point, there is a patch for a Drupal module I’d like to test, try and report back on. But I’ve never done that before. So I don’t know how to apply the patch, which means I’m sort of stuck until I either:
- Go searching the internet for instructions
- Ask someone who I know might how to do it to help me
At the moment I’m not feeling brave enough to deal with the situation. I’m nervous about the possibility of seriously messing up my test server and having to rebuild it, but I’m also afraid of looking stupid because I have to admit that I’m outside my comfort zone.
Many of the things that Ed suggest in his post help to build a larger comfortable starting point for users trying to implement open source software and participate in the community. Without that it sort of feels like you’re hanging on by your finger nails trying to do this stuff and it makes you not want to try. Everyone needs a starting point and if you’re creating open source software you have to think about starting point you are giving people to be part of your software’s community.