Parchar programas ajenos

Publicado el sáb 07 febrero 2009

Para quienes usamos software libre, el tema de parchar aplicaciones escritas por otros es un tema recurrente. En estos casos el código está generalmente publicado en algún repositorio versionado (git, svn, cvs) y el código fuente cuenta con comentarios y documentación suficiente para poder generar parches sin grandes dolores de cabeza.
Actualmente, por motivos laborales, me asignaron la tarea de parchar una aplicación. Lamentablente el fuente no está ni versionado, ni en un lugar central, no comentado ni documentado. Así que la primera tarea fue buscar el fuente entre varias versiones del mismo sin saber cual era el actual. Quien escribió el programa está de vacaciones así que no hay a quien preguntar. Asumí que el actual sería aquel con fecha de modificación más reciente.
Luego de contar con este fuente debí INTENTAR entender que hacía el programa mirando el código fuente, el cual es horriblemente enredado, tanto por la forma de programación como por el lenguaje.
Cuando ya la cabeza no podía dolerme más descubrí que las modificaciones solicitadas eran imposibles sin tener que hacer casi desde cero (conservando un 2% del programa?) todo el programa.
Considerando lo anterior, escribir un programa nuevo en un lenguaje nuevo no es tan mala idea.

PD: si pillo otro programa como éste es posible que mi siguiente post sea desde la carcel.