Parche (informática)

Cuando en informática se habla de un parche informático, refiere a los distintos cambios que se han aplicado a un programa para corregir errores, actualizarlo, eliminar secciones antiguas de software o simplemente añadirle funcionalidad. En informática, un parche consta de cambios que se aplican a un programa, para corregir errores, agregarle funcionalidad, actualizarlo, etc.

Si bien los parches suelen ser desarrollados por programadores ajenos a los autores iniciales del proyecto, esto no siempre es así. Un parche puede ser aplicado tanto a un binario ejecutable como al código fuente de cualquier tipo de programa, incluso, un sistema operativo o una aplicación para dispositivos móviles.

El origen del nombre probablemente se deba a la utilidad de Unix llamada patch creada por Larry Wall.

Historia 

Históricamente, los parches eran distribuidos en tarjetas perforadas o en cintas, a las cuales se les debía cortar la cinta original y reemplazar ese pedazo de programa con el nuevo. La semejanza con el proceso que puede utilizar un costurero a la hora de remendar una pieza, explica el porqué del nombre de parche.

Posteriormente, se distribuyeron en cintas magnéticas, disquetes o más tarde, en CD-ROM. El uso cada vez más extendido de Internet, permitió que la mayoría de los parches se distribuyan y pueden ser descargados desde las páginas web de las aplicaciones.

Varias compañías de software han desarrollado herramientas para ayudar en la tarea de aplicar un parche a una aplicación binaria. Pocket Soft desarrolló RTPatch. WinZip tiene una utilidad de autoextracción que lanza un programa capaz de aplicar un parche.

Algunos programas pueden actualizarse automáticamente por medio de Internet con muy poca o nula intervención del usuario. Es muy popular que el mantenimiento de los sistemas operativos se haga de esta manera. En situaciones donde los administradores de sistemas controlan un cierto número de computadoras, esta manera de automatización ayuda a mantener la consistencia. La aplicación de parches de seguridad comúnmente ocurre de esta forma.

Tipos según el código

Parches a archivos binarios 

A menudo un parche consiste en una actualización del archivo ejecutable de un programa. En este caso, el archivo binario es modificado para añadir los cambios o ser completamente reemplazados.

El tamaño de los parches es variable. Algunos parches solamente modifican un archivo binario de la aplicación pero otros alteran mucho más el contenido. Si el parche solo modifica el ejecutable, puede ser muy pequeño (por debajo del megabyte). La instalación de parches solía ser una tarea tediosa, y con mucha posibilidad de error. Un error solía significar tener que reinstalar la aplicación y el parche. Hoy en día, la instalación de parches se realiza, en muchos casos, por programas especiales de forma automática.

Parches al código fuente 

En estos casos, un parche suele constar de un archivo de texto que describe modificaciones a realizar en el código fuente del programa en cuestión. Esta metodología es la más difundida en el ámbito del Software Libre.

A modo de ejemplo, el servidor web más usado en la actualidad, Apache, evolucionó como un conjunto de parches que los encargados de páginas web crearon para añadir ciertas funcionalidades.

Tipos según su propósito

Parches de depuración 

El objetivo de este tipo de parches es reparar bugs, o errores de programación que no fueron detectados a tiempo en su etapa de desarrollo. Cuando un programa tiene una alta probabilidad de contener este tipo de errores, se le llama versión beta.

Parches de seguridad 

Los parches de seguridad solucionan agujeros de seguridad y, siempre que es posible, no modifican la funcionalidad del programa. Los parches de seguridad son especialmente frecuentes en aplicaciones que interactúan con Internet.

Parches de actualización 

Consiste en modificar un programa con el objetivo de incorporar metodologías más nuevas. Por ejemplo, optimizar en tiempo cierto programa, utilizar algoritmos mejorados, añadir funcionalidades, eliminar secciones obsoletas de software, etc.

En aplicaciones móviles son muy comunes este tipo de actualizaciones. Cuando instalamos una aplicación para un teléfono inteligente, periódicamente van saliendo nuevas actualizaciones que corrigen errores de seguridad o que añaden funciones o simplemente mejoran el código o la funcionalidad de lo que ya había.

Parches de traducción 

Este cambia el idioma definido por un programa.

Parches de piratería ilegal

Este parche es ilegal y es usado para aplicar un crack. Este parche hace que un programa privativo en su modo de prueba o shareware pase a ser una versión plenamente funcional o en versión profesional.

Véase también 

 upgrade (en inglés)

Referencias 

Mantenimiento de software
Seguridad informática
Errores de software