I had been super interested in contributing to Open Source Projects for a long time but didn't have any idea on how to get started. This article is for anyone who wants to get into Open Source Projects development but feels overwhelmed on how to start.
Prerequisite
You will need basic knowledge of git
to follow along with this article. We will be focusing on Open Source Projects on GitHub, but the same skillset is transferable to any other git
based site like GitLab.
Getting Started
-
The first thing to do is Fork the repository you want to contribute to:
Now you have a copy of the repository in your GitHub account.
-
Copy the
clone
link: -
Execute the command:
git clone <clone link>
-
A copy of the repository will be created on your machine. Add Upstream remote, which is just a fancy name for the source repository, using:
git remote add <upstream remote name> <source repository clone link>
Now you can modify the code. Make sure to commit all the changes you make.
-
After committing changes, you can update the source repository using:
git push origin <branch name to push changes>
Now you can create a Pull Request in the source repository and the maintainers would review and merge your code.
How to overcome the fear of starting?
Now that you know how to contribute to Open Source Projects, you might just want to jump right in and contribute to the largest projects on the planet. But I can assure you when you are about to open your first few Pull Request, Imposter Syndrome will hit you real hard with questions like "Would I be able to do this correctly?" and "What if I fail?". The only antidote to this fear is ACTION! If you are feeling unsure, contact the members of the organisation you want to contribute to, as most organisations use some platform like Discord to discuss about the contributions. One year ago I was exactly in your shoes, and now I do have a couple of contributions in some amazing repositories:
If you start on this journey and keep putting one foot in front of the other even when challenges and difficulties show up, you will make it! Best of Luck :)
Thanks for reading
Need a Top Rated Software Development Freelancer to chop away your development woes? Contact me on Upwork
Want to see what I am working on? Check out my Personal Website and GitHub
Want to connect? Reach out to me on LinkedIn
Follow my blogs for bi-weekly new Tidbits on Medium
FAQ
These are a few commonly asked questions I get. So, I hope this FAQ section solves your issues.
-
I am a beginner, how should I learn Front-End Web Dev?
Look into the following articles: Would you mentor me?
Sorry, I am already under a lot of workload and would not have the time to mentor anyone.
Top comments (6)
Simple but very useful. Thanks
I think that's the best way to learn about other people's projects and have a way of practicing.
Thx for sharing 🙌
:)
Great, i have to fight with the impostor syndrome and starting doing some projects, i have to think that is better done than perfect.
Thank you! A very interesting article, but still there is some fear, but trying is not torture!
Well said :)