In this post I want to share my experience submitting my first pull request and contributing to open source. Honestly, my contribution wasn’t planned at all. It just kind of happened. I knew about open source software and how the idea worked but I didn’t know how to actually use git and attempt to submit a pull request to fix an issue on GitHub. The actual process itself turned out to be easier than I thought.
What led to it?
A few weeks ago I happened to be reading about contributing to open source and I stumbled across the website First Timers Only. I highly recommend checking it out if you are new to development and interested in contributing to open source. While reading through the page I eventually clicked on the link for the GitHub first-timers-only label. It linked me to a page on GitHub that listed the search results of issues listed with the first-timers-only label.
While looking through the list I found an issue for freeCodeCamp to add some verbiage on the code of conduct page. I knew this was something I could easily do because it didn’t involve writing any code.
I’ve used freeCodeCamp before and I really liked it so I was excited for the possibility of my first pull request to go to an awesome project like FCC. As you can see in the comments of the issue, I commented my suggestion for the change and then I was asked if I would make a pull request. I read the contributor’s guide and started going through the necessary steps to update, test, and submit my changes.
Of course, editing the file and adding the new text was easy. The part I struggled with was installing and setting up the dependencies needed to setup FCC and test the changes locally. It took me awhile to find 32 bit versions of Node.js and MongoDB, particularly MongoDB. With some help I was able to get them installed and get MongoDB running on my computer. Then I was able to test my changes locally on my computer and make sure everything looked good. After that I ran a test suite script for FCC that was included in the contributor’s guide.
All of the tests passed so then I added, commited, and pushed the changes to my forked repo. I logged into GitHub and created the pull request. I double checked everything I had done and followed the pull request instructions to verify everything was correct. I submitted the pull request, and not long after, it was merged. I felt awesome.