An Absolute Beginner’s Checklist for Hacktoberfest
Tags: hacktoberfest, opensource, beginners, codenewbie
Published: 2020-09-10 15:58:30

If you want to contribute to open source projects and don’t know where to start, [Hacktoberfest](https://hacktoberfest.digitalocean.com/) 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?”](https://opensource.com/resources/what-open-source) followed by this article about [“How to Contribute to Open Source?”](https://opensource.guide/how-to-contribute/)

## Step 1: Git and GitHub 

[GitHub](https://github.com/) 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](https://www.youtube.com/watch?v=OqmSzXDrJBk&ab_channel=PaulProgramming), which is an overview of Git as a version control system, followed by [this video](https://www.youtube.com/watch?v=uUuTYDg9XoI&ab_channel=CodemySchool) about the difference between Git and GitHub, and then [this video](https://youtu.be/w3jLJU7DT5E) about GitHub. 

Next, complete GitHub’s official [“Hello, World”](https://guides.github.com/activities/hello-world/) tutorial. After that, head over to the ["Understanding the GitHub flow tutorial"](https://guides.github.com/introduction/flow/), also from GitHub. Next, take the free [“Introduction to GitHub” course](https://guides.github.com/introduction/flow/). 

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](https://github.com/firstcontributions/first-contributions). 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](https://hacktoberfest.digitalocean.com/) 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](https://hacktoberfest.digitalocean.com/details/#beginner). 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](https://discord.gg/hacktoberfest). 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](https://github.com/issues?q=is%3Aopen+is%3Aissue+label%3AHacktoberfest), (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: 

{% link https://dev.to/amrutaranade/how-to-contribute-to-open-source-without-compromising-your-mental-health-and-work-life-balance-35og %}

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

{% link https://dev.to/cockroachlabs/29-apps-created-and-33-docs-issues-closed-hacktoberfest-ftw-1nae %}