Many engineers I’ve worked with over the years see OpenAPI and AsyncAPI as a configuration for whatever tooling outcome they desire. I see OpenAPI, AsyncAPI, and JSON Schema that defines them as a common language that leads to common understanding. Before all the technology bullshit, I am a storyteller. The words matter the most to me, right after the people, and before all of the technology. OpenAPI and AsyncAPI represented a common way for us to communicate and move in the right direction.
I’ve personally invested a lot into Swagger and OpenAPI, as well as AsyncAPI and JSON Schema. I’ve spend my own time and money, but I’ve also spent other people’s money on these specs. I’ve spent a lot of time writing about the services and tooling that have baked these specifications into their solutions, which their customers then can speak as part of their regular operations. All of this time and money, services and tooling, all accumulates over the years getting folks on the same page, speaking the same way about how we integrate.
Trust me, I know all of OpenAPI and AsyncAPI limitations. I am painfully aware of the complexity and baggage of JSON Schema. They all have a lot of flaws, like the people who are putting these specifications to work consciously and unconsciously. When it comes to telling stories and reaching my audience, I am rarely looking for perfect, precision, and things always being right. I am looking to reach the masses. I am looking to influence the widest possible market when it comes to the impact APIs are having when my audience is running their business.
Some of the people I’ve interviewed lately, people like Anil Dash, Fran Mendez, and Tony Tam understand the amount of investment that has gone into each of the specs, but also making the ecosystem aware of each specification and how it is applied across services and tooling. People who lead API operations across large enterprises know how hard it is to get people on the same page, speaking the same language, and heading in the right direction. This is why these specifications matter, and being able to change behavior will always take time.