People sometimes ask how to get involved in open source software. In fact Scott Hanselman posted on a the subject in great detail over two years ago when detailed how you could submit a patch to an open source project. Good intentions aside, getting involved at the source code level of a mature open source project can be quite daunting. There is a often large, hopefully active, codebase which you might not be too familiar with. Despite your sincere interest in contributing, often the startup "cost" is too great and you find that there is a sense of hopelessness in achieving that goal. It really doesn't have to be this way.
I'd like to suggest that a great way to getting started with open source is getting involved in the mailing list for a project by answering questions posted by the community. Nearly all, if not all, of the open source projects I use have either a forum or a mailing list associated with them.
My History in Open Source
Despite my use and open support of open source software I have to date only submitted 2.5 patches to the open source community (the 1/2 patch was me assisting in writing a RegularExpression for the developer who was actually writing the meat of the patch). Despite my best intentions, I have yet to know an open source codebase well enough in my opinion to submit substantive contributions to the project, so I do my best to contribute in other ways.
I am currently an active participant on the RhinoMocks mailing list where I try to provide answers and guidance on RhinoMocks and testing in general. When I made the decision to start contributing on the list, my goal was simply to beat Ayende every once in awhile to the answer...seriously, the guy is fast. As I've spent some time on the list I've become more comfortable answering questions and I've seen others jump in and help as well. I like to think that I'm contributing to the project as a whole, if only by answering questions posed by other users of the framework. Often times, in the absence of others to assist, answering questions falls to the contributors of the project which takes away from the time they would have to further the development of the project.
If you've had a desire or an interest in getting involved and you aren't comfortable contributing via source code, think about getting involved with a project you already use and are familiar with. Subscribe to the forum and mailing list and challenge yourself to answer a single question, then two or three. I think you'll find that the managers of these projects will be very appreciative of the help!
01-24-2009 10:53 PM