Yesterday marked the kick-off of Hacktoberfest for 40-ish open source enthusiasts in Amsterdam. Phusion and GitHub hosted an event at GitHub’s Amsterdam office, celebrating the start of a month dedicated to Open Source contributions.

After an introduction about Hacktoberfest, which is going into its 5th year, about Open Source etiquette, projects and tasks fit for beginners, and git, several maintainers introduced their projects and suggested ways participants could help out. Examples are Inspire’s jasonapi libraries, a Magento Chatbot Module, GitHub’s Probot, and a C++ framework Don Goodman Wilson (DevRel at GitHub) has committed ample nights of his life to.

The aim of Hacktoberfest is to have a lasting impact by encouraging people to continue contributing after the October deadline. After registering, DigitalOcean (global supporter of Hacktoberfest, next to Twilio and GitHub) starts counting the pull requests you make between October 1–31 in any timezone, and when you’re at 5 you’ll receive a free, themed shirt. Check out the details for fair play.

Why spend time on Open Source?

Working on Open Source helps improve your existing skills (coding or otherwise) and practice others. Through the projects you're involved in, you'll inevitably meet people who are interested in similar things, find mentors and teach others. You'll automatically build a showcase of your skills. It’s empowering to be able to make changes, even if it’s small changes, like fixing a typo. In fact, I’ve learned that’s how many people, including big shot maintainers, got started.

"For beginner developers it is key to get involved in open source. The goal shouldn’t be to have all your pull requests merged, the goal is to exercise working with other developers. You can’t learn in a vacuum."

Noah Berman, maintainer WeTransfer’s Public API

What will you be working on?

The Hacktoberfest page lists a few projects if you don’t know what you’d like to work on (yet). I've committed (pun intended) to rewriting the Rails Girls website, and I'll be working on documentation for future organisers of the EuRuKo conference. My fellow EuRuKo 2019 organizer Rayta and I are collecting all information from previous year’s teams anyway.

Search for issues labeled Hacktoberfest to find projects that are actively involved and welcoming PRs. But you aren't limited to those. Often the best project to contribute to is something you use or depend on every day. A contribution can be anything — fixing bugs, creating new features, or updating documentation. Look for a repo's CONTRIBUTING.md file for contribution guidelines and instructions.

If you're new to open source (which everyone was at one point in time!), you can take a look at the excellent Introduction to Open Source tutorial series. Before making your first contribution, you should probably familiarize yourself with how to create a Pull Request, as well as the ‘Contributing’ guidelines for the project you plan to work on.

The following resources share repositories that curate tasks for beginners, Up For Grabs, Issuehub.io, First Timers Only, Your First PR, or Awesome for Beginners.

Once you start feeling more comfortable, you can continue to find more open source projects that can use your help by following programs like Pull Request Roulette, CodeTriage, and 24 Pull Requests (like Hacktoberfest, except in December).

Happy hacking!

I am very excited about the format of these kick-off events (there’s an overview of all the events taking place on the internet somewhere) and Hacktoberfest because often I would find out about a project at a conference but WiFi would be lacking or I couldn’t get alone-time with the maintainer, or issues and milestones for a project wouldn’t be specified and I wouldn’t be sure if and where my help is appropriate. A real shame, because even though many - if not most - projects could do with better documentation, guides or artwork, very few list those on their issue tracker. Any event that aims to find new contributors for a project, who hopefully stick around, is exciting. So get hacking!