Beginning this year I wanted to start working on a new ambitious Open Source project. I thought it’d be easy given the number of open source projects across the web ranging in the hundreds of thousands. However, with the colossal amount of projects, I found it fairly difficult to find one I wanted to wholeheartedly contribute to. With contributing to an open source project it’s not as easy as picking something you think is cool and working on a bug, there are a number of factors that contribute to whether that project is viable and logical to work on. In my “selection” process I considered the following factors: “is the project active?”, “Can I work on the project with my current skillset and if not can I learn it?”, “Are the maintainers actively merging and tending to issues and pull requests”, and “do I like the project?” I used these questions to pick the open source project I wanted to work on.
I began my search by looking at music projects across GitHub because I love music and instruments and have been playing piano and guitar for many years. Previously I worked on APlayer by MoePlayer and that was great however I wanted to work on a new project and expand my portfolio. I came across a lot of interesting projects, for example, Mopidy which is an extensible music server that plays music locally, Spotify, Soundcloud, and many more. I liked the purpose of this project, however, I was worried about the extent of work I could do on the project aside from small bug fixes since the project fulfills a small array of purposes being a music server only. After careful consideration, I decided not to work on Mopidy and continued my search for other viable projects. I went through project after project checking if they aligned with my “viable project” criteria and narrowed it down to a project called Google Play Music Desktop Unofficial (GPMD). GPMD is an unofficial (not from Google) desktop application that allows the user to use Google Play Music as a desktop application. The project looked really interesting and I saw some issues I thought I could tackle with ease. One of which was the adding a message to the user in the event that the GPMD is launched without an active internet connection. I forked and cloned the project and begun analyzing its source code. After an hour or two I beginning to think that this project was somewhat beyond my scope and I didn’t have the required skillset to correctly contribute to project. I tried for another hour or so and kind of placed the project on the backburner to search for different projects however this time branching outside of the music category.
As the hours went by of passively analyzing different projects I was worried that I wouldn’t be able to find the right project for me and ended up having my doubts. I found myself staring at the GitHub homepage and noticed a project on trending called JSPaint.
I took a look at it not really thinking I’d ever work on it and scanned through the issues. I noticed one called “zoom is blurry on Firefox” and thought it should be a simple fix since zoom worked perfectly fine on other browsers and that it could possibly be firefox having different syntax. This was somewhat confirmed by the owner of the project when he mentioned new syntax regarding image rendering. I forked and cloned the project and begun working on the issue. To my surprise, it only took a small addition to the CSS to fix the issue and I have it Pull Request form in under an hour.
It was funny to me that previously I set so many criteria to find a project to work on and ended working on a random project I came across on GitHub trending. I hope to continue working on this project and have really enjoyed working on it so far.