You read that right…I finally made my first contribution to open source, and it was just an icon / logo for TypeScript Framework Collection , a port of the Java Collections framework for use with Angular: link.
To a beginner, contributing to open source can be scary, and hard to determine where/how to start and how the whole process happens.”
Despite the minimal level of difficulty, I’m super proud to have finally gone over the hump. I’ve been wanting to participate in open source for a long time, but I’ve found the process a bit confusing and scary. I didn’t really know where to start until I found 24 pull requests : link.
There, I found several articles on how to find good starting points and how to select one. They are quite a few tools that aggregate for you, but ultimately I just used GitHub’s search bar and entered label:"good first issue"
, which returned a list of all projects that were labeled such.
Many articles suggest criteria for selecting your first project be level of difficulty or perhaps it be a tool that you use often. I picked this one because it helped me go through the entire process from search to pull-request quickly. So let’s go through my steps in detail:
SEARCH & SELECTION
As mentioned above, after looking through various aggregators and tools, I ended up just going with GitHub’s search bar and the entry: label: "good first issue"
.
Next, going through the list, I filter out the closed issues and perhaps keyword, I also check out the level of activity of the project and if they do take pull requests. I want to increase the probability of a response of course.
Once I found the issue, I read through the messages to first see if someone has claimed it or is nearing solution then posted my own message declaring my desire to attempt the solution.
CLONE THE REPO
Next I forked the main project and made a branch called chiangs
. Then I cloned it locally to my machine.
I made my images and then copied them over to my local repo then made double sure that the images were within expected specifications. Lastly, I committed the changes and pushed it to my fork.
MAKE A PULL REQUEST
Next I went back to the main repo and started a pull request. Here, I made sure that the solution # and description were referenced and provided an in-depth description of my contribution.
So that’s that, now I’m looking forward to the next issue –this time with a higher level of difficulty of course. But now, the entire process is less daunting and pretty satisfying.
Quick update: I’ve recently learned of this awesome open source note taking app, Boostnote and I’ve been following it on GitHub thinking about getting involved. I found a quick and easy main page needs translations
issue, so I quickly made a pull request for a version in Danish. It may not be a higher level of difficulty I originally stated I was going to look for, but it was something quick and easy and I can say I’m pretty addicted to contributing to open source at this point. However, I think I may have found my next project to contribute actual code towards after I’ve gotten the full context of the desktop and mobile applications.
Top comments (1)
That was a very good post.