The Ultimate Guide To Open Source Contribution

Photo by Andrew Neel on Unsplash

The Ultimate Guide To Open Source Contribution

In this blog you will know more about open source, and how can you make your first contribution. Also, I will discuss some of the myths about open source contributions. Contributing to open source has always been a great experience for me, and has also helped in improving my skills as a whole.

I have contributed to the open source KDE project for the past 2 years. I was also selected as a Google Summer of Code student for the KDE GCompris project, and also worked as a mentor for the same.

Table of contents

  1. What is an open source project?
  2. Skills to have for open source contribution
  3. How to select projects?
  4. Making your first contribution
  5. Common myths about open source contribution

1. What is an open source project?

In most simple terms, an Open Source project is a project whose source code is made publicly available to modify, improve, and contribute to further development.

Mozilla Browser, Android by Google, Linux Operating system are some of the popular open source projects.

2. Skills to have for open source contribution

When one thinks of contributing to open source projects the first question that comes in the mind is "What skills do I need to have for contribution?"

One of the first skills which I think one must have before contributing to any open source project is Git and Github. You must be comfortable with the basic skills of Git and Github as branch, repository, making a pull request, working with different branches.

The second skill is that you must have basic knowledge about the domain to which you belong. If you are a developer you must have basic development skills of Web, Android, or anything else. If you're a technical writer you should have technical writing experience, and the same applies to different domains.

You are a designer then you can contribute to open source projects.

You are a technical writer then you can contribute to open source projects.

You are a community manager then you can contribute to open source projects.

You are a developer then you can contribute to open source projects.

Whatever role you are working on or the domain you belong too there are always some skills you have to make contributions to open source projects.

3. How to select projects?

If you start browsing projects by searching on Google "Different open-source projects", I think you will be lost on which projects to select as there are more than a million open source projects on Github.

So, I would suggest the following way to select open source projects.

Firstly, you can check for open source projects within any company. As many companies like Amazon, Google, Facebook, etc have their open source projects hosted over Github. So, try checking if any of the projects match your skills or interests you.

Secondly, there are many open source programs conducted each year as Google Summer of Code, Outreachy, HacktoberFest. You can browse these sites to check for different projects as per your skills. I would suggest this way for the beginners.

Remember one thing while selecting the project you won't possess all the skills used by the projects. So, if the project interests you, and a few of your skills are aligned with the project then you should be good to select the project. You can learn other skills on the way while contributing to the project.

4. Making your first contribution

So, now are in the final step in making your contribution. Take some time to select the projects before starting to contribute. As the main aim of contributing to any project is to improve your skills. You can only achieve this when you make some good contributions to the project.

After selecting the project the first thing I would suggest is to look for the communication channels of the project. Many projects use Gitter, Slack, or mailing lists for communication. I suggest this step as when you start exploring the project to make your first contribution there are many questions or doubts you may have. So, the communication channels would be the perfect place to ask questions, and clear your doubts. The open source community peoples are quite friendly, and helpful so they are always ready to help.

Next, you can start exploring the projects and check out the contribution guides. If you want to contribute as a developer set up the project locally first. After that, you can check out "good first issue" under the issues tab for contribution. That, should be your starting point to contribute. It can take time in the beginning to figure out the solution so take some time to understand the project structure, codebase. Have patience in the beginning while contributing as some codebases are large so it can vary from individual to individual as per their experience.

Other than being a developer if you are a technical writer then you can help in contributing to docs of the project. If want to contribute in any other way then feel free to reach out to the maintainer of the project and discuss with them.

5. Common myths about open source contribution

a. Only developers can contribute to open source projects

This is one of the most common myths people have that only developers can contribute to open source projects. The fact is that there are many people other than the developer who helps in open source projects. As I mentioned above whether you are a developer, technical writer, community manager there's always something for you to contribute in open source.

b. Open source projects are just for experienced people

As a beginner, if you think that you can't contribute to open source then you're completely wrong about this. There are many beginner people as developers, or designers who are contributing to open source projects.

Remember an experienced person was once a beginner!!!

I hope this guide would be helpful for you in making your first open-source contribution.