YAML
/ˈjæm.əl/ · Noun · Development · Origin: 2001
Definitions
YAML Ain't Markup Language — a human-readable data serialization format that uses indentation for structure. Beloved for readability, feared for its 'gotcha' edge cases: Norway evaluates to false, and a misplaced space can ruin your day.
In plain English: A way to write configuration files that's easier to read than JSON or XML, but where a single wrong space or tab can break everything.
Etymology
- 2001
- Clark Evans, Ingy döt Net, and Oren Ben-Kiki create YAML — originally 'Yet Another Markup Language,' later rebranded 'YAML Ain't Markup Language'
- 2011
- YAML becomes the configuration language for DevOps tools: Ansible, Docker Compose, Kubernetes, and GitHub Actions all adopt it
- 2020s
- Developers love-hate YAML; its significant whitespace and implicit typing generate endless debugging stories and memes
Origin Story
The recursive acronym that went from 'Yet Another' to 'YAML Ain't'
**YAML** originally stood for **"Yet Another Markup Language"** when created by Clark Evans, Ingy dot Net, and Oren Ben-Kiki in 2001. They later changed the acronym to **"YAML Ain't Markup Language"** — a recursive acronym (like GNU) that also served to clarify that YAML is a data serialization format, not a markup language for documents.
YAML was designed as a human-friendly alternative to XML. Where XML required verbose angle brackets and closing tags, YAML used indentation and simple key-value pairs. It found its niche in configuration files, where human readability mattered most: Docker Compose, Kubernetes manifests, Ansible playbooks, and GitHub Actions all use YAML.
YAML's reliance on indentation (specifically spaces, not tabs) has made it both loved and loathed. A misplaced space can break an entire configuration. The format also has surprising complexity: YAML 1.2 supports references, anchors, and even executable code in some parsers, leading to security vulnerabilities. The Norway problem (YAML interprets `NO` as boolean false) is a perennial source of bugs and memes.
Coined by: Clark Evans, Ingy dot Net, Oren Ben-Kiki
Context: 2001
Fun fact: YAML's 'Norway problem' refers to the fact that country codes like NO (Norway) and abbreviations like FR (often meaning Friday) get silently converted to boolean values. This has caused real production bugs in internationalization systems and spreadsheets.