Hacktoberfest 2021

Hacktoberfest 2021

I didn't leave it to the last minute this year, woohoo!

Ok, I'm kidding.  As regular readers will know from posts about this, Hacktoberfest is something I always end up leaving to the last minute.  This year I started October by looking for projects that I could contribute to but then got busy and kept forgetting - does that count in my favour?

Leaving it late, of course, meant that my pull requests (PR) were going to mature after the end of October.  That's always a risk because if a PR is deemed ineligible for Hacktoberfest there's no time to fix that.  To be sure of success I submitted more than the required four PRs, totalling six.  On the 25th October I was looking at a tracker that showed four PRs "maturing" and one that hadn't been accepted yet by the maintainer:

Screenshot showing a table.  The leftmost column shows either an exclamation mark or a clock.  The middle column details the repository a PR was made to.  The rightmost column explains when the PR will mature or that it hasn't been accepted yet.

Impact on project maintainers

On the run up to Hacktoberfest there was the usual hype on Twitter but also a host of open source maintainers sharing their concerns over another "spammy October" (I mentioned this last year).  My repos didn't see any spam, but I did hear from one friend that someone was sending very questionable pull requests for changes that would break things.  Looking at some of the PRs he received it was clear there was a mixed bag of contributions.  He also found that as quickly as he was opening issues for things that required sorting that they were being snapped up.

Of the projects I contributed to, I was pleased to find that maintainers were commenting on PRs quickly where changes were needed.  I also found PRs were accepted pretty swiftly so that was handy.

I'd be interested to know if open source maintainers feel there's a net positive contribution during Hacktoberfest.

Changes for 2021

Traditionally Hacktoberfest has been based on GitHub held projects, but this year DigitalOcean expanded to include GitLab too.  GitLab is an alternative to GitHub and a number of projects moved to GitLab when Microsoft bought GitHub.  (That's a lot of GitSomethings so I hope you're following!)  I'll be honest that I didn't spend too long looking at GitLab for projects to contribute to but that's largely because I spend more time in GitHub.  There's only one project on GitLab that I tend to look at, and that wasn't participating to Hacktoberfest.

Rules this year included:

  • Pull requests can be submitted to any opted-in repository on GitHub or GitLab
  • The pull request must contain commits you made yourself
  • If a maintainer reports your pull request as spam, it will not be counted toward you participation in Hacktoberfest
  • If a maintainer reports behaviour that's not in line with the project's code of conduct, you will be ineligible to participate
  • To get a shirt, you must make four approved pull requests on opted-in projects between October 1 - 31 in any time zone
  • This year, the first 50,000 participants can earn a t-shirt

It's good to see there are penalties for breaking the code of conduct, and I've certainly seen comment threads on PRs turn into insult hurling matches.  I'm also pleased that DigitalOcean has said that projects still have to opt-in to Hacktoberfest but, as before, I'd much prefer it if any accepted / merged PR counted (opted in or not).  Projects still have to be acceptable to DigitalOcean, so not vanity projects just for the purpose of getting a PR counted [1].

Something not shown in the rules above, but was in emailed marketing materials, is that where it says "you will be ineligible to participate" that's for an indefinite period.  Breaking the rules could see you banned for life.

What projects did I contribute to?

This year I didn't contribute any code, just documentation.  I started with the Quelea projection software documentation as I knew there'd been some changes to the application recently.  The table of contents needed updating, as did some of the instructions due to user interface changes.

Conscious I was running out of time, I returned to the EBookFoundation's free programming eBooks repo to add the PHPStorm Tips & Tricks YouTube videos that are produced by Christoph Rumpel.  I've found Christoph's tips very useful and he's certainly improved how I use my favourite PHP IDE (integrated development environment).  For those interested, Christoph has a PHPStorm course, Mastering PHPStorm, which is worth a look.  It is a paid for course but it's quite handy.

I qualified for the shirt 🙂️

Thankfully my PRs were all approved by project maintainers, and matured (approved by DigitalOcean) so I qualified for the shirt.  That's now on order so I'm awaiting a delivery from the States, hopefully some time in the new year.

Will I participate in 2022?

So long as Hacktoberfest runs in 2022 then I'm up for joining in again.  I'll need to plan my time a bit better so I can do things in good time and not be in a mad rush towards the end of the month.  I'll be keeping an eye out for the publicity material next year, as Hacktoberfest was announced close to October this year.


Banner image: Hacktoberfest 2021 banner, by DigitalOcean

[1] There was a Hacktoberfest participant tracker one year, where you added your GitHub handle and country to a file and it built a map showing contributors.  DigitalOcean deemed that unacceptable, so PRs didn't count.