Also known as Hyrum’s Law
Statement
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.” — Hyrum Wright, Google
Also known as: The Law of Implicit Dependencies
Core Insight:
Given enough API consumers, there is no such thing as a private implementation. Users will collectively depend on every aspect of the implementation—intentionally or not.
Architectural Strategies for architects dealing with Hyrum’s Law:
- Explicit contracts: Document all observable behaviors that must remain stable
- Version carefully: Use semantic versioning and clear deprecation policies
- Minimize surface area: Expose only what’s necessary—fewer observables mean fewer implicit dependencies
- Communicate changes: Make breaking changes visible and provide migration paths
- Accept the reality: With sufficient scale, assume all behaviors are dependencies and plan accordingly
- Automated testing: Use contract tests to detect when changes affect observable behaviors
The colloquial summary: “Every change breaks someone’s workflow”
Source: https://www.hyrumslaw.com/
Note
This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.