This is part one of a two-part contributed piece for Computer Weekly Open Source Insider with part two linked here.
This analysis of the role of open source in APIs is written by Postman CEO Abhinav Asthana — with offices in Bangalore, Austin and San Francisco, Postman aims to simplify API development with its industry-standard API Development Environment.
Postman has more than four million users — growing from a simple REST client in 2012, Postman now helps developers do everything from design, testing, mocking to monitoring and publishing in a real-time collaborative environment.
Asthana writes as follows…
The open source software (OSS) movement has forever shifted how the world develops applications. The movement’s central idea is that source code is made freely available, which means you can modify it at will. This enables you to build upon the hard work of others as you create your own app. This, in turn, opens up the possibility of contributing back to an original codebase that expands the value of software to the entire community. Through open source, developers now easily access the building blocks they need to deliver modern applications… and that has led to some astounding success for OSS.
The Application Programming Interface (API) world can learn a lot from the OSS movement’s successful commitment to collaboration because historically, the world of APIs has not been open enough and that has hindered innovation and progress. Here’s why the time to address that is now.
API usage is skyrocketing
The growth of APIs is skyrocketing; every piece of software built today either uses an API or is an API. Amidst all of this API growth, top cloud providers like AWS, Microsoft Azure and Google have acted as massive centralising hubs of technology that primarily consist of APIs. This has laid the foundation for consecutive waves of countless software-as-a-service (SaaS) offerings and other companies who all deliver and consume APIs as part of their regular operations and integrations.
This means that APIs are going to stick around for quite some time, so we need to develop a basic set of rules to help guide, open and stabilise the wider API software ecosystem. We all need to ensure that our shared digital ecosystem has the right foundation. If we work together to develop common and open API principles, then APIs can realise their full potential and help us all deliver on the future we envision for our industries. We’ll be able to do our best as independent businesses, while also sharing specifications, code and other common blueprints that benefit the whole.
All of this shows why now is a pivotal time to study and apply open source learnings to what the world is doing with APIs. By combining the core philosophies and patterns of OSS with what we’ve learned from the last 20 years of software development, we can build a future that benefits everyone through APIs.
Data interoperability is critical
APIs allow applications to connect to each other. They allow data to go from one place to another. That is all made possible using fundamental code that should be available for use by all developers and companies to build on.
Any restrictions that limit the access and reimplementation of the API pipes we all depend on will hinder developer productivity across industries.
APIs should always allow easy access to data and people consuming the API should be able to take data out in the shape and form they want and be able to reimplement as they see fit, as long as it is in accordance with the open source licensing.
This type of reciprocity is extremely valuable. Just look at how APIs are making data sets available for the COVID-19 fight. The use of established guidelines and open data formats is ensuring data interoperability amongst scientists and healthcare providers as they address the pandemic. The open source philosophy works for the greater good by powering businesses of all shapes and sizes rather than a single proprietary format that is dictated by a few.
Another aspect of open source that developers and companies should examine involves striking a balance between data accessibility and privacy guidelines in APIs. For example, let’s say I’m accessing my data from an API. While I should have complete control and visibility over it, somebody else accessing my data through the same API should have limited capabilities. This protects the end user’s data rights and personal privacy.
Open source software is all about lowering barriers and making it easier for developers to meet their goals. While there should be common agreed-upon business rules in place, if developers want to send a million records over the wire for an API call, they should be able to easily redesign their API using open source components that allow for batched access to API data without onerous controls.
This makes for a better API while still respecting the personal rights and privacy of end users.
More and more, we’re seeing OSS-based themes at the highest levels of business. Industry groups are emerging to look at how data should flow between different entities. All of this increases the value for API providers to be more consistent with well-known APIs, while also making the lives of those consuming APIs much easier.