Hacktoberfest: You love it or hate it.
It's a great way for new developers to get some experience in the Open Source Software world. They learn:
- How to collaborate
- How to code
- How to use Git
For maintainers, it's a way to get some eyes on fixing documentation and low hanging fruit that they've been too busy to deal with.
Hacktoberfest also comes with lots of problems for both new contributors and maintainers.
Many OSS teams are opting out completely. There are just too many low quality PRs and "Can you assign this issue to me!!!" requests to manage.
For potential contributors trying to enhance their knowledge and portfolio, it's a bit of a nightmare trying to find a project that:
- Is accepting contributions
- Has an open issue that is within their skills or might push them a bit
- Hasn't been claimed 🤚 by 50 other people
Today, I gave this advice in the VirtualCoffee #open-source Slack channel and thought I'd share it here as well. The alt text for the image is too long. The exact text is listed below.
IMPORTANT: I'll reiterate here what I did in the Slack post. Do NOT use this suggestion as a way to spam projects. Only use this technique when you are honestly contributing to a project as if there were no credit involved. The goal isn't the swag. The goal is to improve the project and help others while also improving your skills and exposure. For maintainers, if you see people doing this in a spammy or abusive way, report them to the Hacktoberfest project.
SUGGESTION: When asking if the maintainers will add the tag, be nice and respect them if they choose not to. Maybe ask like this:
I'm so glad I got a chance to contribute to X. I've been using it for a while and finally felt comfortable giving back. I'm participating in #Hacktoberfest. If you'd be willing to add the "hacktoberfest-accepted" label to this PR, I'd really appreciate it. If not ... no worries. I understand.
Here's the text from the image:
Suggestions for Succeeding in Hacktoberfest
I can imagine it’s getting pretty hard for y’all to find projects & issues that are qualified for Hacktoberfest.
If you’re struggling to find something, here are some suggestions:
-
Contribute to packages/tools you use, like, or are actively learning
- You’re probably much more familiar with them than some rando OSS project that has a Hacktoberfest tag.
- You might be experiencing the docs/api from a newbie perspective and can see problems that others have glossed over.
- If you learned/used it recently, problems you encountered or bugs you saw are fresh in your mind.
-
Worry less about the swag
- Yes, it is nice to get the swag if you can.
- Yes, it’s nice from a hiring perspective to have that label of having completed Hacktoberfest.
- At the same time, maintainers get Hacktoberfest fatigue and can burn out on reviewing them. Your PR may never get merged as the maintainers need to focus on core functionality, high priority new features, and pressing bug fixes.
- Employers will be much more interested in a developer with a sustained history of OSS contributions than one that completed exactly 4 during October.
-
Get the swag and credibility through the side door ( me and side doors …😜)
- You don’t have to slog through the “official” Hacktoberfest projects and battle others to get assigned an issue to contribute and potentially get swag and credit.
- See # 1, then this question/answer from the official FAQs. https://hacktoberfest.digitalocean.com/faq
What should I do if I contribute to a repository that is not participating in Hacktoberfest?
You can politely request the maintainer of the project you contributed to, to tag your contribution with the label hacktoberfest-accepted . Or, add the ‘hacktoberfest’ topic to the repository to opt the project into Hacktoberfest.
Any pull request with the hacktoberfest-accepted label, submitted to any public GitHub/GitLab repository, with or without the hacktoberfest topic, will be considered valid for Hacktoberfest.
- Maybe the maintainer will do it and maybe they won’t. Either way, you’ll get really experience on a project you care about and will help others in the long term.
- IMPORTANT: Do NOT use this side door as a way to spam projects with unwanted PRs. Make sure your PRs are genuinely useful and substantial.
- Use Gitpod
- Setting up your environment and downloading all dependencies for a project you don’t normally work in is a pain in the rear. Sometimes, it seems impossible to get the project up and running.
- Gitpod.io will spin up a container instance for you and handle all of that. You don’t have to do anything locally.