Are there any open source projects in java that could use a OCJP guy with a non IT background ? OR do i have to master other technologies also to be eligible for contributing ?
If the answer to the second one is yes, then which technologies would you suggest ?
The usual way to get involved in an open source project is to hang out on their mailing list (or wherever they communicate), and start offering improvements. It will likely be a while until you'll be offered to become an official committer on high visibility projects like the Apache ones. And I advise not even to try getting involved in a project that you don't really care about; it'll likely end as a disappointment (and a waste of time) both for you and the other project members.
Tim Moores wrote:The usual way to get involved in an open source project is to hang out on their mailing list (or wherever they communicate), and start offering improvements. It will likely be a while until you'll be offered to become an official committer on high visibility projects like the Apache ones. And I advise not even to try getting involved in a project that you don't really care about; it'll likely end as a disappointment (and a waste of time) both for you and the other project members.
I agree. Can you suggest some "low" visibility open-source projects for beginners like me? There are many job/internship websites to bring employers and candidates together. Is there such a system specifically for open source projects ?
k reeta wrote:So I have found a couple of books, though can't vouch for them as I haven't tried them -
(1) Practical Java Project for Beginners - B.M. Harwani
(2) Java Programming Inc. by CEP Inc. and Sestak
(3) Java Projects BPB
You should be able to find copies on Amazon/Flipkart.
Hope that helps!
Projects in books will not help much. The only way they can help is that when one would go on to enhance the project given.
Going back to your query and elaborating on what others have said,
Participating in Open Source projects would take a lot of effort and dedication. Its because one has to
1. understand how the code works,
2. play around with it,
3. explore the documentation,
4. understand the code and not get bogged down by the volume of code
5. be active on the mailing list,
6. go through the bug list to see if something you can fix,
7. submit a patch for the bug, hope it gets accepted,
8. 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.
On a side note: there have been a few such queries on the forum before, so you might get lot of suggestions.