My First Open Source Contribution
As an aspiring software engineer, there’s always something new to learn, whether it’s improving your coding skills, understanding best practices, or getting familiar with tools that are essential in the industry. After finishing studying software engineering at Launch School, I started the prep course for their Capstone program. While going through the prep material, I knew that being familiar with GitHub would be an integral part of being a good developer, both for Capstone as well as afterward on the job.
The prep work included a basic overview of how to create a sample repository, fork repos, make pull requests, and submit them. However, I wanted to take things further. Rather than just creating test repos for practice, I decided to step my game up and get involved in an actual open-source project, especially since I had some extra time before Capstone started.
The Open Source Landscape
The beauty of open-source software is that it’s everywhere on GitHub. There are countless repositories with issues ranging from simple bug fixes to major feature requests. These issues are typically listed in the “Issues” tab of a repo, and they often come with tags that highlight their difficulty level. Some issue tags are particularly helpful for noobs, like the “good first issue” tag, which indicates that an issue is suitable for developers who are just getting started with open-source contributions. I decided to find an issue with this tag to make my first contribution.
Finding the Right Project
The open-source world is vast and diving in can be overwhelming. I spent several hours researching various projects and browsing repositories tagged with “good first issue”. Some projects were too complicated for my skill level, while others were already flooded with contributions, making it difficult to get noticed. I continued to do research, hoping that the right opportunity was out there that wouldn’t require several months’ worth of work.
Eventually, I came across the A11y Project, a non-profit organization focused on making the web more accessible to everyone, including people with disabilities. This was a cause I felt strongly about, and the project seemed like a perfect fit for my first contribution. Looking at their repo, the issues tagged as “good first issue” were clear and understandable, and I could see how my contributions could hopefully make an impact.
My First Pull Request
While digging through the repo, I found a good issue relating to making some simple HTML, CSS, and Markdown changes to their codebase. Though this wouldn’t be super challenging from a technical perspective, I chose to work on this issue as my first open-source contribution as my primary goal was geared towards the process of learning how the open-source contribution process works.
After reviewing the guidelines for contributing to the A11y Project and ensuring that I understood the issue I was tackling, I forked the repo and made the necessary changes. I then created a pull request and submitted it for review. Not too long after, my changes got approved and merged into the codebase! While it wasn’t a huge contribution, it was a meaningful step in my journey as a developer.
Final Thoughts
In addition to learning about how the open-source contribution process works, I learned a few additional valuable lessons: start with manageable “good first issues” to avoid feeling overwhelmed, don’t hesitate to ask questions in the repo since most communities are welcoming, always read the contributing guidelines to save time, and be patient during the review process as it may take time for your pull request to be merged.
If you’re new to open source and want to learn more, start by reading GitHub’s Contributing Guide. Next, I highly recommend checking out websites like First Timers Only which curate a list of open-source projects which welcome new contributors.
Hopefully, this post encourages other newbie developers to take the leap and contribute to open source. It’s a fantastic way to grow as a developer while contributing to something meaningful. Whether you’re fixing bugs, writing documentation, or building features, there’s always something to do in the open-source world. So, take the plunge and start contributing…it’s a great way to improve your skills while making a difference in the open-source community.
Originally published at https://www.westonludeke.com on November 14, 2024.