Contributing to an Open Source project can be very challenging, to say the least. I know because during my time as intern, I was asked to join a project and contribute.
This is what I learned about getting integrated into this community.
To contribute to Open Source is not an obligation. Nobody will pay you for this and chances are your boss won’t give you a salary raise to do a pull request. You are probably already discouraged at this point.
If so, I strongly recommend that you stop reading this.
However, there are multiple reasons why you should contribute to an Open Source project. First of all, you will have the opportunity to learn how the real world functions. It will also teach you about structure, good and bad practices, and elements of the language itself.
Most importantly, you’ll get better at reading other people’s code and understand it much faster.
Another advantage to contributing is that it kind of “pretties up” your resume. It can also help you during job interviews and perhaps add some points to your favor. Just imagine how cool would it be to be able to say that you helped AngularJS or Bootstrap resolve a bug or two.
Just as importantly is giving back. Most likely, you have used an Open Source library more than once for your projects, having saved you a significant amount of hours. Don’t you think it would be great to return the favor?
It is a win all around.
Contributing to Your Favorite Project
How can you actually get your contribution to be accepted?
The beauty of Open Source is that your contribution, however small, will be well received. Most of the projects encourage everyone to pitch in, even if only for spotting out typos or grammar mistakes.
You must first choose the project. It can be a library that you have used, one your are interested in learning, or one that you’ve heard of at some point. You have a broad gamut to choose from!
Once you have decided on a project, there’s a whole bunch of things you can help with. Grammar corrections, code reviews, reporting issues, fixing bugs. You can even suggest features to the project.
You must learn how your chosen project works. Perhaps it has a unique way to name branches, or you may have the freedom to work in any way you want.
Name both your methods/classes/variables and mainly, your commits. If they do not have a meaningful name, those responsible for assessing your contribution surely will ignore them; in the best case, you will be asked to change them.
A Final Word …
Learn to accept feedback. Be diplomatic.
You must learn to also accept rejection, as this will teach you what not to do next time.
With a little luck and patience, your contributions will be accepted and you can go about building your reputation within the Open Source community.