Hacktoberfest has become a yearly feature in my diary since I participated in my first one two years ago.  This year's event is something I've been looking forward to since probably early February and, given how the year is going, I think it's a good thing that I've been looking forward to something.

For those new to Hacktoberfest, it's a yearly "festival" where developers are encouraged to contribute to open source projects on GitHub.  You make a change and then offer it to the project as a Pull Request (PR).  So long as you've registered for Hacktoberfest, and you make four eligible PRs, you win free swag and stickers.  Contributions can be to documentation or code and there's often various

So, how did this year go?

Rules change

I mentioned in the blog post about my second year that DigitalOcean had tightened the rules.  This year the rules were tightened again after a number of GitHub users commented on how we were headed into a "spammy October".  I'd not considered how Hacktoberfest impacted maintainers of big projects before, but by the looks of it projects would get spammed with minor fixes.  As I commented last year, a typo correction is still a fix that needs making but I suppose when your repository (repo) sees hundreds of those the return in investment is low.

To mitigate this DigitalOcean made Hacktoberfest opt in by making maintainers add the Hacktoberfest topic to their repository or marking PRs appropriately.  These rules changed after registration and if you'd got your four pull requests in before the rule change then your contributions counted.  Otherwise this is what had to be followed:

PRs count if:
Submitted during the month of October AND
Submitted in a public repo AND (
  The PR is labelled as hacktoberfest-accepted by a maintainer OR
  Submitted in a repo with the hacktoberfest topic AND (
    The PR is merged OR
    The PR has been approved
  )
) 
The rules according to the Hactoberfest site, nicely written in pseudocode.

Personally I'd have liked to have seen the rules include any PR that was merged into to the main project.  By merging the PR the maintainer accepts that what you've offered gives value, and it's value that should really be rewarded.

Bigger contributions

I try to up my game each year as I become a better developer - it's certainly a journey not a destination.  This year I wanted to try some languages I'm not so confident in (Java) as well as making documentation contributions.

First I submitted some code to Quelea, projection software aimed at churches.  Quelea is maintained by my friend Mike and he alerted me to a reasonably easy fix to get my started - my first PR submitted on 9th October.  Later in the month I added a preference to Quelea's settings dialog although I've not been able to test that yet.  I need to get IntelliJ configured correctly for building Quelea.

Next up I did some work on a PHP project that provided a WhatsApp client.  The author wanted the PHPStan static code analysis tool adding to his project and I'm interested in using PHPStan for eVitabu so this seemed like a good place to dip my toe in the water.  I ended up submitting quite a few PRs to that repo, sometimes reverting my changes, but ultimately my changes were accepted.  I'll probably write some blog posts on PHPStan once I've implemented it - if that interests you watch this space!

The third repo that I spent some time contributing to was the Free Programming Books one.  I'd recommend taking a look there if you want to get started as a developer.

Left it late, again

Despite telling myself I wouldn't leave my contributions to the last minute again, I did. My first contribution was submitted on 9th October (starting as I meant to go on) and was approved by the maintainer.  That then "matured" and was marked as valid for Hacktoberfest.  My next submission wasn't until 23rd October and, as you can see from the screenshot below, wouldn't mature until the 28th.  Subsequent submissions had maturity dates after the end of October which has me somewhat nervous.

On the plus side for open source, the new rules did mean that I submitted more PRs this year than previously.  With submissions maturing after the end of the event (each PR took 14 days) I didn't want to find the new rules caused any to be discounted, so I made more.  Having left it so late I knew that I wouldn't have time to do more if my submissions got rejected.

Next year I'll be early...

No event (thanks Covid-19)

Last year I mentioned that I wanted to run an event local to me so people could get together, code together, win Hacktoberfest together, and mentour each other.  Venue booking wouldn't have been an issue (albeit that it would have come at a personal cost) and I'd got a space in mind that operated a cafe on the same site so that all looked promising.

Sadly the Coronavirus pandemic had other ideas.  Rules in England at the time would have meant only six people could have attended, which is probably the most we could have accomodated after spacing everyone by two metres.  Fortunately I'd not gone further than initital discussions.

What I did find surprising was that the feelers I'd put out to gauge interest showed there wasn't much.  I suspect that may have been because I was asking too early (probably in November 2019) and because I didn't have much detail to give anyone.  I'll have to evaluate the pandemic landscape in the first quarter of next year and see if it's worth running an event.

I passed!

Screenshot showing the congratulations banner.
What I wanted to see :) .

My last submissions matured in the first two weeks of November and I was pleased to login to my Hacktoberfest profile to see the congratulations banner.  All four required PRs completed with seven valid extras (I had made two more: one PR I'd made wasn't approved in time, the other was to a non-participating repository).  Swag ordered.

Sadly not everyone was successful this year.  Speaking to a friend with over twenty PRs he found he was clobbered by the rules change and his submissions weren't deemed applicable.  I can understand the reason for the rules change but do feel any merged PRs should have been counted too.

My first Dev post

Dev have sponsored Hacktoberfest again this year and, in theory, signing up to the Dev community and making a post can earn you more swag.  I've read some other bloggers' work on Dev and there's some good content on there.  I published my first Dev post about Hacktoberfest so we'll see what happens.  My intention is to remain publishing from this site (blog.jonsdocs.org.uk) but I might pop in on the Dev community from time to time.  I have a lot less time to spend on forums than I used to.

Hacktoberfest sponsors

A quick shout out to the Hacktoberfest sponsors for this year: DigitalOcean (my hosting provider), Intel (my CPU provider) and Dev (aforementioned community).

Sponsor logos for Hacktoberfest 2020 (DigitalOcean, Intel and Dev).

Banner image: Hacktoberfest 2020 logo (c) DigitalOcean.