I Made My First Contribution to an Open Source Project
Recently I decided that it was time I started giving back to the open source community that has given me so much value throughout the years. I rely on so many amazing open source projects each day… It truly is amazing how much we can accomplish when we work together.
Choosing a Project
The first step in making a contribution to the open source community is choosing a project. To aid in this process, I utililzed the GitHub explore feature. This made it easy to find lots of lively projects that could potentially be good candidates for a first contribution. After some searching I found Memos. For years I have been (stupidly) using a private Discord channel as a place to store quick notes, materials for later reference, and even code snippets. While Discord certainly did this job well, it never sat right with me that I was using it for this purpose. What if Discord shut down one day and I lost all of my data? This is why Memos stood out to me. Memos is a self hosted twitter-like feed of personal notes. It also has social networking features in case you wanted to share your memos with others (think household grocery lists, recipe links, etc.) After spinning up an instance of the web app on my server, I was sold.
Actually Contributing
While I have a decent amount of experience when it comes to Web Development, I have never worked with a large scale project like Memos. It took me a while to orient myself in the code base and to get a feel for all of the tools the project uses in its tech stack. After looking through the code for a few hours, I searched through Memos’ issues page scanning for something that looked doable. I didn’t find anything I felt comfortable tackling, so instead I began to look for my own bug. As silly as it sounds, I found a few spots in the menus where there had been typos. So, I made it my mission to fix these typos and submit my first pull request. Quickly after my first contribution, I read and responded to a request for updated documentation. While zipping around Memos gather info for the documentation changes, I found a small bug! (Rounded Corner on top of Square element)
I knew exactly what to do. Submit an issue, create a new branch in my fork, fix the bug, submit a PR and bada-bing bada-boom we are slowly helping the project improve :)
Quick Aside
If you’re reading this and you are interested in making your first contribution, here are the steps you should take to get started.
-
Make a fork of the project you are looking to contribute to.
-
Once you have found the bug or feature you want to work on, make a branch with a similar title to the target issue or feature.
-
Work on your changes.
-
When your code is good to go submit a pull request from the original repo. At the top of the page there is a link that asks if you want to compare across forks. Click this and choose your fork and the feature or issue specific branch.
-
Create a thorough, yet clear and concise description of the changes you made in this pull request.
-
Submit your request and wait. Depending on the project it could take a long time before the maintainers are able to review your changes. They may even suggest changes or deny your request.
Conclusion
At the end of the day, I am so happy I finally took the leap and started contributing. I have found this to be a really fulfilling experience and I am extremely excited to keep working together with the community to make awesome projects. If you have any coding skills and haven’t contributed to a project yet, I highly recommend doing so!