How Can I Start Contributing to Free and Open Source Software (FOSS)
Note
The document “How to start contributing to or using Open Source Software” (locally mirrored here) is a more comprehensive essay covering the theme of this one, which in turn was written as an ad-hoc document while the other document was still work in progress. Nevertheless, you may wish to read this page as well, or beforehand, because it’s not very long.
Introduction
We’re often getting asked “I’d like to contribute to free and open-source software (FOSS). How can I start?”. This short resource aims to be an ad-hoc answer to the question.
First of all, you should read the following documents:
“Open Source, Free Software and Other Beasts” - to learn what FOSS really is about.
“How to become a Hacker” by Eric S. Raymond - explains the attitude of the so-called “hackers” (in this context - a creative enthusiast - not a computer intruder) and how to become one.
The Cathedral and the Bazaar series (also by Eric Raymond) - analyses the world of open-source from several aspects.
Software Release Practice HOWTO - describes good release practices for open-source projects.
You may also wish to read the Freenode’s ##programming chatroom’s FAQ and some other FAQs that I maintain.
After you’ve read all that, you should learn enough programming to prove yourself useful, in case you don’t already (see our recommended resources). And after that, you should look for a project to contribute to. For that see OpenHatch and Freecode.
You may wish to get a mentor who will guide you, and that you’ll be able to consult in case you encounter difficulties. I’m willing to act as a mentor and you should be able to find others who will be willing to guide you.
Image Attribution
"Online girl" image from freesvg.org by an unknown artist.