jueves, agosto 27, 2009

¿De quién es el código fuente?

En mi época de universitario (1997 - 2002) tuve profesores de diferentes pensamientos respecto a la forma de administrar el código fuente en un proyecto de software, los antiguos defendían que ningún sistema debe ser perfecto, se deben dejar defectos en el software, logrando que el cliente siga autorizando trabajo con respecto al mantenimiento, idea aberrante e incluso poco ética (Código de Etica de la Ingeniería de Software); un servidor defiende la idea que el ser llamado nuevamente por un cliente para dar continuidad a un proyecto o para llevar a cabo otro, debe ser únicamente por el nivel de servicio otorgado y por el grado de éxito logrado en proyectos anteriores, es tan cierto que en las empresas de Servicios, la recomendación de "boca a boca" es la mejor y peor publicidad que existe, he perdido oportunidades de trabajo por una mala recomendación de un cliente que tuvo mala experiencia con Creando Sistemas, he logrado proyectos de años por la recomendación de un ex-alumno o por clientes que le cumplimos el tiempo y presupuesto inicial.

¿De quién es el código fuente de un proyecto? No existe una verdad absoluta en esta respuesta, pero si existen parámetros para poder aclarar esta situación. En primera instancia debemos entender que el código fuente es un concepto intangible, lleno de prejuicios intelectuales, sentimentales y técnicos, todos parte de la naturaleza humana, escribir código fuente es sobre todas las cosas, una forma de expresión y una actividad que genera un valor por sí mismo, escribimos código por pasión, por lograr mayor conocimiento, reconocimiento, motivaciones personales antes que las materiales... nos gusta estudiar otro código, mejorarlo, compartir métodos y clases, explicar algoritmos y lograr que el usuario piense por varios días que eres algo parecido a un Semi-Dios, aunque nunca faltarán momentos de objeción por parte de los usuarios finales de nuestro ilimitado talento... esto quiere decir que es una labor complicada permitir que nos impongan lineamientos formales de trabajo para todas nuestras líneas de código, que concebimos de nuestra propiedad, la analogía completa nos llevaría a exigir que las obras literarias o producciones filmicas, entregarán junto con la versión final de la obra: bosquejos, apuntes, capítulos no publicados y demás conceptos invaluables para el autor... sé que el ejemplo no es exacto, porque la naturaleza del desarrollo de sofware es única, es incomparable, al ser una ciencia joven, tenemos la oportunidad de definir la mejor forma de llevarlo a cabo, define lineamientos para el código fuente de tus proyectos, sé capaz de controlar diversos contextos.

Los derechos sobre el código fuente depende de las políticas contractuales o laborales que se definan para el proyecto, en 5 años de experiencia realizando proyectos de software para las PyME's puedo afirmar que no existe cultura de software en los empresarios, hablar de código fuente, jaja, hablemos de tiempo y dinero, esos son los parámetros para negociar proyectos, ¿Lo tendrás para mañana? ¿Cuánto es lo más barato que me lo dejas?... es responsabilidad obligatoria y única del grupo de desarrollo, informar al cliente acerca de los derechos del código fuente, cuales serán los entregables, derechos de modificación, derechos de comercialización, políticas de mantenimiento posterior a la liberación del proyecto, expliquemos al cliente de que se trata el proceso de desarrollo de software, ¿Somos arquitectos y entregamos planos o somos médicos y damos la medicina para que se cure el paciente?.

Hasta ahora solo me he referido a los fuentes de codificación, sin embargo, las políticas que se definen para cada proyecto deben alcanzar fuentes de diseño gráfico (Photoshop, Corel, etc.), multimedia (Flash, Vídeo, Audio, etc.), análisis (diagramas por ejemplo)... un cliente que paga el desarrollo outsourcing de 3 años de su sistema empresarial, supone que el sistema es de su propiedad, pero nadie le aclaro que los fuentes son del grupo de desarrollo y no serán entregados, el cliente se encontraría en clara desventaja, conozco decenas de casos en empresas de la región; cuando se le pregunta al cliente si le dieron fuentes o alguna documentación, el cliente solo responde, pues creo que todo lo dejaron ahi en la máquina del sistema, esa que esperamos la llamen Servidor.

Actualmente tenemos proyectos de diferente índole respecto a los derechos del código fuente, estamos abiertos a entregar código fuente, esa es la primera idea, la segunda es que deben existir derechos y obligaciones bien definidos para el cliente y el grupo de desarrollo, la tercera idea es utópica, espero que nuestro código fuente caiga en manos de mejores desarrolladores, para que logren éxito y beneficio para la comunidad que atienden, a lo mejor no es tan irreal, todos los días hacemos un poco de eso en Internet...

El código fuente debería ser libre, en ocasiones también gratuito, solo debe ser liberado aquel código fuente en el que todas las partes que aportaron para su creación estén de acuerdo.

Gracias por tu tiempo, espero tus comentarios, salud! lector...

1 comentario:

Anónimo dijo...

Interesante, creo que es muy bueno este artículo para mi formación como estudiante, decidí empezar una licenciatura online en la UTEL.