Parche (informática)

actualización de un programa informático para corregir errores o mejorarlo
(Redirigido desde «Parche (computacion)»)

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.[1]​ En informática, un parche consta de cambios que se aplican a un programa, para corregir errores, agregarle funcionalidad, actualizarlo, etc.[1]

Una captura de pantalla cuando se está usando el parche en un núcleo Linux.

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.[2]

Historia

editar

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

editar

Parches a archivos binarios

editar

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[1]​ 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

editar

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

editar

Parches de depuración

editar

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

editar

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

editar

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

editar

Este cambia el idioma definido por un programa.

Parches de piratería ilegal

editar

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

editar

Referencias

editar
  1. a b c Sánchez, Alberto (22 de agosto de 2019). «¿Qué es un parche? De accesorio para tuertos a mejora de programas» (html). Pandora FMS. Archivado desde el original el 22 de agosto de 2019. Consultado el 22 de agosto de 2019. «Un parche es un “paquete” de código utilizado para mejorar un programa, arreglar fallos, introducir nuevas funcionalidades o cualquier otro cambio que se quiera introducir en un programa ya existente.» 
  2. Ayers, Larry (31 de agosto de 1998). «Patch for Beginners» (html). Linux Documentation Project (en inglés). Archivado desde el original el 18 de diciembre de 2002. Consultado el 22 de agosto de 2019. «Patch is typically used to update a directory of source code files to a newer version, obviating the need to download an entire new source archive. Downloading a patch in effect is just downloading the lines which have been changed.»