The OpenHatch wiki has an excellent article on finding an Open Source project. I summarize their recommended process here:
Step 1: Brainstorming Projects
Make a list of potential projects by doing some searches inspired by the following:
- What open source software do you use? Consider that software and related projects.
- Is there a project whose goals you find compelling? For instance, humanitarian projects or projects relating to a hobby or field of interest.
- Are there any people you know who work on open source projects? Maybe you can join them.
- Check out curated lists, like the Google Summer of Code mentoring projects.
Step 2: Researching Projects
Now look up key information about each potential project:
- website url
- source repository url
- mailing list
- IRC channel
- contributor guide
- installation guide
Step 3: Evaluating Projects
Use that information to evaluate the project:
Is this project active?
- When was the last issue reported?
- When was the last commit?
How responsive are the maintainers?
- How long does it take a maintainer to respond to an issue?
- Is the maintainer giving feedback on pull requests and helping people submit appropriate requests?
Is the community welcoming?
- Read through their mailing list archives, or lurk on their IRC channel to see how newcomers are treated.
- When people have questions, are they answered patiently or ignored?
- Check out a Code of Conduct, if the project is large enough.
Step 4: Contacting Projects
At this point you probably have a favorite project or two.
Say hello on the IRC channel
Tell them you're new to the community and interested in contributing. You can ask:
- What do they like about the project? How long have they been involved?
- Are there any issues that people are especially keen to see being worked on?
- Is there anything particularly complicated or difficult that might be an obstacle to contributing? How would they suggest dealing with that?
Find an issue you might want to tackle or a bug to reproduce
Read through the project's issue tracker. If you find an issue you'd like to work on, leave a comment on the thread saying you'd like to do so.
You can also leave a comment on the tracker about reproducing a bug. Make sure to include relevant information about the version of the project you're using, the system you're on, and other potential factors.
A final word from OpenHatch:
A quick note: you might wonder why we asked you to find multiple
projects. The truth is that finding a good open source project is a
lot like dating or finding a job. It often doesn't work out on the
first try. That doesn't mean you're a bad contributor or that the
project is a bad project - it may just be a bad fit, or bad timing. So
keep an open mind, and keep trying projects until you find one that
you really enjoy contributing to.