Did you know? Programmers convert coffee to code.

If you like my articles, sponsor me a coffee.

Hacktoberfest

hacktoberfest 2017

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.

Conclusion

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.

GHajba
 

Senior developer, consultant, author, mentor, apprentice.

I love to share my knowledge and insights what I achieve through my daily work which is not trivial — at least not for me.

Click Here to Leave a Comment Below 0 comments
>
%d bloggers like this: