Make your first contribution during Hacktoberfest 🍁
Tags: hacktoberfest, github, opensource
Published: 2020-10-09 04:55:11

Contributing to open source is a super boost for every developer. 

Hacktoberfest is the best way to get started if you are new to this.
It's a month-long celebration of open source this year sponsored by dev.to and Digital Ocean.

Why you should participate: 

- ✅ Understand other people's code
- ✅ Document your process
- ✅ Looks good on your resume
- ✅ Levels for everyone
- ✅ It's fun
- ✅ Free shirt, or plant a tree!

> Please don't make useless commits just to get a free shirt, and take this as a apportunity to learn.

![Hacktoberfest logo](https://cdn.hashnode.com/res/hashnode/image/upload/v1601627008774/i8AqfOy9L.jpeg)

## Getting started with Hacktoberfest

Before diving right into the code, let's head over to the [Hacktoberfest official website](https://hacktoberfest.digitalocean.com/).

Here we get a more in-depth overview and help topics about what it is and how it works.

For us, we are going to subscribe to commit to the challenge here.

Click the "Start Hacking" button on the top.

![Start hacking](https://cdn.hashnode.com/res/hashnode/image/upload/v1601626946717/VuWWdSl_m.png)

We then need to verify with GitHub because that's where our Pull-requests will be counted.

Once logged in, our profile on the website is where we keep track of our progress.

![Hacktoberfest profile](https://cdn.hashnode.com/res/hashnode/image/upload/v1601627044128/AjqpZ4-gT.png)

Note: We need four valid pull-requests to qualify as finishing the challenge and win a free shirt or plant a tree!

## Where to find projects to work on?

This is, by far, the most challenging task. Where do you find a project you can help with.

If you're new like me, there are amazing labels like "good first issue" we can filter on.

I used the [goodfirstissues.com](https://goodfirstissues.com/) website to filter on languages I felt comfortable with.

Another website is [up-for-grabs](https://up-for-grabs.net/#/).

For both, have a look at the repository and labels.

Perhaps it's a tiny UI change or updating documentation.
There will be something you feel comfortable with.

## You found your first project now what?

Ok, fantastic, you picked your project and issue.
First, let's be polite and respond to the issue in GitHub and ask the maintainer if you can pick this task up.

![Asking permission](https://cdn.hashnode.com/res/hashnode/image/upload/v1601627067413/S3V3fPAsE.png)

It's just curtesy and makes sure only one person is working on this issue.

The maintainer will decide if he wants to assign the task to you.

Start by forking the project, so you have your base.

![Fork GitHub project](https://cdn.hashnode.com/res/hashnode/image/upload/v1601627089430/y5ZfXgTqH.png)

Now this project is available as your repository.

## Fixing the issue

Now it's up to us to clone the repository locally and fixing the issue.

It's a good practice to create a separate branch for your code, call it something descriptive, or follow the contribution guidelines if they are there.

Be aware you keep the coding/contribution guidelines for that project.

Some elements to look out for can be:

- Test the code
- Document your change
- Take screenshots
- Verify the fix

## Create your first pull-request

Double-check your code. Did you follow the contribution guidelines?

Awesome, we are ready to make our very first pull-request!

Make sure you use a good commit message and commit the fix.

Now go to your GitHub forked project and create a new Pull-request.

![GitHub pull request](https://cdn.hashnode.com/res/hashnode/image/upload/v1601627114034/tdOnsfJwj.png)

If the project uses a PR template, fill out the details provided, else write a well-documented description include the following:

- What you fixed
- How you tested this
- A screenshot

## Wait for feedback

Now comes the nerve-wracking wait period!

![Nervous gif](https://media.giphy.com/media/3tda3JZduXj17BtWJQ/source.gif)

Be aware! A maintainer might give you some feedback before accepting your pull request.

![Feedback on PR](https://cdn.hashnode.com/res/hashnode/image/upload/v1601627137855/Y9KCTOQ_O.png)

Don't worry, feedback is good, provide a fix for the feedback, and commit the fix with feedback.

Yes! We made our first contribution to open source!

![PR Accepted](https://cdn.hashnode.com/res/hashnode/image/upload/v1601627158587/K0UQ3yYl5.png)

Now it's up to you, do commit to Hacktoberfest and commit to four PRs!

### Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on [Facebook](https://www.facebook.com/DailyDevTipsBlog) or [Twitter](https://twitter.com/DailyDevTips1)