May Merge Be With You – Hacktoberfest

For a long time I have worked and waited to see that all my pull requests for Hacktoberfest gradually merge.

This was my first time out of my comfort zone to attend Hacktoberfest. I eventually moved out of my normal routine of working with the technologies and languages ​​I’m most comfortable with. The most comfortable path is devoid of any risk, and it also prevents us from growing to our maximum potential. Until now I had only worked on school projects and personal projects, completely unaware of how big real-world projects really were. This Hacktoberfest opened my eyes and inspired me to dig deeper, instilling in me an insatiable desire to continuously improve and learn.

During Hacktoberfest, maintainers around the world mark certain issues as “hacktoberfest-approved” because it can help bring more people to their projects. These issues are most likely to be “newbie friendly” for people who don’t have experience with their codebase. Investigating, planning and implementing these issues in real world projects is a lot of work, but the work is rewarding (ie digital badges, networking and learning new technologies).

First PR- TonyBaloni / Vs Code-Pets

A few days before Hacktoberfest, I came across this vscode extension called vscode-pets. Suddenly an update appeared for vscode pets. When I launched, updated, and clicked changelog To see what changed – it took me to GitHub where I found out they were participating in Hacktoberfest 2022. Since all issues were so beginner-friendly, it was a popular repo among first time contributors. This was one of the strangest projects I encountered and contributed to. The issue was adding a custom quote for pets, issue #199 and the quote I added was for Totoro. This is an inspirational quote from the movie and I thought it would be a nice addition to the expansion.

try to laugh. Then whatever fear you have will go away.

This first PR was the simplest because I was just testing the waters, trying to understand the process of contributing to real-world open-source projects. The escort was very responsive and matched my PR within a few hours. Even though the contribution was small, the confidence it gave me was huge.

2nd pr intel/cv-bin-tool

After that, I wanted to contribute to a bigger project and got in front of Intel cve-bin-tool Repository written in python. The CVE Binary Tool helps you determine whether your system contains known vulnerabilities. It is intended to be used as part of your continuous integration system to enable regular vulnerability scanning and give you early warning of known issues in your supply chain.

The point was to fix mypy type issues __init__.py, I was able to fix the type issues and also added type annotations to the codebase. The project was well documented and I had no problems running it.
There are strict guidelines for contributing to large projects like nodejs, vscode or this, cv-bin-tool. Even when you increase the PR the commit messages get checked. Check out one of the commit messages from gitlint in their workflow.

It’s not about the issues, it’s about the reading

PR When you read about an issue and understand nothing about it, you may think that the issue is too big for you. But when you examine the merged PRs, you will see that the PRs are very simple. PRs are simple because the maintainers have already done the hard work of understanding the codebase and for the contributors, the real challenge begins here. Reading their documentation, understanding existing implementations, understanding their coding style and project architecture. All this together will help you better understand the issue and implement it.

Reflection

For the past several days I was completely immersed in working on issues and doing pull requests. I’m glad I decided to take a deep dive to discover the complex world of open source. The best way to learn something is not just to learn its theory from afar, but to go deep into it and experience it firsthand.
Remember what Darth Maul said:

“Doubt will only lead to failure.”

To get good at anything we have to be brave enough to try, fail and try again.

Leave a Comment