There’s lots of ways of contributing to open source projects.
A common misconception about contributing to open source is that you need to write code. In fact, it’s often the other parts of a project that are in urgent need of assistance. Other ways of helping an open source project include writing documentation, identifying bugs, testing code changes, answering queries from users, planning events, suggesting design improvements, perform user experience testing, making a monetary donation, and more.
I want to share a few of my recent experiences of contributing to open source projects.
Tauon Music Box
I wrote a detailed review of Tauon Music Box. It’s an awesome music player jam-packed with great features, a sublime and well-engineered interface, and it’s under active development. How this amazing music player has received only a few hundred GitHub stars beggars belief.
I looked at how I could contribute to the program. Tauon is written in Python. As I’m a beginner in Python, submitting code isn’t going to be fruitful. Another way of contributing to open source projects is to take on tasks that developers often hate, such as writing documentation. But Tauon’s documentation looks fairly polished.
Suggesting new features is often perceived as a lazy way of contributing. But I took a long time to fully evaluate the software, carefully considering what additional functionality would really benefit the project. One area I think Tauon needs improvement is its internet radio functionality. To add a new station, you need to know the Stream URL. If you like dabbling with new stations, having to find each station’s stream is a real chore. Some dedicated internet radio software offer a radio browser which makes it much easier to find new stations.
I submitted an issue on Tauon’s GitHub repository, suggesting adding the radio-browser.info API to make internet radio browsing much easier. It received a lukewarm reaction with the developer marking the request as Low Priority. I’m always worried about software suffering from feature-bloat. I admire developers that refuse to add functionality they don’t feel will benefit many users. Fair play to the developer. On reflection, the arguments I presented for the feature addition weren’t that persuasive either.
However, to my complete surprise, internet radio browser functionality has been added to version 6.2.0. It’s a really welcome addition.
Internet Radio is accessed from the MENU button. You’re presented with a list of your saved stations.
There’s now a Browse button that offers a radio browser feature that makes it much easier to add new stations to your saved list of stations.
Clicking the Browse button shows the dialog box below.
Here you can search for stations, or get a list of the Top Voted stations. You can record stations’ streams and auto-split songs.
Searching for stations isn’t perfect. For example, searching for “Absolute” results in no matches. Yet search for “90s”, and you’ll see Absolute Radio 90s. There’s quite a few other bugs. That’s to be expected with a new feature addition. I’ll be helping the project by thoroughly testing the new feature, and identifying bugs and inconsistencies. In time, once my Python knowledge has improved, I’ll look to submit small code fixes. Great oaks from little acorns grow.
I also really like that the new version of Tauon has removed BASS, a proprietary audio library. Tauon has always had an open source alternative to BASS with GStreamer but it lacked some features offered by BASS. But most of that functionality is now reproduced with GStreamer.
DownZemAll! is an open source download manager that I recently covered. In my review of DownZemAll!, I noted that support for YouTube playlists was lacking essential functionality.
I raised an issue on the project’s GitHub. The response from the developer was very encouraging saying that this functionality would really benefit him too.
With a few weeks, the developer has released a new version providing the playlist downloading functionality. Excellent stuff!
An Open Source Book
Things don’t always go to plan. I’ve started dabbling in the art of programming. One of my colleagues suggested a few books to help me get started. Good introductory texts that were pitched roughly at my level.
One of the books was technically good, but the author is not a native English speaker. His book was littered with mistakes, poor grammar, and typographical errors. I spent a week going through the first chapter identifying corrections which were all accepted (with one exception). Because of work commitments I wasn’t able to devote time to the later chapters for a few weeks.
A month later the author removed the open source version, and stated he will be selling his book. I’ve nothing against this change of direction, although removing the open source version seems to be a little out of spirit.
I’ll keep the name of the book under wraps; there’s no point in starting a witch hunt.