DEV Community

Cover image for Make your first contribution during Hacktoberfest 🍁
Chris Bongers
Chris Bongers

Posted on • Originally published at daily-dev-tips.com

Make your first contribution during Hacktoberfest 🍁

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

Getting started with Hacktoberfest

Before diving right into the code, let's head over to the Hacktoberfest official website.

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

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

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 website to filter on languages I felt comfortable with.

Another website is up-for-grabs.

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

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

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

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

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

Feedback on PR

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

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 or Twitter

Top comments (9)

Collapse
 
b_hantsi profile image
Bala Hantsi πŸ‡³πŸ‡¬

Awesome guide, I use it to contribute to two open-source projects

Collapse
 
dailydevtips1 profile image
Chris Bongers

Awesome! Did you have fun doing so?

Collapse
 
b_hantsi profile image
Bala Hantsi πŸ‡³πŸ‡¬

Oh yeah

Collapse
 
sameech profile image
Samee Ch

Informative (Y)

Collapse
 
dailydevtips1 profile image
Chris Bongers

Thanks hope it helps people get started with contributing to open source.

Collapse
 
jimcmorrison profile image
JimCMorrison

Detailed spin up plan! Good work Chris!

Collapse
 
dailydevtips1 profile image
Chris Bongers

Thank you! πŸ”₯

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Nice guide, I will reference it in my own repo!

Collapse
 
dailydevtips1 profile image
Chris Bongers

Awesome, thank you for that!