Código fuente

Mayo 2, 2012 - Noticias, Publicaciones

Compartir

Los programas que escriben los programadores se hacen en un lenguaje de programación; este lenguaje debe ser traducido a lenguaje de máquina (ceros y unos) antes de que una computadora pueda ejecutar el programa. El código fuente es el texto original escrito en un lenguaje entendible y editable por seres humanos, es decir en un lenguaje de programación.

Hay una calcomanía que dice: “yo quería cambiar el mundo, pero desafortunadamente, no me dieron el código fuente”. Esto podría ser evidencia del sentido del humor de los programadores, pero también resalta la importancia de código fuente.

Hace 20 años, la industria de software nacional utilizaba una estrategia de ventas totalmente a contrapelo con la estrategia de la gran mayoría de las empresas globales. Esta estrategia consistía en ofrecerle al cliente el código fuente, mientras las empresas globales lo escondían y protegían como las joyas de la corona. La estrategia de las empresas locales fue muy exitosa, en gran medida, la causa del auge del software nacional de la última década del siglo pasado.

Para modificar (o corregir) un programa se requiere el código fuente. Si se adquiere un software y no entregan el código fuente, cualquier corrección y/o modificación únicamente puede ser efectuada por el proveedor. Contrariamente, se tiene acceso al código fuente (y el conocimiento necesario) se puede, con relativa facilidad, efectuar cualquier cambio o modificación que el software requiera, directamente, sin tener involucrar al proveedor (y presumiblemente dueño de la propiedad intelectual).

Los argumentos en contra de entregarle el código fuente a los clientes son numerosos y van bastante más allá de la protección de la propiedad intelectual (y por lo tanto persisten aún con software libre). Primero está la posibilidad de aprovechar las futuras versiones del software, si el cliente modifica el software, pierde no sólo la garantía, sino también la posibilidad de aprovechar futuras versiones (las futuras versiones de un software suelen incluir las mejoras requeridas por muchos usuarios, y tienden a implementar las mejores prácticas). Segundo están aspectos de control interno, si se tiene acceso al código fuente es posible escribir (o eliminar) instrucciones que permitan manejos indebidos de información y/o fondos manejados por el sistema, estos riesgos, pueden, obviamente, ser mitigados por adecuada auditoría, pero son riesgos al fin. Tercero está la relación de largo plazo con los clientes, esta relación tiende a deteriorarse cuando los clientes tienen el código fuente, ya que las modificaciones que le efectúan a lo largo del tiempo convierten la adopción de nuevas aplicaciones relacionadas, o la misma aplicación basada en nuevas tecnologías, en proyectos sumamente complejos, lo cual a su vez lleva a los clientes a considerar las bondades de adquirir un sistema nuevo sin acceso al código fuente.

Los argumentos a favor de adquirir el código fuente están en su mayoría relacionados con asumir control de su propio destino y eliminar dependencias con proveedores. Probablemente como consecuencia de esto, en Costa Rica todavía hay muchos más desarrolladores trabajando para organizaciones usuarias de software que para la industria del software. La mayoría de las organizaciones todavía tiene departamentos de desarrollo y mantenimiento de software, a pesar de que sus competencias no están relacionadas con el software. Todas las organizaciones se enfrentan a la decisión de si adaptar la organización al sistema o el sistema a la organización. Las organizaciones con procesos excepcionalmente eficientes, y fuente de su ventaja competitiva, deben buscar como adaptar los sistemas a sus procesos, con frecuencia eso solo es posible si se tiene acceso al código fuente.

Para mi es claro que la posición en cuanto a tener o no el código fuente, es diferente en el sector privado que en el sector público. En el sector privado, es plausible que una empresa decida desarrollar y mantener capacidades de desarrollo de software iguales o mejores que los de la industria de software, esto puede, en algunos casos ser de valor estratégico de largo plazo. En el sector público me parece mucho más difícil justificar el desarrollo y mantenimiento de software ad infinítum, argumentos de costo no se sostienen en el mediano plazo. Argumentos de control interno de la hacienda pública deberían llevar a imponer severas restricciones al acceso al código fuente.

Artículo publicado en el periódico La Nación

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *