Reverb, developer of the Swagger API specification and framework, announced yesterday the formation of the Swagger 2.0 Work Group, in partnership with Apigee. It said the purpose of the group, which it is inviting others to join, is to further the development of the popular specification and toolset for developers and API providers, with the goal of making it easier for developers to collaborate on API design.
Developers filled a breakout room at Gluecon in Broomfield, Colorado, to hear Reverb CEO Tony Tam do a walk-through of what he called the growing set of open-source tooling that “leverages Swagger throughout the lifecycle of your API…to help you build applications against Swagger-enabled services faster than ever.” At the end of his talk, entitled “Describe, Design, and Connect your API Faster with Swagger,” Tam announced the 2.0 Work Group and invited participation in it. “Swagger is turning 2.0 this summer,” he said.
Swagger was released in 2010 by Wordnik, which had been founded in 2008. (Reverb was formed as the parent company of Wordnik in 2012.) Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. Interactive documentation is one of many benefits of creating a Swagger description for a REST API.
“Development today is a collaborative process — your team works together to solve problems fast,” said Tam in the press release. “Collaborating with Apigee gave us the benefit of their deep experience with enterprise customers in the Fortune 2000."
Swagger lets developers describe APIs in a simple format that encourages collaboration and iteration at any stage of the development process. They can add notes on how to make use of the API directly alongside the technical details. Because the Swagger document is just a regular text file, it can be easily shared with other developers using services like GitHub.
Swagger was originally developed by Reverb to help it document its own APIs, but early on it reached out to others in the API community for their input.
“True to the spirit of a working group, development will happen in the open community on a GitHub project,” Apigee said in today’s announcement. A web site describing the initiative is here: http://swagger.wordnik.com, and the GitHub repository is at https://github.com/wordnik/swagger2.
In his Gluecon talk, Tam described Swagger as “an interface to your service, described in JSON. It is a contract to your service, enabling ‘bigotry-free’ RESTful design with emphasis on getting things done.” Swagger’s philosophy, Tam said, is that “service documentation typically sucks. Communicating is too much work. Users don’t want to write your SDK…Service logic doesn’t belong in the SDK. Services are plumbing. We shouldn’t all be plumbers.” The problem is solved by a machine-readable, discoverable API contract, which should speed up, not slow down the development process. And external services/proxies are not required.”
Via an email to ProgrammableWeb after the announcement, Tam elaborated on his "bigotry-free" comment, saying "the goal is to avoid religious battles about RESTful design and focus on making the API successful to the developer."
In terms of open, vendor-neutral solutions, Swagger is not alone. Last fall, MuleSoft partnered with other API-stakeholders to launch RAML; the RESTful API Markup Language (disclosure: MuleSoft is the parent company to ProgrammableWeb).
At the time of the RAML community’s launch, the RAML spec, which builds on the YAML format for some of its functionality, addressed parts of the API lifecycle that Swagger 1.0 left unattended. In version 2.0, which like RAML builds on YAML and expands its attention to the API lifecycle, Swagger now looks to be ratcheting up its competitive posture against RAML. Apigee and MuleSoft (among others) compete heavily in the API management solutions market. According to RAML Workgroup member and Intuit's Chief Architect of Enterprise Architecture Ivan Lazarov, "this announcement validates the design-first approach to APIs that the RAML Workgroup pioneered a year ago."
Tam’s talk attracted a standing-room only crowd, and I asked him later about the reaction. “I had tons of positive feedback. A bunch of folks want to join the group – a surprising number of people really want to be in the loop on this.”
But that wasn’t his only good news for the day. “It was also an incredible fortune that our own app, Reverb, was featured by Apple on the front page of the App Store today. It’s a great demonstration of our technology.” More about that app here: https://helloreverb.com/.
To provide input on the Swagger 2.0 Specification, Tam said information is available at http://swagger.wordnik.com, or he said you can “join the evolution” at https://github.com/wordnik/swagger-spec. For help, developers also have these resources:
- Google Groups: https://groups.google.com/forum/#!forum/swagger-swaggersocket
- IRC: irc.freenode.net