
Ask HN: How to Start Contributing to Open Source? - gcz92
I have been a serious follower and user of a couple open source projects but have been extremely overwhelmed by the idea of contributing to the project. How do I start? How did you start? What should I follow to get more information about open source communities?
======
viraptor
Where to start? Find a project that interests you, or one where you already
reported some bug. Depending on your skills, it may be better to choose a
project which doesn't have a huge codebase (quicker iterations possible), but
does have more than one developer (you'll get quicker responses).

How to start? Get as much information as possible about the project: what's
the dev/review strategy (github pull requests / mailing list / review board /
...), do they have contribution guidelines, do you have to sign any forms,
etc. Browse through existing issues - some projects label easy bugs as "entry
level" or similar. They're a good way to get involved.

Have a look at other contributions and find make sure you know what checks
they go through. Make sure you're not wasting other developer's time. For
example be sure that your new code passes all tests and adheres to the project
coding guidelines. If it looks like it may need updated documentation, include
updated documentation. If it looks like it may need extra explanation, make
sure to include it in the patch.

The only thing that's common in open source communities is that every one is
completely different and has its own rules. :) (And that they're mostly based
on free time contribution and mutual respect)

------
informatimago
1- get the source, 2- read the source, 3- find the bug list (trac, github
issues, launchpad, whatever the project uses), 4- search for an open bug that
seems easy to correct, 5- correct the bug, 6- request a merge, or send a
patch, 7- listen to comments and reviews about your patches, 8- repeat a
certain number of times, 9- eventually ask for write permissions on the
project repo, 10- continue correcting bugs and adding features, 11- write some
documentation, 12- help newbies.

