<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/swagger-was-a-config-file-until-we-made-it-a-format-jovsivi1b" -->

---
title: Swagger Was A Config File Until We Made It A Format
description: Drawing a parallel to how Swagger evolved from a code generator's internal config file into the independent OpenAPI specification between 2012 and 2014, the...
canonical: https://daily.dev/posts/swagger-was-a-config-file-until-we-made-it-a-format-jovsivi1b
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Swagger Was A Config File Until We Made It A Format | daily.dev
og:description: Drawing a parallel to how Swagger evolved from a code generator's internal config file into the independent OpenAPI specification between 2012 and 2014, the...
og:url: https://daily.dev/posts/swagger-was-a-config-file-until-we-made-it-a-format-jovsivi1b
og:image: https://api.daily.dev/og/posts/JOVSIVi1b.png
og:image:alt: Swagger Was A Config File Until We Made It A Format
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Swagger Was A Config File Until We Made It A Format

**[API Evangelist](https://daily.dev/sources/apievangelist)** · 5 min read · 0 upvotes · 0 comments

## Summary

Drawing a parallel to how Swagger evolved from a code generator's internal config file into the independent OpenAPI specification between 2012 and 2014, the author argues that the Spectral ruleset format is now in the exact same position: a de facto standard used by governments, vendors, and dozens of tooling projects, yet defined only by whatever one linter's source code accepts. The piece makes the case for lifting Spectral's ruleset format out of its tool, writing it down normatively with a conformance definition, public test suite, and versioning policy, rather than waiting for permission or for the tool's maintainers to act. The author notes having publicly invited the OpenAPI Initiative to adopt the linter in January 2025 and argues the ecosystem has already outpaced any formal specification.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://apievangelist.com/2026/08/12/swagger-was-a-config-file-until-we-made-it-a-format>

## Questions this post answers

### How did Swagger become the OpenAPI specification instead of just staying a tool config file?

Between 2012 and 2014, a group of advocates pushed to separate Swagger's document format from the code generator and documentation UI that originally produced it, arguing it should be a standalone document other vendors could implement against, cite in contracts, and outlive any single tool's maintainer. This elevation of the spec led to its donation, its rename to OpenAPI, and the creation of the OpenAPI Initiative.

_daily.dev surfaces the API governance debates that shape how specs like OpenAPI evolve._

### Is the Spectral ruleset format an official specification or just a linter config?

It remains a configuration file for one program, described nowhere except in that program's source code, with meta-schemas coupled to the linter's internal runtime; the only definition of a valid ruleset is whatever that linter currently accepts. Despite this, it is already used by national governments, large governance vendors, and numerous independent tools such as registries and scorecards.

_Developers building on API governance tooling can track proposals like this one on daily.dev._

## Similar posts on daily.dev

- [The Tool Is One Implementation Among Many](https://daily.dev/posts/the-tool-is-one-implementation-among-many-mlukcrveo) · API Evangelist · 0 upvotes · 0 comments
- [A Grounded Spectral Ruleset for the OWASP API Security Top 10](https://daily.dev/posts/a-grounded-spectral-ruleset-for-the-owasp-api-security-top-10-uvshv2uzr) · API Evangelist · 0 upvotes · 0 comments
- [From a Prose Style Guide to a Grounded Spectral Ruleset](https://daily.dev/posts/from-a-prose-style-guide-to-a-grounded-spectral-ruleset-snxkckaxo) · API Evangelist · 0 upvotes · 0 comments
- [Ninety-Five Companies Publish Their API Design Rules, And APIs.io Lists Them First](https://daily.dev/posts/ninety-five-companies-publish-their-api-design-rules-and-apis-io-lists-them-first-limjguvic) · API Evangelist · 0 upvotes · 0 comments
- [The API Contract Nobody Owned](https://daily.dev/posts/the-api-contract-nobody-owned-zumpulxcf) · ITNEXT · 1 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#openapi](https://daily.dev/tags/openapi)

[View this post on daily.dev](https://daily.dev/posts/swagger-was-a-config-file-until-we-made-it-a-format-jovsivi1b)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Swagger Was A Config File Until We Made It A Format","url":"https://daily.dev/posts/swagger-was-a-config-file-until-we-made-it-a-format-jovsivi1b","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/swagger-was-a-config-file-until-we-made-it-a-format-jovsivi1b"},"datePublished":"2026-08-12T10:11:29.698Z","dateModified":"2026-09-14T07:54:15.790Z","description":"Drawing a parallel to how Swagger evolved from a code generator's internal config file into the independent OpenAPI specification between 2012 and 2014, the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/67d1aa34f089b20b361e369473ff766c?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/67d1aa34f089b20b361e369473ff766c?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"API Evangelist","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"API Evangelist","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a36244ae67bc4f41a605f780267ecb5f","url":"https://daily.dev/sources/apievangelist"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/swagger-was-a-config-file-until-we-made-it-a-format-jovsivi1b","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture,openapi","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"API Evangelist","item":"https://daily.dev/sources/apievangelist"},{"@type":"ListItem","position":3,"name":"Swagger Was A Config File Until We Made It A Format"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/swagger-was-a-config-file-until-we-made-it-a-format-jovsivi1b#faq","mainEntity":[{"@type":"Question","name":"How did Swagger become the OpenAPI specification instead of just staying a tool config file?","acceptedAnswer":{"@type":"Answer","text":"Between 2012 and 2014, a group of advocates pushed to separate Swagger's document format from the code generator and documentation UI that originally produced it, arguing it should be a standalone document other vendors could implement against, cite in contracts, and outlive any single tool's maintainer. This elevation of the spec led to its donation, its rename to OpenAPI, and the creation of the OpenAPI Initiative. daily.dev surfaces the API governance debates that shape how specs like OpenAPI evolve."}},{"@type":"Question","name":"Is the Spectral ruleset format an official specification or just a linter config?","acceptedAnswer":{"@type":"Answer","text":"It remains a configuration file for one program, described nowhere except in that program's source code, with meta-schemas coupled to the linter's internal runtime; the only definition of a valid ruleset is whatever that linter currently accepts. Despite this, it is already used by national governments, large governance vendors, and numerous independent tools such as registries and scorecards. Developers building on API governance tooling can track proposals like this one on daily.dev."}}]}
```

