La retrocompatibilidad es el proceso de adaptar una actualización de software , desarrollada para una versión relativamente reciente , a una versión anterior. Se trata de una actividad de mantenimiento del proceso de desarrollo de software . Si bien una actualización retrocompatible puede modificar cualquier aspecto del software, esta técnica se suele utilizar para cambios de alcance relativamente pequeño , como la corrección de un error o una vulnerabilidad de seguridad .
Por ejemplo, la versión 2 de una aplicación tenía una vulnerabilidad que se solucionó creando y publicando una actualización. La misma vulnerabilidad existe en la versión 1 y esta sigue en uso. La modificación que se aplicó originalmente a la versión 2 se adaptó a la versión 1 para que se aplicara a esta. [ 1 ]
Un aspecto que influye en el esfuerzo por adaptar un cambio a una versión anterior es el grado de modificación del software entre versiones (en aspectos distintos al cambio adaptado). La adaptación puede ser relativamente sencilla si solo se han modificado unas pocas líneas de código , pero compleja si el código ha sufrido muchas modificaciones. Por ello, se puede realizar un análisis de coste-beneficio para determinar si conviene adaptar un cambio a una versión anterior. [ 2 ]
Procedimientos
La retrocompatibilidad generalmente comienza de dos maneras. A veces, mientras se desarrolla un cambio para el código más reciente, se sabe que el problema afecta a versiones anteriores y, por lo tanto, se sabe que la retrocompatibilidad tiene valor. Si se determina que vale la pena, el cambio se retrocompatiza. Pero, a veces no se consideran las versiones anteriores al corregir un problema. A veces, el proceso de retrocompatibilidad comienza cuando se descubre o se informa un problema en una versión anterior y luego se determina que el problema se corrigió en una versión nueva, lo que hace que la retrocompatibilidad sea una opción económica en comparación con reinventar una solución. Después de que el cambio existente se retrocompatiza, el proceso de desarrollo es como para cualquier otro cambio. El código modificado se somete a un control de calidad para verificar que exhiba el comportamiento corregido y mantenga la funcionalidad anterior. Luego, se distribuye. Es común que varias modificaciones se agrupen en una sola actualización de software . [ 1 ]
En cuanto a las actualizaciones, en el caso del software de código cerrado , las actualizaciones retrocompatibles son producidas y distribuidas por el propietario del software, pero en el caso del software de código abierto , cualquiera puede producir y distribuir una actualización retrocompatible.
Un proceso notable es el del código fuente del kernel de Linux . En ocasiones, los distribuidores de Linux crean backports que posteriormente se incorporan al código fuente principal mediante el envío de cambios al mantenedor del componente modificado. [ 2 ]
Ejemplos
Muchas características de Windows Vista se incorporaron a Windows XP con el lanzamiento del Service Pack 3, facilitando así la compatibilidad de aplicaciones (principalmente juegos) que originalmente requerían Vista como requisito mínimo para ejecutarse en XP SP3 como requisito mínimo. [ 3 ] También se han creado adaptaciones no oficiales de las versiones 2.0 y 3.5 de .NET Framework para Windows 95. [ 4 ] [ 5 ]
El Proyecto Debian desde septiembre de 2010 [ 6 ] ha proporcionado un servicio oficial de retrocompatibilidad para algunos paquetes de software de Debian Linux, y Ubuntu Linux también admite retrocompatibilidades. [ 7 ]
Véase también
- Compatibilidad con versiones anteriores : capacidad tecnológica para interactuar con tecnologías más antiguas.
- Modernización : Adición de nueva tecnología o funciones a sistemas más antiguos.
Referencias
- 1 2 "Retroportación de correcciones de seguridad" . Red Hat . Archivado del original el 12 de mayo de 2020. Recuperado el 11 de mayo de 2020 .
- 1 2 Rahul Sundaram (14 de enero de 2016). "Manteniéndose cerca de los proyectos upstream" . Proyecto Fedora . Archivado del original el 5 de agosto de 2011. Recuperado el 11 de mayo de 2020 .
- ↑ Donald Melanson (09/10/2007). "Microsoft incorpora funciones de Vista a la nueva versión beta de Windows XP SP3" . Engadget . Archivado del original el 04/03/2016 . Consultado el 11/05/2020 .
- ↑ Harper, Christopher (14 de abril de 2024). "Miles de aplicaciones adaptadas a Windows 95 veintiocho años después: la adaptación a .NET Framework permite la retrocompatibilidad para el software moderno" . Tom's Hardware . Archivado del original el 31 de mayo de 2024. Consultado el 1 de julio de 2024 .
- ↑ Posch, Maya (14 de abril de 2024). "Adaptación de aplicaciones modernas de Windows a Windows 95" . Hackaday . Archivado del original el 1 de julio de 2024. Consultado el 1 de julio de 2024 .
- ↑ "El servicio de backports se oficializa" . Proyecto Debian . 5 de septiembre de 2010. Archivado del original el 3 de septiembre de 2011. Consultado el 11 de mayo de 2020 .
- ↑ "UbuntuBackports" . Proyecto Ubuntu . 29/11/2015. Archivado del original el 03/05/2019 . Consultado el 11/05/2020 .
- Mantenimiento de software
- Calidad del software
- utilidades de parche