Guide to OpenSource Contributions.

Dev Tyagi
ACM JUIT
Published in
4 min readJun 11, 2020

Contributing to open-source projects is one of the best ways to enhance your skills. In this article, We’ll discuss how one can make his/her first contribution to the OpenSource community.

About Me.

My name is Dev Pratap Tyagi, Pursuing B.Tech CSE from Jaypee University of Information Technology, Waknaghat. I’m an aspiring Android Developer and I have been contributing to a few OpenSource Android Projects lately. I felt the need to share what I’ve learned and that’s what made me write this article.

Open source software is software with source code that anyone can inspect, modify, and enhance.

What are the prerequisites?

Programming Language

For any kind of project, you must be familiar with a particular programming language. Learning a language and making projects in that language would be the first step and if you’re looking for an OpenSource contribution guide, I assume that you’re already familiar with programming.

Version Control System

You need to be familiar with basic Git commands like push, pull, clone, commit, etc.

After learning git, you can learn how to use GitHub where you can report issues for a particular project, send PRs, and connect with the project maintainers.

You can learn Git and Github from various tutorials available on youtube, I’m sharing a few that helped me.

Git & Github Crash Course

Learn Git in 15 minutes

Learn GitHub in 20 minutes

How do I start?

Once you’re familiar with the basics, you can find some beginner-friendly projects before targeting big organizations. The following links will help you find your first project.

MunGell/awesome-for-beginners

Up For Grabs

Code Triage

You can also check out the GitHub repositories of the organizations that have been a part of GSoC (Google Summer of Code).

Look for a project which is of your domain or interest, For example, If you’re an Android Developer, you can filter out Android Projects.

Remember: Open Source contribution doesn’t mean contributing to well-known communities only. You shouldn't be contributing to open source projects because someone told you that your GitHub profile is your new resume, but because you want to enhance your own skills.

Creating your first PR

A pull request(PR) is a method of submitting contributions to an open development project.

There are different ways you can contribute, I would recommend looking for problems that you can solve in the ‘issues’ section of the GitHub repository. Other than that you can even report any bug that you found in the project while testing and create a PR to fix that bug. (Finding bugs can be difficult as a beginner). You can even submit suggestions for a new feature.

Your first PR can be even a Typo Correction! Or maybe you can make changes in the README file.

While selecting issues to work on, You can sort the issues based on their difficulty. Many organizations attach labels to the issues. For the easy ones, Look for issues with labels: beginner-friendly, good first issue, easy, newcomers, etc. Comment on the issue thread and ask if that particular issue can be assigned to you if no one else is already working on it. DO NOT start solving any issue unless you’ve been assigned to it.

Once you’ve been assigned to an issue, You can start working on it and then create a PR with an appropriate title in accordance with the organization’s contribution guidelines. Make sure that any changes that you make are on a separate branch. For example if I’m working on issue #703, I’d create a branch with the name ‘fix_issue_703’. The branch naming is totally up to you but just make sure you create a separate branch. You’ll then create a PR to merge this branch into the master/development branch of the main repository.

Different organizations require contributors to follow their guidelines. They usually have a “How to Contribute?” section in the README file of the repository. You must carefully read such guidelines before contributing.

What next?

Your PR will be reviewed by the maintainers. They’ll make sure that the changes you’ve made do not cause any errors. The maintainers can even request changes in the PR, you’ll have to connect with them, start interacting via comment threads, IRC, mailing lists, etc.

Once your PR is approved, Your PR will be ready to merge and anyone who has ‘write access’ for that project will be able to merge your PR. You’ll be listed as a contributor in the project’s insights section. Congratulation!

You can even participate in different OpenSource programs like GSoC, Outreachy, HacktoberFest etc.

Here’s a list of different OpenSource Programs:

https://github.com/tapaswenipathak/Open-Source-Programs

Benefits of Contributing to Open Source Projects.

  • Improves your skills.
  • You get the idea of how programs are written at an Industry Level.
  • Build a great network.
  • Learn new coding practices.

And many more…

I hope you like it, feel free to contact me for any help.

LinkedIn: Dev Tyagi

Thank You.

--

--