Tower's Guide to Hacktoberfest
October 2023 by Bruno Brito

Tower's Guide to Hacktoberfest

Hacktoberfest is a month-long celebration dedicated to the growth of open-source projects. The mission is simple: to inspire more people to get involved in open source and collaborate to improve the software that we use every day. In this guide, you'll learn how you can join this movement and contribute!

Hacktoberfest started 10 years ago. At the time, 676 people responded to the call for support. Last year, the number grew to 147,000 participants!! 🔥

As more and more people set aside some time in the busy month of October to contribute to open-source software, we felt like we should also play our part and raise awareness for this initiative, as well as show you how you could get started.

Keep in mind that you don't need to be an elite programmer to participate: you can write documentation or provide translations, create images or video tutorials, or simply fix some easy bugs you've found. Regardless of your background and expertise, you CAN make a difference!

So, if you are interested in contributing to open-source projects, keep reading! 😉

Why Contribute?

Contributing to open source can be a great way to improve your portfolio and expand your network. You will meet new people who can mentor you and perhaps even recommend you for job openings.

CV aside, it can also be quite a rewarding experience. Naturally, it's also a great opportunity to flex your programming muscles, solving all types of problems while grappling with the needs of thousands (or millions!) of users who rely on that piece of software every day.

Lastly, programming is FUN! So, why not? ☺️

You can also receive a digital reward kit (courtesy of DigitalOcean and other sponsors) if you complete 4 accepted pull/merge requests in October. Sounds exciting? Learn more about the requirements here.

Picking a Project and Getting Started

There are many open-source repositories that will welcome your help with open arms, no matter how big or small.

If you don't have a specific project in mind, you can look for the Hacktoberfest tag both on GitHub and GitLab. You will see tons of options, so it's just a matter of spending some time looking for the right project to get started. You can also use this tool to filter projects by programming language.

Did you find a project that piqued your interest? Great!

Now, we'll fork that project and make some changes. You will need some Git knowledge to get going - we have lots of great resources on Git (including a free online book, a video course, and a Git cheat sheet). In any case, this guide will be sufficient for your first contributions.

A Git GUI can also be quite helpful as it provides a lot of visual aid. Luckily, you can use Tower, our desktop Git client for Mac and Windows, for 30 days free of charge (no registration required) — perfect for Hacktoberfest!

Step 1: Forking and Cloning a Repository

If you want to participate in someone else's project but do not have permission to make direct changes to the repository, you can use a workflow known as "fork and pull request."

We'll use GitHub for this tutorial but the process is similar on GitLab (look for "Merge Request" on that platform).

To begin, navigate to the repository page that you wish to contribute to. In the upper right corner, you will find a "Fork" button.

GitHub - "Fork"
GitHub - "Fork"

After clicking on that button, you should review the "Owner" and "Repository name" (the default settings are usually fine) and decide if you want to copy the main branch only. We recommend this option, as for open-source contributions you usually only need to copy the default branch.

GitHub — Create fork
GitHub — Create fork

After clicking on "Create fork", the repository will be available on your GitHub profile. To start working on it your local machine, you will need to clone the project to your computer.

In order to do so, click on "Code" on your newly created fork to copy the URL provided (we recommend the HTTPS option).

GitHub — Cloning URL
GitHub — Cloning URL

You could launch the terminal, navigate to a directory and type git clone [URL] to clone it, but we will be using Tower for the remainder of this tutorial, so let's try it out!

Cloning in Tower couldn't be easier: you just need to launch the app, click on "Clone", and add the URL to the "Remote URL" field.

Cloning a Repository in Tower

Step 2: Creating a Branch and Adding Changes

With the project available on your local machine, it's time to create a new branch to add your changes. It's a good practice to come up with a descriptive name that addresses the change you'll be implementing.

In Tower, the easiest way to perform this task is right-clicking on the main branch and selecting "Create new branch from "main"".

Tower — Create New Branch
Tower — Create New Branch

Now you should go ahead and make some changes with your favorite text editor (here are some tips for Sublime Text and VS Code).

When you're done, you should stage and commit your changes by adding a descriptive commit message.

Tower allows you to easily stage all files, select specific files, or even choose specific lines within a single file. In this example, we'll keep it simple and stage all files, write a commit message, and add a commit.

Tower — Staging Files and Adding a Commit

Great! Your changes are now official on your local machine but we still need to update our repository on GitHub. Time for our final step!

Step 3: Pushing Changes and Creating a Pull Request

To push your changes, you just need to click on the appropriate "Push" button on the toolbar. Since you created a new branch in the meantime, Tower will also publish it automatically for you.

Tower — Publish Branch and Push Changes

Now, let's go back to our repository page on GitHub for our important last step: creating the Pull Request!

You will see a yellow banner suggesting a Pull Request. This is exactly what we're looking for, so let's go ahead and click on "Compare & pull request".

GitHub — Compare & pull request
GitHub — Compare & pull request

You will then be prompted to enter a title and a description of your changes. Make sure you read the contributing guidelines for the project and provide as much detailed information as possible here, so that the project owners can quickly grasp the value of your PR.

When you're happy with the content, click on "Create pull request" and you're done! A member will then review your changes and (hopefully) approve your request! 🥳

Final Words

Contributing to open source is a great way to meet new people, solve problems, and improve your portfolio while having some fun in the process!

Please keep in mind that many open-source projects get an influx of new contributions at this time of the year, so it's important to follow the code of conduct (if the project has one). Also, make sure you add value when you're submitting a new PR — fixing and closing open issues are always a good way to start!. Here's how Pull/Merge Requests are validated for Hacktoberfest.

We hope that you found this post useful. Enjoy Hacktoberfest! 😎

For more tips, don't forget to sign up for our newsletter below and follow Tower on Twitter and LinkedIn! ✌️

Your Download is in Progress…

Giveaways. Cheat Sheets. eBooks. Discounts. And great content from our blog!