What I learnt from Hacktober fest 2020
Tags: hacktoberfest
Published: 2020-10-21 12:09:48

## What I Learned From Hacktoberfest

This year's Hacktober fest was my first. I learnt about Hacktober around November 2019 when one of my classmate told me about it. I thought it was fascinating because you're getting a nicely printed T-shirt (2019 pink color T-Shirt was amazing). Furthermore, he also told me that you don't have to do much, you can contribute few lines of HTML or CSS and if it is good to the project you'll earn it. I being a dumb guy was thrilled to know it. So, I had to wait. And I waited for almost a year to participate on Hacktoberfest 2020.

Here are the four repo which made me eligible for the Hacktober(I contributed more than these four):
1) Update README file for Initial Contributions 
2) Added Docker and Kubernetes Course in the course list
3) Eden Project for Hacktoberfest Tree Plantation
4) Multicolored Canvas Paint using JS

These were the four repo I contributed for Hacktober and 6 more PRs I created and contributed to other awesome Open Source repos.

### So, what was new?
I was very interested to contribute to any repo I get so that I could get my T-Shirt. I knew I  had to contribute but I found out that all repo were not eligible for Hacktoberfest contribution. That saddened me because I was not good enough to contribute to open source projects like Vue, Rust, React, Tailwind and other such projects. I felt dissapointed. I searched on "How to contribute to Open  Source" and almost all repo they provided were already running software and services were thousands of people were raising issues and creating Pull Requests.

Finally, I found a repo which listed a number of Open Source projects which I could contribute to. I looked all of the projects one by one and asked myself if I could contribute or not. Some of the projects were simply adding your name to Contributors list while some repos were asking for valuable information. I listed  out all the repo I could contribute and started collecting information.

I found out that one should always go to the repo and look for issue while contributing to a project. I actually never knew that. I then began to go through all the issues that people faced and see if there was anything I could do. However, these issues were either already taken by someone or I couldn't work on it. But I have to say that I learnt to look at issues in a repo before contributing to them.

I then researched for topics that each repo needed and began to contribute. The repo I contributed were information providing projects, so I did not have to code(which was good for me ;-) ). I soon began to find out etiquette one has to follow and rules one should comply while contributing to Open Source projects.

### Hacktoberfest Spam
Although I know I wanted the T-Shirt(as I already mentioned), I also know that I had to respect all the people who manages open source projects. If I keep requesting for a PR that is irrelevant to the project maintainer, he/she would be extremely disappointed and maybe even frustrated. Although I wanted to avoid spammy/low quality PRs, there were several hundreds who did it just for the sake of the swags. Here's one article which describes how Hacktober Fest turned into a Spamtober fest.

It is extremely unfortunate but a reality. As long as we are using Open Source software, we should be responsible. A contributor has to follow a certain guidelines and then create a suitable PR. If not, that would be an extremely hecky job for the Project Maintainer. Hundreds of people are forking the repo and opening Pull Requests, the good ones may be ignored. So, I found it extremely demotivating when I found that so many people are doing it. 

### Final Words
So, summing up here are the things I learnt from this year Hacktoberfest.
- Always look for **Issues** before contributing to any repos.
- Each repo has a CONTRIBUTING.MD file which gives you the info about how you can contribute to the Project. Read it thoroughly.
- Do not break any test cases and follow the proper conventions that are maintained in the Repo.
- Put yourself in the position of **Project Maintainer** as ask yourself if this PR is good enough that will reduce burden from Project Maintainer and actually improve the quality of Project.
- People are generally open and very helpful. If if doubt, please do not hesitate to ask them (but be sure to ask relevant questions).
- It is not about getting a T-Shirt, it about creating a open  and better community.

I want to thank following people who inspired me to contribute for the first time.
- [Ashish Yadav](https://github.com/ashiishme)
- [Aju Tamang](https://github.com/Aju100)
- [Binit Ghimire](https://github.com/TheBinitGhimire)