The solution
XML solved interchange but made simple configuration feel like document markup. YAML's creators started from the opposite premise: a data file should look like the data, not like tags wrapped around the data.
The 1.0 specification described YAML as a human-friendly, cross-language Unicode serialization language for configuration files, messaging, persistence and debugging. Its core trick was visual structure: indentation for scope, colons for pairs and dashes for lists.
That choice aged perfectly into DevOps. YAML.org now describes it as the de facto standard for infrastructure configuration in tools such as Kubernetes, Docker Compose and Terraform. The winning feature was not power; it was reviewability.
What it achieved
Let data show itself
Why it worked
Indentation made nested data scannable without closing tags.
Mappings, sequences and scalars matched native structures in popular scripting languages.
Plain text made configs easy to diff, review and paste into documentation.
The format stayed language-independent, so each tool could adopt it without owning it.
What can be applied
For hand-edited formats, readability is not decoration. The format that people can review in a pull request becomes the format teams standardize on.
Aftermath
YAML became a default configuration language across cloud-native tooling and CI/CD systems. Its permissive readability also brought footguns, but the adoption logic held: infrastructure moved into text humans could edit.
FOLLOW THE EVIDENCE
The sources
- YAML Ain't Markup Language (YAML) 1.0 yaml.org
- About YAML yaml.org
- In The Beginning yaml.com