What it takes to participate in Open source projects?
There was a query on Javaranch regarding participating in Open Source projects and I made an attempt to provide somewhat elaborate reply to it. I thought of putting up the reply on my blog as well and may be update it further for the help of others.
Participating in Open Source projects would take a lot of effort and dedication. Its because one has to:
- understand how the code works,
- play around with it,
- explore the documentation,
- understand the code and not get bogged down by the volume of code
- be active on the mailing list,
- go through the bug list to see if something you can fix,
- submit a patch for the bug, hope it gets accepted,
- repeat 6-7 until core members of the project start recognizing you and possibly trust you with the permission to directly merge the fixes to the codebase.
Its important one has to understand the coding guidelines for each project because each of them can possibly have a different approach. So confirming to the guidelines of the project is a MUST.
If you are considering a low activity projects then it would be that the project is abandoned and no longer actively managed or that there are very few developers working on it and the possibility of you getting help faster would be less. If there are more people working on a project and its more active then you can find lot of people trying to help you out with your queries. But before asking the questions you should have read all the manuals/documentation otherwise the reply would be RTFM.
Having SCJP is not counted as a criteria for participating in open source projects, its an indication that you have some basic understanding of Java. I have seen lot of Non IT people participating big time in open source projects, its just the interest and dedication that is required. You dont do it for adding them to your resume or for projecting yourself as a more suitable candidate for some interviews. All these come as the after effects of your participation in the projects.
If at all you find it difficult to participate in open source projects, then there are other options like participating in programming competitions. For example you can find lot of such opportunities on TopCoder, Programmable Web contests.