How to get started with Open Source ๐Ÿš€

A beginner's guide to Open Source...

ยท

5 min read

Getting started with open source is one of the most difficult things you will find when you are just starting your contribution journey. Don't worry, I was in the same shoe almost one month back, and I made my way through it, so you can do it too. In this blog post, I will share all my learnings with you. โœจ

Please stick to the end, as I have some bonus advice for you.

What is Open Source? ๐Ÿคท๐Ÿปโ€โ™‚๏ธ

If a project or software is declared as Open Source, then it means that all the users/non-users of the project/software can use, distribute or modify the codebase of that project/software.

Now as an Open Source Contributor, you need to find projects, which are best matched according to your current skill set. There are hundreds of thousands of Open Source projects in GitHub, that you can contribute to. How to find the right one for you, will be covered later.

What skills do you need to start contributing?

All you need to know is Git & GitHub. Open Source contribution does not only mean modifying codes in projects or adding some functionality. It can also be as tiny as fixing typos in project documentation and adding or enhancing project README.

If you have the skills to code for large projects, then it is a plus for you. If this is your goal, then either you can learn any tech stack and voila! you have a project to work with or you can contribute to a project with your matched tech stack.

Note:- For beginners in Open Source, we always recommend, you start your journey with small issues like fixing documentation, README, adding small stuff, etc. This way you will never lose interest and you can see that you are making progress.

How to find the right project to contribute?

Finding the right project or a project that matches your skill level can be tiring and at the same confusing. There are lots of projects to choose from, where the issues are somehow complicated. Below I have stacked up some very important tips to find out projects -

  • Explore Section in GitHub - Inside Github, you will see an Explore section in the Navbar. By clicking on this button, you will land on a page, where you will find out a plethora of projects. Don't get scared or confused, this is not the right place for you now. This is why navigate to the Topics section.

    Topic section

    This is a screenshot of the Topics section, where you can see Popular topics to choose from. Click on your desired topic, and GitHub will show you the most popular projects in that topic. Personally, I know react, hence I click on react to get projects, which use react.

    This way you can get projects. Now after selecting a project, go to the Issues tab to get all the issues, that are listed for that project.

    One hack for starters is that, see there is a link named "we've collected some good first issues for you.". By clicking on this link, you will only see beginner-friendly issues in front of you. Take leverage of that.

  • goodfirstissues.dev - It is one website, which contains projects with only Good First Issues. You do not have to go to each project inside GitHub, and check for the good first issues. Directly jump into this site, and there is a filter by language criteria. Choose your favourite language, and you will see the projects with good first issues in GitHub. Go to the project and contribute.

  • Be Active in Communities - Being active in communities is one of the most important things to get your first issue. I got my first issue to contribute from Twitter. So, please engage in communities in Discord, slack, and Twitter. Participate more in hackathons, and virtual events to know more about projects, people are currently using.

    Where to find these communities?

    My answer will be just to be active on Twitter and join a public discord channel for any public project. Most of the big projects have their own channel. Also do attend virtual events, and there you will be able to network with many cool peoples. There also you will be able to join public discord/slack channels.

If you are present still at this point, then I have something for you. Here I will give you a few excellent projects to contribute to.

  1. LinkFree - It is a project by Eddie, which is a clone of LinkTree. It is a super awesome project and you will always find some good first issues to work with. Now to get those, you need to be super active. ๐Ÿ‘€

    Here is the link to this project in GitHub ->

    %[github.com/EddieHubCommunity/LinkFree]

  2. Layer5 - It is a cloud-native application, which contains lots of repositories in GitHub. Please check the repos, and you must be able to find repos with a good first issue.

    Here is the link to Layer5 in GitHub ->

    %[github.com/layer5io]

This is it for today, and I will try to update this blog post as I learn more new things about Open Source.

Please feel free to connect with me on Twitter - https://twitter.com/debprakashc.

Also please follow me on GitHub - https://github.com/ShuvamChatterjee28.

Thank you, and see you in another post. #WeMakeDevs

ย