I would like to know if someone could explain to me how to go about working on an open source project. I know that you can use git and other types of programs to commit code, but is there some sort of process in which to officially begin to add to a project.

Also, how do open source projects guard against crappy code commits or bugs

closed as too broad by Mnementh, Gilles, curiousdannii, overactor, Zizouz212 Jun 28 '15 at 22:58

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    I'd suggest splitting this question out in two separate questions. I think the latter already has an answer somewhere, but I can't find it right now. – Martijn Jun 28 '15 at 7:20
  • This seems a bit broad, maybe it would be best as Community Wiki? – overactor Jun 28 '15 at 10:07
  • 1
    @overactor since it's broad due to containing sub-questions, I'd recommend splitting them out into separate question posts first, and then the community can decide which are on topic and which to close/modify. – trichoplax Jun 28 '15 at 14:10
  • 1
    Since the majority of the existing answer addresses the first question, perhaps it would be best to remove the second paragraph. The second paragraph can then be posted as a separate question if it isn't a duplicate. – trichoplax Jun 28 '15 at 14:13
  • 1
    The second part is a duplicate of opensource.stackexchange.com/questions/183/… by the way – Martijn Jun 28 '15 at 17:22
up vote 6 down vote accepted

Answer to your first question, getting involved with an open source software is as easy as looking at the About section of your favorite software.

There are loads and loads of open source software around and as a FOSS newbie, it's easy to get confused as to which one to pick and start working with. I'd suggest a software that you really care about and use everyday. Once you've done that, either look in the about section of that particular software or just Google, How do I contribute to xyz, with xyz being the name of the software.

Next, you need to find a channel through which the community maintaining the software communicates through. In general, these channels are IRC, mailing lists or sometimes even Gitter. I've also seen a couple of communities that use chat.stackexchange to communicate.

Once you're done finding the channel, go and Hello World!. Just go to their comm channel and say that you've been using software xyz for a while and you think you can contribute, and that you'd like some help getting started. With the exception of a few people, most will help you personally, solving your doubts and giving you the right links whenever you need.

The links given by the community people will have one or more of the following:

  • A getting started manual
  • A link to their github/git/other version control page
  • A link to their list of tools
  • A link to their bugs page/review page/issues page

Read the manual completely if possible, it'll solve most of your doubts. Download their codebase, read the README, try fiddling with the codebase, learn how to compile it. If you screw up, delete and re-download.
Download their tools, install them, see how they work.
Look for basic bugs/ask for basic bugs on comm channel.

Once you've solved your first few bugs, you'll start knowing the codebase better and you can go for bigger bugs/wishlist-items. That's it, now you're a contributor.


Now your second question. Most organisations have rigid build tests/review systems which prevent against crappy code being pushed. And even if some bad code gets into deployment, affecting the software, the users come back and report to the organisation, and you can be sure that the bad code is removed within a short period, which is why open source is awesome!

Note: This is not a generalization. These are the experiences of me and my colleagues when we started off with Open Source.

  • Very good and very informative. Thanks a lot for your answer!! – KingJames Jul 2 '15 at 3:34

Not the answer you're looking for? Browse other questions tagged or ask your own question.