Why haven't I done hacktoberfest before?
Tags: opensource, hacktoberfest, javascript
Published: 2019-10-28 08:50:19

Over the weekend, I decided to partake in [Hacktoberfest](https://hacktoberfest.digitalocean.com/). Not going to lie, I mainly wanted the shirt, however, what I found was that Open Source isn't that scary and pretty easy to get into. I was pretty excited and weirdly wanted to do a "live-tweeting" thing (did not succeed on this front).

{% twitter 1187658899500892161 %}

Let's go on the journey I went through to get involved in Open Source, and one that you can take to start getting involved as well.

### In the beginning

Obviously, the first step is to find some issues to jump on. Luckily Github makes this easy when [searching](https://github.com/search?q=label%3Ahacktoberfest+state%3Aopen+no%3Aassignee+is%3Aissue&type=Issues) using `label`, `state` and `type`. (Thanks to the Hacktoberfest for adding an easy link to it). I went one step further and wanted to filter using JavaScript, since that is the language I use almost everyday. After that I went on a quest to find the right issue for me to tackle.

### My first PR

The [project](https://github.com/fxnoob/mark-incognito) I chose to help was a chrome extension to mark links as "incognito only". Once clicked, the link will open in an incognito window. I chose this one because I've worked with chrome extensions before and it seemed interesting. Choosing something your familiar with will make your Open Source experience so much easier! After tinkering with the code, I managed to solve the issue they were having and **BOOM** first PR opened, and shortly after, merged! 1 PR down, 3 to go.

### The journeys conflicts

The biggest problems I faced during this journey was; Finding a project that suits me and, learning the codebase enough to solve the problem.

And that was it... Once I found a project, forking it and getting it running on my local machine was super easy. Once you find the function you need to work on and a few `console.log` later, all you'll have to do is bug fixing. Something all of us are use to doing almost everyday of our development lives.

### Happy ever after

At the end of my Hacktoberfest journey I managed to help two projects with some of the issues they were experiencing. I also learnt more about the following;

- Chrome extensions and the various lifecycle methods a webRequest has - could make my life easier in the future
- [jsdoc](https://github.com/jsdoc/jsdoc) - which made me question why I don't use it in my projects. I add the comments but never auto-generate the documentation. 🤦
- Code reviewing - to help someone improve their React code.
- Renforced my eslint and prettier configuring, which will help the maintainer enforce a consistent code style.

These may seem like minor changes/impacts, however, they are still important. We've all been in the situation where a bug or lack of documentation made us give up on a project or lose interest in something. Taking 30 minutes or less to help someone out means they can continue working towards their goal.

> The butterfly effect of Open Source
> <cite>Me, 2k19</cite>

And that was that. One weekend, 4 PRs merged, a new love for Open Source, and an eagerness to keep giving back. I hope this article has helped you to take the dive into Open Source.

Feel free to share your Hacktoberfest experience below! I'd love to hear how other people went about choosing projects and overcoming the initial fear of opening their first PR.

---

Thank you for reading my article, it really means a lot! ❤️ Please provide any feedback or comments, I'm always looking to improve and have meaningful discussions.

👋 until next time!