Open-Source at LevelUP

Embracing open-source tools, technologies, and methods

Kenneth Reilly
LevelUP

--

Introduction

As a software developer, I’ve worked on a wide variety of applications, ranging from small embedded projects and mobile app MVPs all the way up to complex product management systems and cloud-backed PC maintenance software. Ten years of development, combined with an additional ten-year career in audio engineering and IT, has taught me a few things about what works and what doesn’t in the realm of electronics.

Over the course of my career, the most frequently discussed topic is the notion of open-source versus proprietary software. For those just getting into IT and programming, the difference is that open-source software is generally freely available in its original form (source code) and usually has a license that allows a person (or organization) to use, modify, or even monetize an application or solution built with that code, whereas proprietary software is generally not available for free, does not include source code, and cannot be modified or redistributed except under strict licensing terms.

Having spent the last decade switching back and forth between open-source and proprietary operating systems, platforms, runtimes, SDKs, and licenses, my decision to focus almost exclusively on open-source development came to me slowly over the past few years, as I drifted further away from proprietary software and began to fully embrace the idea of building an entire business on the production, documentation, and maintenance of open-source tools.

Market Analysis

Most professionals in technology roles today will agree that no major business decisions should be made without some hard data.

If there was ever a good metric for what programming languages and tools are the most popular for any given time period, it would be data from Stack Overflow Trends. This information is a reflection of real developers who are actively working through the current challenges of their career, in order to stay relevant (and get paid). While some fluctuations are likely induced by natural consequences of a technology gaining popularity (such as a drop in search for a topic after a vendor integrates a popular solution into the next release), the overall trend follows the industry shift in focus.

Let’s take a look at a comparison of open-source versus proprietary solutions for common industry sectors: databases, and mobile development tools.

Databases (MSSQL, Oracle, PostgreSQL):

Comparison of open-source vs proprietary databases 2009–2019

In the above graph, Microsoft SQL Server remains the leader, although it has dropped significantly over the course of the last ten years, and the current trend shows that PostgreSQL (which overtook Oracle in 2016) is on a steady track to eventually take the lead. This is unsurprising for anyone familiar with just how powerful and flexible this database is.

Mobile Dev Environments:

Open-source vs proprietary mobile dev tools 2009–2019

In this graph, we can see where mobile development in general really started to take off around 2010, first with Android followed shortly by iOS. Of course, the Java language has an unfair advantage of having been around as a general purpose cross-platform language for decades, which is visible in the graph, but in a sense, this illustrates an important concept of open-source: building on pre-existing tools and technologies that are available at the time.

Even Apple has effectively replaced it’s own Objective-C language back in 2014 with Swift, an open-source general-purpose language designed for building apps on any platform ranging from watches to server racks.

Another relative newcomer with staying power is Kotlin, also an open-source general-purpose language for cross-platform development. As evident by the graph above, developers are slowly shifting from Java towards Kotlin.

Conclusion

Clearly, open-source technologies aren’t going anywhere, considering the above trends in database and mobile app development in addition to the fact that 90% of public cloud infrastructure runs on Linux. The strength is in the community, in which a product can be developed, tested, marketed, and maintained by thousands of people, whereas very few of the top global tech corporations can afford to hire teams of that size.

So where does the value come from if the source code is freely available to use, modify, and redistribute? The value comes from where it should come from in the first place, the implementation. The knowledge is freely available to anyone — even the source code required to build compilers which are in turn used to further compile other languages and so forth, but without the necessary skills required to actually accomplish those things, the knowledge itself isn’t really that useful at the end of the day.

The misconception that source code retains value is responsible for countless instances of legacy software with massive technical debt, undocumented systems left behind by disenfranchised employees who long ago disconnected or even left altogether (due to being valued less than the software they built), and waves of executives and managers eager to learn about how modern, state-of-the-art software is actually made. This is how concepts like DevOps emerge, and why they are so difficult to reproduce without fully embracing open strategies.

Welcome to the exciting world of open-source technology, limited only by imagination and a little determination. Thanks for reading!

Kenneth Reilly (8_bit_hacker) is CTO of LevelUP.

--

--