How to get started with your first Open Source Contribution??
Tags: beginners, hacktoberfest, opensource, productivity
Published: 2023-04-04 08:37:21

Hey Dev folks, we all knew the urge to kickstart a development project out of someone else idea which we really like and we often coin it as `Open Source Contribution`. We knew that we want to do it and there are plenty of thoughts wandering in your mind about what to do? and what to use?.  

But, most people commonly forget the basic question of how to get started? in the first place. I was in the same dilemma in my initial stages of open source development. So, here I am listing out an easy process to start your first open source contribution.

## Following are the steps that I have followed before my first open source contribution,

**Step 1:**
Learn and practice building any basic skills in the area of your choice of IT career that has potential real life problems. (I chose web development and there is always a scope to learn)

**Step 2:**
Learn about basic `git` commands, `GitHub` repositories and their purpose in `Open Source Contributions`. (If you know the reason, you will never forget it)

Learn more about git in https://git-scm.com/doc

**Step 3:**
Next, lookout for GitHub issues in the GitHub community and choose one. 

You can search for technology topics or keywords in `GitHub search`, and in the results you can choose any repository to your likes and checkout the issues section for the repo for any open issues for contribution.

Or if you are in the right season of the year, you might end up in the `Hacktoberfest Event` (occurs in October, a great place to learn about git and open source contributions). 

You can start by just searching using the `#hacktoberfest2022` or `#hacktoberfest` keywords in the GitHub search.

(For more details on hacktoberfest, checkout https://opensource.com/article/22/10/how-to-contribute-hacktoberfest)

**Step 4:**
After step 3, start interacting with the GitHub repository owner in the issue thread. (Always remember, early bird catches the fly. There might be other developers who are competing for the same issue)

Be the first to interact and ask the owner to assign the issue to you, so that your contribution is reserved for consideration.

**Step 5:** 
After you got yourself an issue to work on, start working on it. Try to satisfy the needs of the issue. 

> Lastly, try to satisfy yourself with your development, because the passion and efforts you put in reciprocates each other and leaves you a positive mindset.

Once, if you are done with your changes, follow the necessary git steps and make your first PR.

**Step 6:**
After creating PR, do not forget mention the created PR details in the issue thread as well and update the thread requesting the code owner to review the code.

Wait for the review. If your code manages to pull off the issue, your changes will be accepted and merged. 

**_Voila! and Congratulations!! You have made your first open source contribution._** 

It is always good to see your changes in live page, you are lucky to get a repo with live deployment after your changes are merged.

## My Actions towards my first Open Source Contribution are as below.

1. Luckily, I had started during the season of Hacktoberfest2022. But, I had covered steps 1 & 2 prior at hand, so all that is left for me is to select an issue and work on it.

2. So, I have searched for the issues using hacktoberfest2022 keyword and found my first beginner-friendly issue (try to choose the issue of your knowledge or technical expertise). You can refer to my first interactions with GitHub issue owner here, https://github.com/sceary-expert/Codeforces-Problem-of-The-Day/issues/5

3. I have made the necessary changes and improvements, then created PR. Checkout my first Pull Request, https://github.com/sceary-expert/Codeforces-Problem-of-The-Day/pull/7

Thanks to my efforts, the code owner liked my approach and approved my changes, also deployed it to the live page.

> Sometimes, a good approach and passion for development leaves with you more opportunities.
 
I got more issues from the same code owner and repository. I have made UI improvements as well, along with codeforces API integration for the live page.

Here is the live page URL after my changes got deployed, https://codeforces-probem-of-the-day.netlify.app/


_In the end, it all starts with a first step. I hope you will get to know your first steps, if you came till here. **Happy Coding! Happy Dev!!**_

_And always do not forget to be grateful to the one who gave you the opportunity. I would like to use this post to thank **@sceary-expert** for the first opportunity._