Table of contents
The month of October is full of exciting things from Halloween costumes to the beginning of winters and for the last few years it has been all about Hacktoberfest.
Hacktoberfest is a "month-long celebration of open source software." It's organized by DigitalOcean and DEV and open to anyone. From my experience Hacktoberfest is an easy way for users of open source to become contributors to open source. It's also celebratory and community-driven and always includes some beautifully done artwork, which is later turned into stickers. Hacktoberfest is a great way to give back to the open source projects & building the community we all depend on.
Participation in Hacktoberfest requires you to register for the event and submit atleast four qualifying pull requests to public GitHub repositories between now and October 31st. Contributors who are able to achieve both will receive a free t-shirt of Hacktoberfest with a bunch of amazing sticker packs.
Who Can Participate in Hacktoberfest?
Developers of different levels and backgrounds can participate in Hacktoberfest. Whether you're a beginner or an expert or a junior or a senior you can participate in Hacktoberfest.
There are two ways to participate in Hacktoberfest: as a contributor or as a maintainer.
A contributor is someone that helps open source projects resolve issues they have opened. Whereas a maintainer manages an open source project and presents issues that they need help with.
I have been contributing to Open Source for quite some time now and I believe as a beginner before starting with contributions it's very important to understand what open source actually is? Open Source is something each one of us is inevitably using every day possibly without being aware of it. It is the type of software whose code is publicly available to use and modify.
Open-Source Contribution involves contributing to the development or improvement of open-source software. Interestingly the code that resulted in the first manned mission to the moon is also open-sourced. Yes I am talking about Apollo 11.
I've built up a few habits over the years that have served me well as an open source contributor. I hope they help you, also, whether you're a beginner and first-time Hacktoberfest participant or a regular contributor looking for ways to improve.
1. Everyday Open Source
Open source is so tempting that it becomes pretty easy to forget that we're dependent on it every day. As a beginner you can start with a project to which you rely upon in everyday life. For example I'm using Kubernetes, an open-source container orchestration system for automating software deployment, scaling, and management for day-to-day operations. Thus it becomes a prime target for me to contribute to during Hacktoberfest.
The process of finding issues to which I can contribute to is very simple. Running through the GitHub repositories and do a search for #Hacktoberfest in hopes of finding an open issue I can work on.
2. Explore repositories based on your interests & skills
If you're searching for a project to contribute to there is a vast world of #Hacktoberfest-tagged projects across the GitHub ecosystem. There are already over 90k projects on GitHub participating in Hacktoberfest this year!
Digital Ocean provides a an amazing way to explore these projects on its Hacktoberfest. You can filter the repositories based on your interests or programming languages that you know or technologies that you're interested to contribute.
When adding a new feature or functionality to the project I like to start with an open Issue and tagging its owner to make sure they are aware of the feat. concept and approve of the support before creating a pull request (PR) for it. But incase there's a #Hacktoberfest label on it already you can jump into the Issue and add a comment directly to get that assigned for you.
3. Encourage project admins to participate in Hacktoberfest
Many project admins haven't heard of Hacktoberfest or may have forgotten to tag issues with the #Hacktoberfest label. It's always good to ask the maintainer if they would be interested to participate and add some issues or may open the project for contributors to create issues of their own with the #Hacktoberfest label thus automatically allowing the project to become a part of the Hacktoberfest ecosystem.
This is usually a win-win scenario: once the maintainer gets on the Hacktoberfest ecosystem. As a contributor I can get my PRs as a participant. In addition the admins will get a clan of contributors like me looking to help out.
4. Contribute to Documentation (Improvement, Bug fixes etc)
The easiest yet simplest way for contributing can be doing what we do naturally: using open source projects.
With the ever increasing speed of software changes documentation is almost inevitably out of date. The most common method of contributing to open source projects as a beginner is to use a project and open a pull request to fix the minor issues that come up in the docs. That could be fixing an incorrect or missing installation guide, updating a tutorial, or adding another example or resource to the guides. It goes a long way to have so many eyes on the most important part of project adoption.
5. Skip the code and Host an event
Open source contribution are more than just code contribution. Just like the last few years this year I will co-host another Hacktoberfest In-Person event in my city. Hacktoberfest events are happening all month long so you can join your friends day or night, from dusk to dawn, as you work to complete your Pull/Merge Requests.
Fortunately the effort to get this off the space will be easy and I get to do what I love most: connecting with the developers from my local community.
Contribute where you fit in
Hacktoberfest is a an amazing platform falicitating the participation to open source software. Contribute with whatever you know: If you know enough to fix up Golang syntax, Drop it in. If you're learning some new technology use Hacktoberfest as a platform to test your knowledge and contribute to some project implementing that specific technology.
If you haven't decided yet for the language you want to contribute in but you're working on Git skills? Go ahead and learn enough Markdown to help with documentation as every project needs more documentation. So what are you waiting for? Let's get started with open-source!
Thank you to the event sponsors for making this fun!
Did you find this article valuable?
Support Learn For Cause by becoming a sponsor. Any amount is appreciated!