Nobody designs a new language for a new piece of software, we leverage what’s available.

The same happens with most critical parts of software development.

Unless you’re a database provider, you won’t consider developing a new database technology.

These platforms allow the modularization and continuous innovation in software development.

Everybody enjoys faster development processes building on top of somebody else’s efforts.

Open Source and its challenges

One of the most elegant ways of creating an open platform is open source. NOTE — I love open source, I’m writing this in atom.io from my ubuntu laptop.

Generalizing a bit, open source projects tend to be a collaborative effort of independent developers. Its result is a free “community edition” product, which has unique competitive advantages:

Efficient distribution due to “the power of free” of their “community edition”. Reduced R&D costs thanks to the altruism of the community of developers — who tend to be paid by somebody else ;-) Extensive roadmaps and more robust products because of the diversity of the community of developers and adopters.

Because of that, plenty of open source projects become winner-takes-most in their markets. No surprise, open source is key in the infrastructure of almost every tech company — operating systems, databases, languages, etc.

But one thing is getting adoption and a different one is making money.

The two prevalent open source business models have proven hard to crack. Until today, only a couple of companies did it.

Traditionally, in open source, you can make money by either:

a) Charging professional services, which usually have lower margins and don’t scale so well.

b) Charging enterprise licenses, which is challenging when most ‘community editions’ provide the core value and there’s so much info available on how to modify, implement and scale them.

As a result of that, when compared with other business models, few large businesses have been built on top of open source.

SaaS is solving some of these challenges

At first, comparing SaaS with open source might sound bizarre because in plenty of cases they are mutually exclusive.

But I think it’s relevant, since most of the infrastructure stack is getting SaaS-ified.

One example from our portfolio is pretty illustrative of that competition:

Today, the CTO of a company can spend engineering resources to build their search solution with Elasticsearch or buy speed with Algolia’s SaaS. The same could be said about contentful, keen.io, and many other API-first/-only companies.

Obviously, the SaaS product might be less customizable, but the benefits for its customers are also clear: shorter development time and more transparent costs. No more hidden costs in the form of maintenance.

If SaaS can be great for the customer, it’s even more attractive for the startup vendor and its early stage investors:

There’s more visibility over product-market fit because usage metrics are available

It’s easier to plan capital requirements because the revenues can be predictable

The company can be leaner because only one product is supported and no implementation teams are required

But in SaaS nirvana there are challenges too. The reliability and privacy of the cloud bring friction to move customers’ data and critical infrastructure into SaaS. That’s one of the obvious cases where open source wins. That said, in my opinion, we are in a transition phase until most of those concerns disappear — unless “somebody” breaks customer’s trust.

Even if it’s from 2012, it’s interesting data

Apart from that, we would agree that SaaS goes into the opposite direction of a building block for open innovation. SaaS has quite strong lock-in effects: it “owns” the customer data — and its code is closed. That means it’s hard to build something on top of a SaaS provider.

And that was true, until APIs came to the market…

APIs will win…

Again, comparing APIs with SaaS might sound counter-intuitive. In practice, most APIs are delivered in the form of a SaaS. But I think there are enough differences between both models to make a distinction.

Some of those differences, in my opinion, allow APIs to solve the key challenges of SaaS:

APIs are building blocks of software by definition

Compared with SaaS, by nature, they are platforms that allow development on top of them.

It brings back the nature of “building block” that open source has and SaaS lost.

API’s businesses focus on solving “smaller” problems but hard to crack

For that reason, there are higher chances that customers will trust an API provider for their core infrastructure.

“If this is the only thing those guys do, there’s high chances they will do it better than myself”.

Obviously, it’s still very early to tell if APIs will end up eating SaaS or just be a natural extension of it. I’m very bullish that the next building blocks of the software will be in the form of APIs, but that’s a topic for another post …