DEV Community

Cover image for An Absolute Beginner’s Checklist for Hacktoberfest
Amruta Ranade for Cockroach Labs

Posted on • Updated on

An Absolute Beginner’s Checklist for Hacktoberfest

If you want to contribute to open source projects and don’t know where to start, Hacktoberfest is the perfect opportunity for you. Hacktoberfest is a month-long celebration of open source software sponsored by Digital Ocean, Intel, and DEV. The goal of the event is to encourage participation in the open source community all across the globe. And the challenge is simple! Open four high-quality pull requests in the month of October on any open source project to get a limited edition Hacktoberfest T-shirt.

My favorite part of the event is the community. It’s an excellent mix of experienced contributors willing to mentor, and new contributors just like you.

But Hacktoberfest can get intimidating pretty fast. There’s a lot to study, a lot to read, and a lot to learn. That’s why Digital Ocean has deemed the month of September as #Preptember, a whole month dedicated just to preparing for Hacktoberfest.

And in that spirit, I’ve compiled a list of resources for absolute beginners. Here’s what I recommend you do in September to prepare for Hacktoberfest.

[Optional] Step 0: What is Open Source and Why Contribute?

You can skip this step if you already know the answer to these questions. If not, I highly recommend this article, “What is Open Source?” followed by this article about “How to Contribute to Open Source?”

Step 1: Git and GitHub

GitHub is a critical tool for participating in Hacktoberfest. If you’re new to the platform, Google search for “GitHub for Beginners,” gives literally millions of resources. I’m going to give you a condensed, controlled version of those resources below. Keep in mind, different people learn differently! I’m including tutorials, guides, and videos, for different types of learners.

I recommend starting with this video, which is an overview of Git as a version control system, followed by this video about the difference between Git and GitHub, and then this video about GitHub.

Next, complete GitHub’s official “Hello, World” tutorial. After that, head over to the "Understanding the GitHub flow tutorial", also from GitHub. Next, take the free “Introduction to GitHub” course.

By this stage, you’ll have created an account, your own repository, and added an issue to that repository, and a PR.

Now, we’re going to take it one step further and make a contribution to someone else’s repository. For that, I highly recommend starting by looking at the First Contributions repository. It’s a great resource for beginners. The only purpose of this repo is to create your first contribution, and all you’re doing is adding your name to the list of contributors. All you have to do is follow the steps, and by the end of the tutorial, you’ll have made your first contribution to someone else’s project. Congrats!

By the end of this stage, you should have a solid handle on the basics of Git and GitHub.

Step 2: Study the Hacktoberfest Resources

This step is about getting acquainted with Hacktoberfest: the goals, the community, and the available projects. First, I recommend exploring the Hacktoberfest website and signing up for their updates. Note: signing up for updates is not the same as signing up for the actual event! You’ll have to sign up for the actual event with your GitHub ID after it launches.

There’s also a great list of resources on the site for beginners. You’ll find details on what makes a good pull request, what kinds of pull requests will be rejected, and other resources.

I recommend joining the Hacktoberfest Discord. It’s a dedicated space for people participating in Hacktoberfest, and it has a really good mix of experienced mentors and new contributors, and there’s a lot to be learned just from interacting with the community.

Next, check out the open issues for Hacktoberfest! Go to GitHub issues labeled Hacktoberfest, (you’ll need to be logged into GitHub to open that link). As you can see, there are already more than 26,000 issues open marked for Hacktoberfest. Now the question is, “How do I select projects right for me?” That’s the topic of our next blog post -- stay tuned!

Pace Yourself and Be Patient!

These resources can feel like a lot at first, so please remember to be patient and pace yourself. You have the entire month of September just to prepare. If all you do in September is create your GitHub account, go through a couple guides, and contribute to the First Contributions repository, that is a big win in and of itself. Happy #Preptember!

Read next:

Update: Thanks to everyone who helped us make Hacktoberfest 2020 successful for CockroachDB! 🥳

Top comments (5)

sudo_bangbang profile image
Roshan Jossey

Thank you for including First contributions, @amrutaranade <3

tails128 profile image

Hey, who is this guy? I think I know him...
(I am Filippo, glad to see you are participating! I am also participating this year :D )

sudo_bangbang profile image
Roshan Jossey • Edited

I don't know this person. Feels kinda sus. Can anybody vouch for him?

bhuvaneshhingal profile image
Bhuvanesh Hingal

That's a great article !✨
If anybody wishes to practice Pull Request they can do so in the below given repository:

GitHub logo BhuvaneshHingal / HELLO-WORLD

A repository for contributing a "HELLO WORLD" program in any of the programming languages you know.

A repository for contributing a "HELLO WORLD" program in any of the programming languages you know.

How to Contribute: 👨🏻‍💻

  1. Fork the project.
  2. Make any changes in your forked repo
  3. On this repo, click Pull Requests and raise a Pull Request selecting your fork on the right drop down

Questions can be asked by raising an Issue.

How to clone repo and make changes locally: 📋

  click on the clone button (green in colour). This gives you a copy of the project. Its now yours to play around with
  • Using git on your local machine. Do this to download the forked copy of this repo to your computer
  git clone
  • switch to the cloned folder. This can be done with Git Bash or the integrated terminal in the VSCode editor
  • Make a new branch. Your name would make a good branch because it's unique
brendamichellle profile image
Brenda Michelle

Such a great post! Thank you i am excited to prepare for hacktoberfest. I already have a github account and kind of understand the basics so i have some of ut diwn😊👍