Généralement, la rétrocompatibilité signifie que la version la plus récente (d'un logiciel ou d'un outil) doit être capable de manipuler des objets (données, fichiers, etc.) produits dans une version plus ancienne.
Par exemple, si vous avez écrit votre thèse dans Microsoft Word 95, vous pouvez vouloir la rouvrir en 2010 avec Word 2010 - Word 2010 a donc en lui un module de rétrocompatibilité qui ouvre l'ancien format de MS Word (et le convertit silencieusement vers les nouvelles structures de données de MS Word 2010).
Un cas qui mérite une mention spéciale est la rétrocompatibilité du système d'exploitation pour les programmes. C'est un point critique, car au fil des ans, les clients finaux et les entreprises ont acquis d'énormes quantités de logiciels (et de licences logicielles) dont ils ont besoin pour leur fonctionnement, et si votre système d'exploitation le plus récent ne prend pas en charge ces logiciels, ils ne pourront tout simplement pas passer à votre système d'exploitation le plus récent ; cela vous oblige alors à continuer à prendre en charge l'ancien système d'exploitation, ce qui vous coûte beaucoup de ressources sans apporter de revenus particuliers. C'est pourquoi ce fut une telle affaire lorsque MS a annoncé qu'il ne soutiendrait plus aucune version de Windows NT/XP il y a quelques années - car cela a forcé tous ceux qui les utilisaient encore à migrer vers une version plus récente.
Parfois, les changements apportés dans une version plus récente sont si fondamentaux que la rétrocompatibilité n'est plus possible.
Par exemple, il n'est plus possible de lancer des applications 16 bits dans Windows 10 (sans l'ajout d'une couche d'abstraction) - Windows 10 n'est donc pas compatible avec, par exemple, les applications MS DOS ou les applications Windows 3.x.
Insight supplémentaire :
Le besoin de rétrocompatibilité a une conséquence plutôt cool - il sert de frein à main naturel aux sociétés établies et permet aux start-ups de poursuivre agressivement de nouvelles opportunités. Une nouvelle start-up n'a pas besoin de s'inquiéter de savoir si son nouveau logiciel ou sa nouvelle application sera compatible avec son ancien - elle n'a pas d'ancien. Elle peut "partir de zéro" et produire rapidement son idée géniale. Si une grande entreprise comme Google ou Microsoft voulait faire la même chose, les clients existants se plaindraient immédiatement pour savoir pourquoi ils sont lésés, ou pourquoi ce nouveau logiciel ne fonctionne pas avec leurs données existantes.