What's the best way to get involved in an open source project? There are several projects I'd be interested in, and others I'd be happy to look into if just to keep my skills sharp in languages I don't currently use on a day to day basis. However, I'm not sure how to get started.
It's funny several people have asked how to find people to get involved (myself included)... maybe someone should build a site. I'll add to the question, (if you don't mind), by asking if there is a place where people like me, who needs help with an open-source project, and Tony, who would like to help can actually get together?
There are many ways depending on your skills. Most of the time you will start by doing testing and bug reporting. After some time you will start to submit patches. Even later, if the community likes what you do, you can receive source code commit rights.
This question have been asked many times and if you search you will find many interesting pages. This is what I have found:
http://ubuntuforums.org/showthread.php?t=452836
http://www.youtube.com/watch?v=w15pymy84r4
Anyway remember that working on open source software should be fun.
As the owner of an open-source project, I can tell you that people who are interested in joining that project have contacted me through the hosting service. In my case, Sourceforge.net and then Google Code. In both cases, once a project administrator agrees to include you in the project, you can be formally added to the project on the hosting service which gives you certain rights and privileges insofar as the host provides.
That said, you can forego all that up front and simply download the code and familiarize yourself with it and see if you think you will be able to (or want to) contribute after seeing how it's written. You can maybe even make a change or fix a bug to get your hands dirty. If you think it's worth including in the project, then contact the administrator along with your change. That will show that you really are interested in contributing and didn't just fire off an email on a whim.
I think a big part of "getting involved" in an opensource project isn't just being a faceless patch submitter. Whilst most open source projects will welcome patches (documented are best to save someone having to work out what your great new code does!) from anywhere, the ones they really like are the ones which come with a person attached to them.
I've been working on one specific project (obligatory plug: http://www.rockbox.org/, an open source firmware replacement for a variety of MP3 players) for a few years now, and the way I got involved first was by having a question about an aspect of functionality. I asked this in the projects dedicated IRC channel, found out the functionality was missing, and then implemented it for them. And I've stuck around since. This is the thing projects like most - having people who care enough not to just to submit a patch that fixes bug X that scratches their own personal itch - but who want to hang around long enough to find there are other bugs that they could fix, which might not matter so much to them personally - but matter to a lot of other people who haven't had time to address fixing them themselves.
Just my 2 cents ;)
I recommend this article...
He explained well about contributing open source projects...
My experience tells me that most open source projects need people for end user documentation. If you have the skill and desire, any OSS project leader would be happy to have a good documentation person.
Get the source, change what you'd like to change or a feature request/bug report wants, post it back, get in touch with the people (mailinglist, irc, forums, ...) and so on.
Do whatever you think is appropriate. It mostly works that simple.
Write good documentation!
(While sounding boring, it is one of the things that 1) requires a really deep insigth in the code, and 2) nobody else gets around to do. Hence it is important :) )