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.
Categories: Code, Open Source
Lol @ “RTFM”
what is this????? I din’t get it…not expected such answer and what is RTFM.
Hi Milind, I havent replied to your query yet. This was one of the comments which I just approved. I would reply to your comment soon.
Hi sir/madam, I have to contribute my knowledge in open source projects(java) so how can I join such projects.and also suggests me good books or websites for preparing for scjp.
For the first question- this is why the post was written- how to contribute to open source projects.
For SCJP- SCJP Guide by Kathy Seirra and Bert Bates is good. Also for website you can visit http://www.coderanch.com/ for SCJP material, mock exams and forums.
thanks sir sanaulla sir…..
can you please list down top 10 Java open source projects??
Kindly also list the links to participate in those projects.
I think is a bit too code-centric.
The success of an open source project is not necessarily defined by the quality of its codebase, but rather a combination of quality across all project areas: e.g. code, tests, documentation, support and community.
Those wishing to get involved in open source should try not to limit themselves to just contributing code, but to try and help the project in general.
Thanks David for adding to this. Yes, I agree its lot of code centric. I will definitely update to add these points as well.
I think contributing in terms of adding more tests is also a great way to learn about the code. And definitely writing documentation is no easy task- one has to know about the component/project for which documentation is being written.