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.