Backward Compatibility as Trust Contract¶
APIs are promises - every published capability creates consumer dependency. Backward compatibility isn't just technical constraint but trust maintenance; breaking changes impose costs on every consumer simultaneously.
Tension Addressed¶
Stability vs. Evolution
Recognizable As¶
Additive-only changes, deprecated field retention, parallel old/new implementations, consumer migration support, breaking change communication
Canonical Sources¶
"Effective Java" - Bloch (2001, chapter on API design); Hyrum's Law
Transfers To¶
Library versioning, Operating system APIs, Hardware interfaces, Any public interface with external consumers
Hyrum's Law states: "With a sufficient number of users, every observable behavior becomes a depended-upon behavior." This means backward compatibility extends beyond documented contracts to actual behavior - a humbling constraint on evolution.