DEV Community

Cover image for How to find open-source projects to contribute to
Shubham Sharma for Documatic

Posted on

How to find open-source projects to contribute to

Introduction

In this article, we are going to see how you can find open-source communities to contribute to and why you should care about open-source. Open source not only improves your technical skills but also your communication and networking skills. So you can get jobs, clients and the money that you deserve.

It is also very important if you want to land a very high-paying job then if you mention it in your resume then you will have a much higher chance to get hired.

A very common problem people face is finding the right project to contribute to, but don't worry it happens to most people who want to get started with open-source contributions.

Stock image

What are open-source projects?

An open-source project is a type of project with source code in which you can inspect, modify and implement some new ideas. It is just like social coding.
Basically, it means, it's free to use and free to access to modify.
In GitHub people can not only comment on your code, and fork your code to share it but they can also contribute back to the project by adding some features to it or by fixing some bugs, Just like StackOverFlow where all the developers provide answers to the various problems posted by another developer. A lot of open-source projects are available on popular hosting sites like GitHub, GitLab or SourceForge.

Image description

Why one should contribute to open-source projects?

You should care about open-source because you're probably using a lot of open-source tools and projects, and it's great you're are using these amazing open-source tools but they are only there available because people like you who contribute to them.
It's an inclusive community and you get to know and collaborate with people around the world.

Some more advantages are:

  • Improves your problem-solving skills.
  • Improves your technical skills.
  • Helps to gather information about a specific topic.
  • You will get Industry level experience.

Image description

What are examples of some open-source projects?

There are many open-source projects out there, and many of them are likely tools you have used before. These are some popular products that you may be surprised to know are open source.

  • Android is an open-source operating system in which we can implement our own ideas.
  • Linux is an open-source kernel and we see so many servers that run Linux.
  • You may be familiar with JQuery, a JavaScript library that provides many front-end capabilities like animation, less code writing, transformation and much more.
  • Our popular version control system Git, is fittingly the best example of open-source software.

Image description

How this will benefit your career?

Open source is a great way to get real-world software development experience from the comfort of your home. It will enhance your resume very much. You'll get to put on some really big projects that you contributed to. You get the satisfaction that your written code is being used by people around the world.
You get to know networking and making connections from around the world, the internal working of the project, a productive mindset and good communication skills.
You will get good level experience that how actually it works. It will also give a good impression when you discuss your contribution in public.

Image description

How to get involved in open source.

The source code for open-source projects is available to anyone -- from the developer just starting out to the developer with decades of experience. So you can contribute at any point in your development career and become a member of the open-source community! Here are a few things to look out for as you search for an open-source project to get involved with.

What to look for in the project?

  • An open-source license.
  • Easy to read and unambiguous documentation.
  • Recent activity.
  • Activity community or any medium to discuss.
  • Tagged issues and features to implement.
  • Piques your interest.

Ideas to contribute to open-source.

  • Update documentation
  • Post an issue if you find any.
  • Fix accessibility issues.
  • Make the descriptive clean and inclusive.
  • Use the project to build something useful.

Prerequisites

Prerequisites are git, programming
language of your choice and the tech stack of your choice. e.g Web dev, android development, iOS development, blockchain and machine learning etc. You don't need to be an expert, if you have basic to medium knowledge of your tech stack you can definitely contribute.

** Bonus Tip ** You can also learn some new technologies at this stage such as you can learn iOS development using Swift or Objective C and also it is a demanded skill.

Image description

Where to find projects/communities to contribute?

You are not alone if you are wondering where to get started. It can be overwhelming to start coding without knowing what to build or what it takes to build a project.
The best way to find a project is by going backwards and forward and searching for the issues rather than searching for a project directly. The project maintainers who are looking for contributors usually add labels to some issues.

If you are just starting out your open-source journey, then I would suggest you go with good first issue labelled issues. And here is a list of some websites where you can find these good first issues

If you already have a project in mind, then it's best to carefully look at the issues with the label and whether it suits your tech stack or not, And if the answer is yes, then you are good to go.
Hope I have covered your all doubts regarding this topic. If you have any queries, you can directly reach out to me on Twitter or LinkedIn

Thanks for reading this blog.

Image description

Top comments (3)

Collapse
 
ajmas profile image
Andre-John Mas

My reasons for contributing to an open source project

  • It is a dependency, but a breakage or limitation, means it needs some code changes and it is in my or my teams interest to provide those changes.
  • It is an app I use and there is an interest to improve it, either due to a bug or current limitation
  • It is one of my open source projects and I want to continue improving it

I appreciate these sound a little self serving, but it’s hard to really get involved in a project if there isn’t some personal interest or benefit, especially when you are loaded with work from your day job.

I should note that in extreme cases I’ll fork a project, but that comes with its own risks. Usually forking is done because the original project is not getting maintained and there aren’t any good alternative projects to turn to. This should be a large ditch option.

Before contributing to an open source project I’ll check to see when the last change was, how many pending pull-requests and the issue activity. Something that hasn’t been touched in a year is a red flag, suggesting PRs aren’t likely to be addressed.

The other thing I’d suggest is opening or participating in issues or discussions before randomly providing changes. Also get a feel for code structure, coding and testing framework of that project. Nothing worse than a contributor who ignores those details. Turn off your auto-formatter, unless you are sure the format is consistent with the project’s.

Collapse
 
moazamdev profile image
Moazam Ali

Great article

Collapse
 
munyanezaarmel profile image
Munyaneza Armel

Well said, sir which can project can I contribute to meet hiring managers