Luke Oliff.

Little Did We Know: The Hacktoberfest T-Shirt and the Pull Requests I Asked For

·Open Source·6 min read·Luke Oliff
TL;DR

In September 2018 I opened the my-first-pr GitHub org, where a first pull request was adding your name to a README, with the Hacktoberfest t-shirt at the end. The repos took 1,353 pull requests and 101 never got a reply. In 2026 pull requests stopped counting, because AI made them free. I'm glad the t-shirt is gone.

In September 2018 I made a GitHub repo where your first pull request was adding your name to the README, and I wrote a guide that told people a Hacktoberfest t-shirt was waiting at the end. The two repos took 1,353 pull requests. 101 of them never got a reply. From 2020 Hacktoberfest made repos opt in because of people chasing swag, and in 2026 it stopped counting pull requests at all, because AI made the low-effort ones free.

Throwback Thursday, so back to autumn 2018, eleven months into the first job I had that was writing instead of building.

The repo

On 7 September 2018 I made the my-first-pr org on GitHub and three repos in one morning: a site, first-timers, and hacktoberfest-2018. Fork the repo, add your name to the README.md, open a pull request. Nothing you did could break anything, because there was nothing in there.

I opened pull request number 1 on first-timers myself four days later, to get the screenshots. It never got merged.

The guide went up on the Auth0 blog on 24 September as First Timers Guide to Contributing to an Open Source Project. Fork, edit the file in the browser, open the pull request, a screenshot for each click, then the same again on the command line. It pointed at First Timers Only (Kent C. Dodds and Scott Hanselman’s project) and at Up For Grabs. It had a section called “Hacktoberfest Isn’t Just About Free Swag”. The first line under that heading was “But, there is free swag.” T-shirt and stickers, in bold.

I put numbers in. 768 people took part in 2014. In 2017 it was 31,901 people and 239,164 pull requests, and I wrote that 2018 “is poised to be the biggest year yet”.

I also said my favourite kind of pull request was deleting a .DS_Store file (the hidden file a Mac leaves in every folder you open) from someone else’s repo. The one I linked, on auth0/jwt-auth-bundle, was opened on 10 August 2016 and merged 30 seconds later. That was 15 months before I worked there.

In the same guide, writing about the first-timers-only label, I said “it’s important for project owners to understand what they’re agreeing to”. I wrote that about other people’s repos.

Hackference

Hackference 2018 was a one day conference on Friday 12 October and a hackathon over the weekend, the sixth one Mike Elsmore had run. Auth0 sponsored it and I was there for the hackathon. My recap went on the Auth0 blog on 22 October, eight years ago today. The Auth0 prize went to a team called “Who Dis?” who built their own identity provider on IndieAuth and plugged it into Auth0’s login page. All weekend the hacktoberfest-2018 repo was taking pull requests from people I would never meet.

What happened to the pull requests

Both repos are still up. hacktoberfest-2018 took 1,191 pull requests and has 734 forks. first-timers took 162 and has 125 forks. 25 of the 162 were merged. 101 are still open. The last push to first-timers was in February 2024. The newest pull request is from August 2025, from a first-time contributor, called “add me to contributors”. It is still open.

So people did it. They forked the repo, changed one file and opened a pull request, which they had never done before. Then nothing. The guide said “all pull requests will be considered”, and I was there for about one in six.

2020: repos had to opt in

In 2020 Hacktoberfest changed the rules. A repo had to opt in with a hacktoberfest topic, or a maintainer had to put a hacktoberfest-accepted label on the pull request, and the Hacktoberfest team could exclude a repo. On 10 October 2020 I built hacktoberfest.ninja, a Nuxt site with a Netlify Function behind it that checked those three things for any repo you pasted in.

My team at Vonage sponsored that year. I was on the Hacktoberfest Discord answering questions and, in my own words, helping people “with how to get some free Vonage socks”. Ten days later I wrote:

As both sponsor, maintainer, and avid supporter of Hacktoberfest, I feel conflicted by what I’ve seen this year. Out of the tens of thousands of young folks first hearing of it, a large number seem more focused on the swag rather than the importance of open source.

Same month, I wrote a post on other ways to contribute: translate docs, take words like “easy” out of a README, answer the questions maintainers don’t have time for. The translation example was the First Contributions project, which had its guide in over 60 languages, one of them my pirate-English. For the “easy” one I linked a pull request on Jest from the year before, where someone had gone through the docs and taken the condescending words out, and Carol Stransky’s guide on doing the same. That kind of non-code contribution helps, because someone wanted it. The last line of that post was “And, get a t-shirt.” That year you could pick a t-shirt or a tree.

2026: no pull requests, no t-shirt

On 28 September I wrote that Hacktoberfest 2026 dropped pull requests. The FAQ says why: “with the rise of AI tools making low-effort PRs trivial to generate, open-source maintainers faced unprecedented floods of noise, spam, and burnout”. Instead there are Fests, in-person and online events of up to 12 hours. T-shirts are only at Fests, if the organiser wants to, while they last. The first thing the homepage suggests you do is “write your first skills.md”, a short file that tells an AI agent how to use a project.

In 2018 the hard bit was the fork, the branch and the push. That’s what the screenshots were for. The edit was tiny on purpose. In 2026 a tool does the fork, the branch, the push and the edit, and opens the pull request. The maintainer still has to open every one.

What I think now

The good part of the guide was who it was for. Someone who had never done this. Every word explained the first time it came up. A place where the worst that could happen was nothing. In May I wrote about contributing guides, and how most are written by maintainers for people who already fit in. The 2018 one was the other way round.

The rest I’d cut. I told people the pull request was the point, and the t-shirt rule said the same thing: enough pull requests and you’re done. Deleting a .DS_Store from a stranger’s repo doesn’t help them. Neither does a name on a list, or a pull request sent for a shirt. Non-code edits were meant to be the way in for people who weren’t programmers, and they became the easiest thing to send to a project that never asked, years before a model could send them for you.

A skills file is written for someone who has never seen the project. Same reader as my README. The difference is the project has to want one. I’m glad there’s no more t-shirt.