¿Qué significa la retrocompatibilidad en el software?

En general, la compatibilidad con versiones anteriores significa que la versión MÁS NUEVA (de un software o herramienta) debe ser capaz de manejar objetos (datos, archivos, etc.) producidos en la versión MÁS ANTIGUA.

Por ejemplo, si ha escrito su disertación en Microsoft Word 95, es posible que desee volver a abrirla en 2010 con Word 2010 - por lo que Word 2010 tiene un módulo de compatibilidad con versiones anteriores que abre el formato antiguo de MS Word (y lo convierte silenciosamente a las nuevas estructuras de datos de MS Word 2010).

Un caso que merece una mención especial es la compatibilidad con versiones anteriores del sistema operativo para los programas. Esto es crítico, porque a lo largo de los años, los clientes finales y las corporaciones han adquirido enormes cantidades de software (y licencias de software) que necesitan para su funcionamiento, y si su sistema operativo más reciente no es compatible con dicho software, entonces simplemente no podrán cambiar a su sistema operativo más reciente; esto entonces le obliga a seguir apoyando el sistema operativo antiguo, lo que le cuesta una gran cantidad de recursos sin traer ningún ingreso en particular. Por eso fue un gran problema cuando MS anunció que dejaría de dar soporte a cualquier versión de Windows NT/XP hace un par de años - porque esto obligó a todos los que todavía los usaban a migrar a una versión más reciente.

A veces, los cambios realizados en una versión más reciente son tan fundamentales que la compatibilidad con versiones anteriores ya no es posible.

Por ejemplo, ya no es posible lanzar aplicaciones de 16 bits en Windows 10 (sin una capa de abstracción añadida) - Windows 10 no es, por tanto, compatible con, por ejemplo, las aplicaciones de MS DOS o las aplicaciones de Windows 3.x.

Información adicional:

La necesidad de compatibilidad con versiones anteriores tiene una consecuencia bastante genial: sirve como freno de mano natural para las corporaciones establecidas y permite a las start-ups perseguir agresivamente nuevas oportunidades. Una nueva empresa no tiene que preocuparse de si su nuevo software o aplicación será compatible con el anterior, ya que no tiene ninguno antiguo. Pueden "empezar de cero" y producir rápidamente su asombrosa idea. Si una gran empresa como Google o Microsoft quisiera hacer lo mismo, los clientes existentes se quejarían inmediatamente de por qué se les está perjudicando, o por qué este nuevo software no funciona con sus datos existentes.