Intro
Nowadays I am watching a lot of folks getting into open source and I am very happy with that. Even I am a beginner in open source, but after doing a few contributions I am here to help the absolute beginners to do their first contributions.
Struggle with the First contribution
I have seen a lot of folks struggling with their first contributions, even though those folks are good and understand the codebase but they have a lot of doubts about git and github, how to push, how to raise a PR, and how git merge works. So yah! my advice to those folks would be to first watch a good git/github tutorial from youtube and implement the same making 2 github accounts, one dummy so that you can play with those 2 accounts resulting in more flexibility with git/github. For github tutorial you can watch Kunal Kushwaha git & github tutorial on youtube, link to that -> https://youtu.be/apGV9Kg7ics . After doing all these, I guess you will be more comfortable with your 1st contribution.
Understanding the codebase
I faced a lot of problems in understanding the codebase of different organizations when I was trying to contribute to GSOC'23, even though I was not selected 🥲. So like me there are a lot of beginners who are facing such issues. So for those folks, I advise them to choose only those projects which they are comfortable with. In the beginning, you should choose easy projects and once you are flexible with contributions then you may start working on more complex projects. Also if you have doubts regarding the project, try to reach out to the Project Admin or the Mentor of the project on either Discord or on slack or on other platforms on the which community connects, even other contributors may help you regarding the issue, you just need to ask your doubts there.
Steps to follow for making a contribution
Although you will learn this on the GitHub tutorial itself, still I am mentioning some important steps which you need to do in most of the projects.
git clone <repo link>
git remote add upstream <repo link>
git pull upstream main
git checkout -b <your_branch_name>
git add .
git commit -m "Relevant message"
git push -u origin <your_branch_name>
Open a Pull Request with the name of the issue and describe your changes with reasons. To create a pull request, click on
compare and pull requests
. Please ensure you compare your feature branch to the desired branch of the repository you are supposed to make a PR toAdd an appropriate title and description to your pull request explaining your changes and efforts done
Click on Create pull request
And you are done making the PR, then just ask the Project Admin/Mentor of the project to Merge your pull request
Finally, if you want to contribute to some popular open-source programmes, here is the link to that - https://navendu.me/posts/open-source-internship-programs/
I hope this post will help the absolute beginners on their journey to open-source, and also don't forget to share this post with your friends or someone who may require this. If you have any doubts regarding this, please don't hesitate to ask in the comments.