Contributing to open-source software is often perceived as a complex and intimidating process requiring high technical expertise. However, the truth is that even easy and seemingly foolish contributions can make a big difference in improving open-source projects. In this blog post, I will be sharing my experience of making my first open-source contribution, and how I made a meaningful impact by making a seemingly small and easy change. By sharing my story, I hope to inspire others to get involved in open source and demonstrate that anyone can make a contribution, no matter how small or simple it may seem.
After discovering an organization which is Rocket.Chat that fit my desired technology stack, which is MERN, I delved into their codebase, attended their code walkthrough meetings, and experimented with their codebase while also learning about some new technologies. One technology that caught my attention was the Rocket.Chat-Apps-Engine-Framework, which is a framework that allows developers to build apps for the Rocket Chat workspace. Once I became familiar with the codebase, I started identifying issues and attempted to resolve them.
After a few pull requests, I noticed that the pull request title conditions had been changed. Now, when making a pull request, it was mandatory to start the title with the issue type it solved, and a test would run to verify the title, which halted other tests if it failed. However, I noticed that they had forgotten to update the PR template, where they documented what the PR title should be and how they defined the issue types.
While creating a pull request, I realized that my PR title check was failing. Upon investigation, I discovered that the template documentation was missing. To rectify this issue, I quickly created a new branch, made changes to the template, and created a new PR. Since it was an important change, I received some suggestions and requests for code changes before it was finally merged.
I learned from other contributors that even the smallest changes, such as correcting a basic URL or fixing a typo, could make a significant difference to the project. It was a unique feeling to witness my first PR being merged, and my second PR was even more surprising. All I did was replace a ')' with a '.', as '8)' was being rendered as an emoji. Despite its simplicity, the PR was approved and merged, which made me feel even more excited about contributing to open source.
In addition to my first open-source contribution experience, I have been contributing to Rocket.Chat for over a month now, and it has been a fantastic learning experience. During this time, I have gained a deeper understanding of how open source projects are managed, how community bonding plays a crucial role in their success, and how contributors from all around the world can collaborate towards a common goal.
Apart from the technical knowledge gained, I also got to know about various new technologies, tools, and frameworks that are used in the development of a large-scale open-source project. By contributing to Rocket.Chat, I have had the opportunity to work with people from diverse backgrounds, with different skill sets, and different approaches to problem-solving. This has broadened my horizons and given me a deeper appreciation for the power of collaboration and teamwork.
Overall, contributing to open source has been a highly rewarding experience for me, and I would highly recommend it to anyone who is interested in improving their skills, connecting with other developers, and making a positive impact on the world of technology.