Technical Guide

Why Open Source Is Winning

Michael Bromley
Michael Bromley

Friday, September 8th 2023

Thirteen years ago Marc Andreesen famously stated that “software is eating the world”. The “eating” can be read as “disrupting” - software and the surrounding infrastructure had finally arrived at the point where basically every major industry was dominated by technology companies and even traditional industries were now heavily reliant on software.

Within the ongoing eating of the world, a similar process has been taking place, fractal-like, within software itself as closed, proprietary solutions have been increasingly replaced by open source software (OSS) alternatives.

What's driving this shift towards open source?

Open source has come of age

There was a time when the words open source might have conjured up images of clunky desktop tools with ugly UIs, impenetrable command line tools, compiling binaries from source, and getting help via mailing list. OSS has moved beyond this stereotype and now rivals - and in many cases eclipses - closed solutions in areas like usability, documentation and features.

As a developer, when was the last time you encountered a problem and reached for a proprietary library or framework?

Developer tooling was once dominated by closed platforms & tools. This might be hard to believe for a young developer who didn’t see it first hand. Over time everything shifted to OSS. Yes, even those closed proprietary tools are themselves almost universally built on top of OSS.

This same shift is now happening for businesses.

Why would a business choose open source over closed alternatives?

Vendor lock-in

A coherent suite of tools from a single vendor can be a great way to efficiently solve a whole set of business problems. But what happens when something goes wrong? And by “goes wrong” we could be talking unexpected price hikes, gradual deterioration of the product, sudden shut-down of a critical part, or even the appearance of a much better alternative. All of these happen, and often.

Extracting this vendor from your workflows can be more trouble that it is worth, so you may opt to suffer on with a host of tools that no longer serve you. That's lock in.

OSS offers an alternative to getting locked in. Typically it is free, so price hikes don't apply. You aren't subject to sudden shut-downs since you own and fully control the solution. A popular project with a healthy community will see continual improvement.

Ownership

The platforms you use to run your business - be that e-commerce platforms, customer relations, ticketing systems - are aggregating and managing lots of data. This data itself, as well as the related processes and business logic, is an asset of your company - or should be. Closed platforms get to dictate what data you get access to. Poor, incomplete APIs and the inability to extract that data means you have no real control over it. With OSS, you own the data. It’s yours and you can do what you want with it. Let’s take e-commerce as an example - a shop doing a few hundred orders per day will soon build up a huge trove of data about buying habits, top sellers, products that get bought together, and so on. This data is valuable - there are entire closed businesses which have the sole purpose of collecting and monetizing such data! With an OSS commerce platform, you own this data. It’s right there sitting in an SQL database which you also own.

Community, docs & resources

OSS projects are typically aimed at developers and as a result tend to prioritize things like good documentation, examples, and readily-available resources. If the OSS project has significant traction in the developer community, you’ll likely be able to hop into a chat server or forum and get help from other enthusiastic developers. That’s not to say that closed platforms can’t also have great docs and community - but there are still too many examples of closed platforms which have no public docs, and developers are expected to work from outdated pdf files.

For a business, building on popular open source technologies also means you have a wide pool of expertise from which to hire.

You can fork it

If you build your business around a closed platform which shuts down or deteriorates to the point that it’s no longer fit for purpose, you have no option but to completely re-evaluate and migrate to something new. Unfortunately, this happens - and can cost years of effort to get out of. With OSS, an analogous risk is that the primary maintainers decide to radically change the direction of the project, fail to properly maintain it, or decide to change the licensing. Given a sufficiently large community, it becomes likely that the project can be successfully forked and thus mitigate the risk of a disruptive re-platforming effort.

  • Node.js was forked as io.js when the community became dissatisfied with the direction and leadership, which eventually resulted in a new governance model in the form of the Node.js Foundation.

  • MariaDB is a community-developed fork of MySQL, started in 2009 after concerns about the acquisition of MySQL by Oracle. MariaDB has since become a popular choice for developers and organizations.

  • When Adobe bought the OSS e-commerce framework Magento, and then proceeded to neglect the OSS version in favour of the closed enterprise version, the Magento community created the Mage-OS fork to allow existing businesses to keep operating on the platform.

  • The most recent example came when OpenTF forked the popular Terraform project in response to a license change by Hashicorp.

Forking an OSS project is hardly trivial, but it can and does happen successfully.

What’s the catch?

OK so “OSS is the way to go”, says the co-founder of an OSS-based company. Let’s discuss the tradeoffs otherwise you’re just reading another marketing listicle.

First of all with OSS you need to do things yourself. You might need a developer to build things and you definitely need someone to manage the hosting & operation, and maintenance. This is the flipside of the ownership coin. Yes - you own your data and your infrastructure, but now you gotta own it!

So while you might be saving tens or hundreds of thousands on licensing fees vs that closed platform, you need to weigh this against the cost of running things yourself. Small businesses may reasonably conclude that their resources are best spent on their core business tasks, rather than running a service that can be handled by a SaaS vendor, for instance.

But running things yourself is only getting easier. With the rise of technologies like Docker and cloud platforms that increasingly focus on taking the pain out of operations, setting up an OSS replacement can be as simple as pointing your cloud host at a docker image and hitting “deploy”.

Tooling around this will only improve over time, and (let me get an AI angle in here) the rise of AI language models could conceivably lower the barrier to the point that even smaller businesses with limited technical resources are able to handle this.

Another concern is the "bus factor" - how many maintainers need to be hit by a bus before the OSS project is dead too? Open source funding is a whole topic in itself, but suffice it to say that there are proven ways an OSS project can reach a point of stable sustainability, whether via a foundation, corporate sponsorship or the various commercial open source models.

More recently, dedicated funds have emerged that specifically fund commercial open source companies. Two prime examples being OSS Capital and Open Core Ventures.

In conclusion, OSS has reached the point where every business needs to seriously evaluate the pros and cons of going with closed vs open solutions. And more and more are choosing open.

We’re building Vendure as a modern OSS alternative to closed commerce platforms like Shopify, BigCommerce, Commercetools, SAP Commerce Cloud and others, allowing businesses to own their data and technology stack, and making developers enjoy building ecommerce apps again.