This year was the first time I ran a project for HacktoberFest. I did not want to be swamped so I didn't mark the repository as Hacktoberfest but used the Hacktoberfest-approved label as I merged pull requests.
Background
I wrote Is it Time to Replace Hello World. A blog to suggest replacing the classic developer phrase with "Hello There!" a phrase used by Obi-wan Kenobi in Star Wars.
<H2>Hello World!</h2>
<H2>Hello There!</h2>
I decided to expand on the blog by starting a repository to list "Hello There!" in multiple languages. I wrote Hello there in a few languages and added a file for each language.
While building it, I decided this could be fun for new developers and I would offer it up for HacktoberFest.
Building the Repo
I asked for Virtual Coffee for advice. As part of Preptember we had a list of things that make a great repo. Such as having a Code of Conduct, clear contributor guidelines, and how to open source licenses.
I made a few issues. It was basically write it hello there in the chosen language and add a link to docs.
* Create a new branch titles Hello_There.extenesion, with the extension being the language you are adding. (EX Hello_There.py)
* Write the code for `Hello There!` in the chosen language.
* Add a comment with a link to documentation.
Attack of the PRs
Hacktoberfest opened. I waited for requests while I hunted issues to work for myself. I was really happy when I got my notice on the repo. A developer wanted to work on an issue. I assigned them the issue.
Next day I had a Pull request. It looked good, so I merged it and tagged as Hacktobefest-Approved. I thought it'd be fun to add Obi-wan gif to my replies.
This was quickly followed by another developer looking to add to the project. Same process assigned them the issue and they sent some code. I merged and tagged it as hacktoberfest-approved.
The process worked till I strayed from it.
I had a coder make their own issue to add Hello there in C. It was their first Hacktoberfest. I assigned it to them and then noted in the issue that I'd be traveling and offline for the weekend. I couldn't support them till I returned. I labeled the issue for Hacktoberfest so wouldn't have to later. I set my status to offline and logged off before I left town.
Days later I got home and logged on to check progress. I had multiple PR on the same issue but not from who it was assigned to. When I tagged the issue, as opposed to tagging an accepted pull request, that made the issue show up in search results.
One had used some program to write the code. Instead of sending the one file needed, they had added multiple files created by the software. They had a default avatar and didn't follow guidelines and pushed to the main branch.
I wanted to give a benefit of doubt that they had the best intentions. They may new to Hacktoberfest and didn't understand general, open source rules. Like introduce yourself and don't work on something till assigned.
I checked their activity, they had several bad PRs.
They had spammed others repos. One PR was labeled invalid another had notes that that's not what asked for.
I declined to merge left note that said this was assigned to someone else, with a link to guidelines.
On another PR for the issue. They had pushed the code even though, it was not assigned to them. They also pushed to main. Less than 24 hours later asked is it approved in the very thread that I said I'd be offline. I declined with a note, the issue was already assigned.
From then on I would only tag a Pull Request as I merged it.
The developer that wrote the issue submitted a PR. It worked and I merged it.
A bright spot another new developer wrote her first issue for the project. She found an error in my code and wrote the issue.
In my code I forgot to change Hello World to Hello There. I wrote the line so many times in the README and the files that I missed one. Old habits die hard.
She fixed my code and had a PR merged.
Wrap up
It was fun to maintain a repository. I learned how to write clearer instructions. I enjoyed working with new devs. It was fun to hunt for gifs to use. I look forward to next year.