Advice On Finding OpenSource Projects To Contribute

Recently I saw and answered an interesting question on Quora which made me think outside the box when compared to the traditional advice I have seen over the years.

Where can I get some open source projects to work upon?

There are many ways to find open source projects for contribution, but first you need do to an analysis on what your interests are and what types of applications could you be passionate about.

1.) Your passions may range from learning how to program games, network applications, and libraries - pick a passion or two and take note.

2.) Volunteering requires time and dedication. Determine how much time you are willing to set aside because project maintainers and mentors won't have time for non-serious drop in help. Nobody likes empty promises.

3.) What are you good at/what is your skill set? Determine if you are willing to document existing projects (or create documentation when there is none), program, perform bug triage and fixing and so on.... Choose a task.

4.) Research projects and exercise patience. If you jump right into a project without doing your "research", you will be no help to anyone. Try to learn as much as possible about a project that interests you by going through:

  • mailing lists/ forums
  • bug trackers
  • documentation and help
  • reviewing tutorials on the web
  • reviewing source code
  • actually using the software

Find an area that is week in the above and take note.

5.) Approach the maintainers/developers with an earnest and professional attitude. Introduce yourself professionally with a well named email account, explain the issue or area you would like to help in (if you have a patch already then provide it as well), and if/how you can help. If the maintainer doesn't reply, try the mailing list, but don't get angry - he/she may be doing this outside of work, academia/research or on their own time... he/she might just be busy!

A few sources to find projects that are on the top of my head are:

  • Source Forge
  • Launchpad
  • Mentor programs (Debian, Fedora etc...)
  • I hope this advice helps and provides a new perspective! Remember to always keep learning - the moment you stop... its not fun any more.