My Hacktoberfest Experience
Hacktoberfest, a joint venture of DigitalOcean and Github, is a month-long celebration of open source software. Introduced to promote the open source, Hacktoberfest invites maintainers of open source projects to develop their software and guide would-be contributors towards issues to help move the project forward. It also stands out as a great platform for young and new developers like me to gain some knowledge and get the opportunity to give back to both projects we like and ones we've discovered during the span of the fest.
DigitalOcean introduced Hacktoberfest in 2015, and I only got acquainted with it in September'2016 when they released the notification on this year's Hacktoberfest. In one way or another, it gave me a purpose on working towards enhancing my skills and I was sure it would turn out to be both fun and lucrative for me.
The thing I like the most about Hacktoberfest is that, apart from giving contributors to various projects free T-shirts, it provides a huge platform to developers to promote their projects. It provides great help to those who are stuck with their projects or have a lot of flaws in them.
This Hacktoberfest, I got the chance to play the role of both a contributor and a maintainer, and it was a great learning experience for me, not much as a contributor but as a developer/maintainer of projects.
When the fest started, I was keen to contribute to many of the projects I liked (phpMyAdmin, ownCloud, etc.). I looked through their source code and in the first few hours of perusing them, I realized I was not competent enough to be able to contribute to them. It left me disheartened, and so I stopped looking for projects to contribute to but instead resumed working on my project, prelimQuiz. While developing it, I got stuck at a point. I wanted my app secured, and for that, it needed to be protected from CSRF. I knew the concept of CSRF and had applied it in some of my projects built with NodeJS, but I could not think of a way to implement it in my app for which I chose PHP to be the back-end language. So I raised an issue and within the following 48 hours the project received a pull request.
Unfortunately, due to certain design issues, I did not merge the pull request. That pull request certainly gave me an idea on how to solve the problem. Moreover, it triggered a thought in my mind to keep raising issues and labeling them with "Hacktoberfest" to attract developers to my repository so that they could help me enhance my code, and also improve me as a developer. After that, I started receiving many PRs which helped me develop my project at a relatively fast pace.
It would be wise to mention here that although it was very helpful for my project, it made me quite lazy. I started raising issues on many fixes and patches which would not have required a lot of my time. Due to this laziness, I have not yet rectified those issues that did not get much attention, or their pull requests did not follow the specifications.
Even with particular turbulence present, things were going fine for me as the developer of a project, but I needed that T-shirt, and for that, I had to contribute to someone else's projects. Fortunately, a friend of mine contacted me regarding a project idea he wanted to work on and required someone to work on its back-end. So I grabbed this opportunity as fast as I could and for my greed (Yes, I said it) I told him to create a public repository for it and gave 4+ successful PR to his project which made me eligible for the T-shirt.
The T-shirt has not yet arrived, but I hope that it would be worth the struggle.
UPDATE (06.12.2016): The T-shirt was delivered along with a lot of stickers.