Over the weekend, I decided to partake in Hacktoberfest. 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).
Liquid error: internal
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 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 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 - 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
Me, 2k19
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!
Top comments (7)
For me it was also super amazing... getting first contributions especially in the beginning of October for an Open Source project, which was started at the university back in 2006 or 2007 I guess, but where I worked alone on the project since the end of 2012. But where I'm now more convinced than ever that the ideas borrowed especially from ZFS are great. Versioning done at the storage layer (completely written from scratch) using immutable keyed tries, log-structured and without the overhead of a persistent transaction-log, versioning even the data-pages fine granularly, using a distributed transaction log in the future for sharding...
So I'd love to move forward with the help of the Open Source community and to build a great analytics platform for analysing the past, doing audits, simply revert to a known good state because of human- or application-errors while even being able to stream real time changes :-) The versioning aspect introduces just a little bit of constant overhead, but in general unchanged structures are simply shared between revisions, even unchaned records of a data page.
Awesome to hear! All the best with the project as well! I am sure if you pull the word out about your project people would flock to it to help out.
Likewise this was my first #Hacktoberfest, and the project I've found suits me so well. I plan to continue contributing.. without the t-shirt incentive! 😂
I went along to a Hacktoberfest event in Glasgow and one site they'd suggested for finding projects to work on was CodeTriage. Might help you find future projects too!
Thanks for the CodeTriage recommendation. It looks like a really handy site.
😂 yes I will definitely be continuing without the t-shirt incentive from now on.
Awesome, I'll have a look.
I appreciated reading this and hearing about your fears going into it and how they weren’t so scary after you overcame them. Thank you for sharing!
Still faster than IE ;)