Pay attention to instructions

Take your time to learn and follow the workflow to the letter.

  • If the setup instructions mention a specific version of a software to use, use that exact version instead of the latest version.

  • Do not skip any steps because you think that step is "not important".

  • Do not assume the current project does things the same way things were done in other projects you are familiar with.

Follow others

OSS projects involve many persons contributing in small measures. If each person did things their own way, the project will deteriorate into a mess very quickly. That is why being consistent is very important in OSS projects.

In the absence of specific instructions, follow what others are doing so that your work is consistent with the rest of the project. For example, if you are not sure how detailed you should make commit messages, you can look at commit messages done by a senior member of the team and follow the same.

Do your homework

Contributing to an OSS project requires you to figure out things on your own when you can, and seek help from the right resource (Google, StackOverflow, troubleshooting guides, issue tracker, etc.) when you cannot. While the dev team members will be glad to answer your questions, you will not make a good impression if you ask questions which are already answered in the mentioned resources.

Tip
When searching the GitHub issue tracker, note that the default result shows open issues only. Remember to click on the 'closed' tab to view closed issues that are related to your search.

Quality > Speed

Fixing an issue quickly is not the most important thing. In fact, issues given to new contributors are the ones the dev team already know how to fix. The dev team is more interested to see how you go about fixing the issue. They want to know whether you are systematic and detail-oriented.

The project developers are more impressed when you finish an issue in fewer attempts than when you finish it in a shorter time but take many attempts because you were not meticulous enough along the way.