Backward Compatibility
Domain: Software Engineering
🎯 Motivation
New versions should work with old code. Breaking compatibility forces all users to update.
📋 Concrete Example
Compatible: v2.0 can read files from v1.0. Users upgrade smoothly. Breaking: v2.0 cannot read v1.0 files. All users must convert. Avoid breaking compatibility unless necessary.
🔗 Analogy
Backward compatibility is like a new phone supporting old chargers - you can use your old charger (backward compatible) or you must buy a new one (breaking). Compatible upgrades are smooth; breaking ones are painful.