The idea is good. But it is poorly lived.
What do I mean by this? Some users create repositories to enable contributions for others — and these other developers create pull requests over sheer no-value. And all this to get a T-shirt.
To be honest: I did this too. I jumped right on the bandwagon to get a free shirt. Probably.
But this is not the idea
Let me explain
The original idea of Hacktoberfest is that you use your knowledge and help opensource projects to get things done. And this is good. Many opensource projects are maintained in the developers’ free time, and there is not enough time to do everything. Such missing things can be documentation, bugfixes or tests.
Now many people created repositories just to get people into submitting pull requests. Just as a low-hanging fruit. Many new repositories are created, and they require contribution in the form of providing an algorithm implementation in your favorite programming language. Wow! What an idea! Never seen something like this!
Well, no, there are a lot of repositories which reinvent the wheel. Do not do this! The internet is a resource share, a big database where you should first run a thorough query, and if you still don’t find what you are looking for, which is unlikely, and then create the information. And in this case make sure you get some money for it, because it is unique and you are the first who is documenting it — and if someone is interested, you can ask for a small donation if your content helped.
And yes, I am guilty! I did my first pull-request into one of these repositories because I thought “Yeah, an easy way to get a T.” But then I took some time and thought differently.
I beg to differ.
The right path
Now the right way is to find an opensource project you like, you use, and you see errors in there.
Then you contribute by reporting an issue and discussing with the maintainers about a solution, and you implement the solution, create a pull-request, and it is merged. If changes are requested you implement those changes. You will be a contributor to this repository.
Do not neglect your PR.
I’ve found a project which I use currently, and it has some problems. It is the Firebase Admin Java project.
Coders game the system
That’s true. We are coders, and we are looking for ways to game the system. Such useless repositories are an excellent way to do this, but it is also too easy.
If you want to game, do it, but with some effort. I share my strategy here with you but handle it confidentially.
- Find a project you want to contribute to (see the definition of a good project above)
- Fork this project into your own GitHub repository
- Create some changes to fix one error in your repo
- Create a pull-request into the original project
- If you get change-requests on your PR, create a feature branch in your repository
- Do the ongoing changes in your feature branch
- Create pull requests from your feature branch into your repository
- Merge your pull request
The last merge will merge the changes into the original pull request too. But you can achieve many pull requests for the Hacktoberfest with just one PR into a “real” project.
Hacktoberfest is not just about a swag T-shirt. The idea is a bit more complicated: get more people to engage in open source projects. This will help those projects to get more bug reports and fix these bugs. And we learn about how to work remotely, with different contribution guidelines and different people. All this for one goal: a better product we all use.