@radekmie

On Hacktoberfest

By Radosław Miernik · Published on · Comment on reddit

Table of contents

Intro

Have you heard about Hacktoberfest? It’s a yearly initiative encouraging people to give back to open source. (Or at least that’s the premise.) To do that, some companies – most importantly DigitalOcean – lure you with some swag, e.g., a branded unique t-shirt and a bunch of stickers.

Is a t-shirt enough for people to work “for free”? Most open source maintainers are not getting paid in the first place, so that’s already more than usual. As for the others, well… I find it funny, but most IT people just love branded t-shirts, stickers, and socks for no good reason.

But does it actually help the open source community?

Just do it

I first participated in 2016. It was exactly ten days after uniforms hit v1.0.0, and as such, it was encouraging not to pause the development but push even harder to get that t-shirt. Then, the same pattern every year – I maintain open source packages at work, so it’s natural for me to complete the challenge without putting extra work into it.

Of course, there are more people interested in participating – there’s the rest of our Open Source Group and usually a few more. On the one hand, we could give them “standard” things to work on and hope they’d manage to squeeze four of them within a month. On the other, all help we can get is meaningful.

Usually, we host a hackathon somewhere in the first half of the month. It’s not a usual one, as there’s not one thing we all work on, but rather a collaborative session focused on getting stuff done. And yes, pizza is also there.

You have to find a balance between doing something just to get the reward and because it’s actually needed. For example, updating the dependencies of your documentation website is not something you want to do every month, and doing it once a year is most likely enough. But updating four different websites may look a little like…

Spam contributions

As usually, if there’s a reward, there will be people trying to get it for the least possible amount of work. Every single year, Hacktoberfest’s organizers introduced more and more measures to cope with that – making it entirely opt-in (via a label on the repository or the pull request itself) and less “reward oriented”.

It was significantly better this year, but there’s still room for further improvement. While I myself reviewed only four like that, I saw at least ten times more in other repositories. When compared to the previous years, I wouldn’t call it a “corporate-sponsored distributed denial of service attack against the open source maintainer community”.

I won’t link any pull requests here, but I’m pretty sure you saw them. Based on the contents, they either make you chuckle, feel confused, or just sad. Like, fixing a typo is great – it can make a difference while reading documentation. Fixing twenty of them too, really! But please, do it in bulk, not once each.

One thing is that it takes time to review and triage such work. Another is that (in most cases) it causes the entire test suite to run, using tens if not hundreds of hardware hours. I know it’s free, but it’s also unnecessary.

There are also “small improvements”. Just like any form of contribution, they’re more than welcome, but bounding them makes everyone’s life easier.

Finally, there’s the rest… Sometimes I honestly have no idea what the hell happened there. Like, people copy-paste some documentation into code, add empty comments, sort entire files alphabetically… I find it truly outstanding.

Alternative approach

Adding new features is fantastic, but have you ever fixed that one nasty bug reported twelve times without a reproduction? As a maintainer, I would love to have a way to reward the people who provide excellent reproductions or try out a pre-release. They are the silent heroes of all the “battle-tested” labels.

At a certain point, there’s no need to add more code. Sure, we can add more tests or improve the implementation over and over, but a valuable discussion or an on-point issue often provides more value within the same time.

That’s why I think it’s interesting to see that this year there are also some undisclosed rewards for maintainers. The form of Hacktoberfest evolves and maybe at some point, other forms of contribution will be accepted too. We’ll see.

Closing thoughts

Is there a lot more work during October because people file tens of spam pull requests, and we have to clean it up? Sure. Are there a lot of people who provide valuable contributions and wouldn’t contribute otherwise? Of course.

Overall I find it beneficial, especially for medium projects. They have enough traction to make use of an increased attention and at the same time are too small to get flooded with spam.

Verdict? Guilty. But hey, there’s a t-shirt.