Working with an Open Source Codebase for the First Time

In my last blog post I wrote about getting into live streaming. Well it turns out one key piece to streaming live from smartphones is an…

Working with an Open Source Codebase for the First Time

Screenshot of StreamTeam RTMP Version 0.1.0 on GitHub, my fork of Leo Ma’s YASEA: Yet Another Stream Encoder for Android

In my last blog post I wrote about getting into live streaming. Well it turns out one key piece to streaming live from smartphones is an RTMP camera app. Initially I simply used a free app from the Google Play Store called RTMP Camera, but since I’m interested in building my own live streaming platform I decided to see if I could find an open source RTMP camera app for Android which I could modify to create my own derivative work on which to base my new live streaming app/platform/startup.

Luckily for me, I was able to stumble upon just such an open source RTMP camera app for Android, YASEA: Yet Another Stream Encoder for Android by Leo Ma. How wonderful is open source? There’s no way I could have built my own RTMP camera from scratch as that would likely far exceed my technical abilities. But through the power of open source, I was able to simply fork someone else’s work and create my own fresh creation or derivative work. Obviously forking someone else’s app doesn’t create a lot of value in and of itself. But I have big plans for my humble fork, and in the future it will likely look much different than YASEA does today, and provide unique value and new functionality to users.

For me, this is my first time working with someone else’s codebase. In the past I’ve pretty much built everything myself from scratch, or with the help of code snippets from Stack Overflow and other various tutorials. But this is new territory for me. I imagine most developers experience working with other people’s code for the first time when they land their first professional programming jobs out of college, but as a self-taught hobbyist with no professional experience I have yet to experience this yet for myself. However, it feels good to know that I am in fact capable of working with someone else’s code. It’s certainly intimidating, but at the same time it’s exciting to be working with open source code for the first time.