Each era of computing has created innovation platforms. In the PC world, developers didn’t have to build the components of a computer to write a software code. Similarly, today you don’t need to set up a datacentre to push an app to million users. Cloud platform is the default choice. Likewise, with software stack, nobody designs a new language for new software, they leverage from what’s available out there.
The projects in open source are the result of a collaborative effort by independent developers. These projects have a unique advantage over proprietary software stacks. The R&D cost is dramatically low due to the altruism of the developers community. Also, the diversity of the community invariably gives birth to more robust products and promising roadmaps.
Open source can be seen at very first ground in every tech company. But the adoption of software is one thing and making money is another! Open source business models are hard to crack, only a few companies have succeeded in doing it. In the world of open source, you can either make money by charging professional services or by charging enterprise licenses. These revenue models have lower margins and scalability issues. Most users don’t want to pay for an enterprise edition because the ‘community edition’ of open source software offers the core values with more information about modification.
SaaS (Software-as-a-Service)
Comparison between SaaS and open source might sound bizarre to many of you. I think, they are both relevant because a majority of infrastructure stack in the tech is getting SaaS-ified. SaaS products can be less customisable unlike the community edition version of open source projects. But the benefits of SaaS products are clear.
SaaS projects have short development time and the cost evolved is more transparent to the customer. There’s no hidden cost in the form of maintenance. SaaS also has more visibility over product-market fit as the usage metrics are readily available. However, reliability and privacy are the major concerns in SaaS projects.
SaaS has unique effects. For instance, the SaaS provider company owns the customer data and the code is locked. These effects make it hard to build something by leveraging SaaS project. Having said that, SaaS is completely in opposite direction of building block nature of open source. It is hard to build something on top of a SaaS project, right? It was true until APIs became popular!
APIs – an extension to SaaS
Comparing APIs and SaaS is certainly a counter-intuitive for many! In the software world, most of the APIs are delivered in the form of SaaS. Yet, there are enough significant differences among them. APIs are set of routines, protocols and tools for building software applications. Each API specifies how software component should interact.
APIs have an ability to enable the development on top of SaaS projects. These small-size program interfaces bring back the building block nature of open source to SaaS projects and focus on solving smaller problems that are hard to crack in a closed system. There is a high probability that customers will trust API provider software for their infrastructure than the closed SaaS.
Five years down the line, APIs might end up replacing SaaS or maybe continue to exist as a natural extension to every SaaS product. It’s too early to predict but, of course, building blocks of the software will exist in the form of APIs.