Reference botoform as example of YAML representing infrastructure state

Add concrete example of using YAML for infrastructure-as-code.
Note botoform predated CloudFormation YAML support & extensive Terraform providers.
Reinforces argument that YAML schemas describe data, not executable programs.
This commit is contained in:
Russell Ballestrini 2025-10-19 07:42:52 -04:00
parent f96c2870c3
commit b91fb3a3bb

View file

@ -16,7 +16,7 @@ who owns yaml?
**You can't patent the YAML spec.** The YAML 1.2 specification is an open standard maintained by the YAML Forum under the Open Standards Compact. This explicitly protects implementers from patent assertions - no one can claim exclusive rights over the specification through patents. Any implementation of the standard is protected from patent infringement.
**YAML is data, & data is not code.** Even when YAML expresses configuration logic, workflow definitions, or infrastructure-as-code, it remains a data serialization format. Data structures & formats are not patentable subject matter under established legal precedent - raw data, database schemas, & file formats are considered abstract ideas that lack the technical novelty required for patent protection. Attempting to patent data schemas or configuration formats creates barriers to interoperability & harms the open ecosystem that makes modern software development possible.
**YAML is data, & data is not code.** Even when YAML expresses configuration logic, workflow definitions, or infrastructure-as-code, it remains a data serialization format. For example, `botoform <https://botoform.readthedocs.io/en/latest/>`_ uses YAML to represent the desired state of AWS infrastructure - created before CloudFormation supported YAML (when it was JSON-only) & before Terraform had extensive provider support. These YAML schemas describe infrastructure state as data, not executable programs. Data structures & formats are not patentable subject matter under established legal precedent - raw data, database schemas, & file formats are considered abstract ideas that lack the technical novelty required for patent protection. Attempting to patent data schemas or configuration formats creates barriers to interoperability & harms the open ecosystem that makes modern software development possible.
**State machines are mathematics, not inventions.** Finite state machines, state transitions, & graph-based logic are fundamental computer science concepts - like algorithms & mathematical formulas - that exist in the public domain. You cannot patent the concept of a state machine any more than you can patent addition or the Pythagorean theorem. When you express state machine logic in YAML (defining states, transitions, & rules), you're describing mathematical relationships using a data format. The underlying concepts have been taught in computer science curricula for decades & represent shared human knowledge, not proprietary innovations.