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.

Let data show itself

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.

For hand-edited formats, readability is not decoration. The format that people can review in a pull request becomes the format teams standardize on.

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

  1. YAML Ain't Markup Language (YAML) 1.0 yaml.org
  2. About YAML yaml.org
  3. In The Beginning yaml.com