What is Hacktoberfest
Running for the 8th year Hacktoberfest is an annual month-long event where developers of all experience levels get to contribute to open-source projects, participate in events, complete pull requests, and support these projects financially. Hacktoberfest is a great way for both new and experienced developers to get to work on open-source projects. It is also an opportunity for project maintainers to attract new developers to help maintain the projects.
What works really well
After about 8 years of Hacktoberfest, it has become more or less a household name in the developer community. Every year over a hundred thousand developers participate in events and submit PRs (pull requests). Although Digital Ocean and Dev.to are the primary sponsors, many companies have their own events with swag for folks to join that makes the event even bigger. The whole developer community comes together to make this event a success.
The dark side of Hacktoberfest
Hacktoberfest is a great idea. Open source is the backbone of the software industry and having more people interested in using and contributing is a good thing for the community. But like most things, there is always a catch. During Hacktoberfest there are chances of winning various swag like t-shirts and stickers and it incentivizes completing four pull requests faster. Which in turn caused many people to open trivial and spam pull requests to popular open-source projects. The problem was so bad last year, Hacktoberfest had to change the rules so projects had to opt-in with tags.
All that being said, here are some of the Do's and Don'ts of Hacktoberfest from a participant's and maintainer's perspective.
Do's
Be respectful to each other. As a participant, be mindful of project maintainers' time. In most cases, maintainers are volunteering their time to work on these projects. Demanding to get your PR merged is not helpful, nor is it okay to create a PR that fixes a typo or grammar that four other people have already fixed. For maintainers, if you have the time, please try to create proper expectations of what the project needs. For many, this will be the first interaction they have with making an open-source contribution. Your action may deter someone from helping in open source.
As participants, read the project code of conduct and contributions guidelines. Many questions can be answered by just looking through the docs and previous issues. Remember, the ratio of participants to maintainers is pretty high. As maintainers, try to make it easy for people to find information. A good code of conduct and contributions guide goes a long way to help folks get the information they need without requiring them to create a new issue.
Look for projects that have `Hacktoberfest` and `Good first issue` tags. An easy way to find this is by looking in the Hacktoberfest guide.
If you are a project maintainer and would like to get some contributions submitted, you will need to prepare the repositories first. In previous years, all repos were eligible which led to some problems for the maintainers. So this year you will have to set up your repositories beforehand. Follow these steps from the official Hacktoberfest website. Also, be prepared to spend some time with the PRs in either approving, rejecting, or commenting on them. While you volunteer your time, so do the participants.
Don'ts
As participants, don't create spam PRs. You are excited about making your Hacktoberfest goals but on the other end of a spam PR is a real human that is spending their time trying to maintain an open-source project.
Do not harass the maintainer to merge your PR. A gentle reminder is not 10+ comments and emails.
Do not go about fixing grammatical and spelling errors unless the contribution guide explicitly asks for it.
As maintainers, do not burn yourself out trying to entertain every PR and interaction.
Do not admonish folks for their bad PRs. Try to assume positive intent. You are the open-source ambassador for many of these developers who might be participating in open source for the first time.
Finally, have fun with it. This is probably the biggest festival we developers get. Yes, we have had our problems with it, but I still believe it to be primarily a force for good.
Mofizur Rahman (@moficodes) is a Senior Developer Advocate at Vonage. His favorite programming language these days is Go. He also tinkers with Node, Python and Java. He is also learning and teaching in the Go, Kubernetes, Docker and Microservice community. He is a strong believer of the power of open source and importance of giving back to the community. He is a self proclaimed sticker collecting addict and has collected several box full of stickers with no signs of stopping. He dabbles in photography sometimes.
He writes tech blogs sometimes which can be found on https://dev.to/moficodes.