lunes, 30 de abril de 2012

¿Que es el DIS o desarrollo inconsistente de software?

En el mundo de las tecnologías de la información (TI), una de las principales revoluciones fue la aparición del llamado "software libre" o free software (FS). En resumidas cuentas, y para no aburrir a nuestros lectores, el FS no es mas que un modo de licenciar el código objeto de un programa, de acuerdo a las 4 libertades establecidas por la Free Software Foundation. Este licenciamiento supone, mas allá de lo que dice su nombre, aceptar determinadas restricciones en cuanto a uso y transferencia a terceros o licenciar trabajos derivados. Respecto de este último punto, los acuerdos mas restrictivos sobre FS obligan a licenciar el nuevo código bajo los mismos términos, so pena de quedar incursos en incumplimiento y por lo tanto ser demandados bajo los términos de las leyes de propiedad intelectual.

Ante tal panorama, este nuevo esquema no fue bien visto por las grandes empresas de la industria, y también por muchos desarrolladores, que entendieron tan rígido el nuevo esquema como el tradicional. Es por ello que en la década del '90 surge una alternativa plasmada en la Open Source Initiative. Este movimiento, si bien incorpora las cuatro libertades mencionadas, es un poco mas flexible en términos de licenciamiento al permitir licenciar bajo un mismo marco software propietario y software de código abierto (OSS). De esta manera, el mundo corporativo rápidamente incorporó el OSS, posibilitando la inserción que hoy vemos a diario en todos los ámbitos donde están presentes las TI.

Ante este amplio abanico de posibilidades de uso y licenciamiento del software, se ha comenzado a presentar un problema que, de no atenderselo adecuadamente, puede generar costosos problemas legales para las empresas y desarrolladores de software. Si bien en este artículo es denominado como "contaminación del software de código abierto", entendemos que en realidad debería llamarse desarrollo inconsistente de software o DIS. ¿Por que? La cuestión se plantea al combinar en un mismo programa código propietario (CP) junto con código abierto. De acuerdo con que tipo de licencia FL/OSS haya sido licenciado dicho OSS, podrá suceder que el CP se "convierta" en OSS; asi como si el desarrollador no licencia el trabajo resultante bajo los mismos términos de la licencia FL/OSS (por ejemplo haciéndolo en modo propietario) incumpliría sus términos, haciéndolo plenamente responsable por violación del derecho de autor del desarrollador original.

Algunas de las causas por las cuales puede suceder esto son: seleccionar código con la licencia equivocada, distribuirlo en esos términos incorrectos, ignorar que tipo de software se está incorporando a la empresa o al proyecto de desarrollo asi como no conocer en profundidad que tipo de licencia se puede usar para licenciar el software desarrollado.

¿Como evitar el DIS? El primer lugar, utilizar CP o OSS de forma exclusiva, solución que impide la mezcla de licencias por el solo hecho de no usarlas. De todas maneras, no parece ser una buena solución en cuanto a que hoy la industria utiliza el OSS como forma de reducción de costos y tiempos de desarrollo. Otra forma es analizar cuidadosamente el software que se adquiere, ya sea por licenciamiento, por fusión o por adquisición empresarial. No muchas licencias propietarias permiten, por ejemplo, la cesión del software sin previo acuerdo del licenciante original; asi como es posible que las mismas ya vengan "contaminadas" en cuanto a los distintos modos de licenciamiento. También, desde el punto de vista técnico, se puede utilizar software que escanee el código dubitado, para que de esta manera no queden dudas si estamos utilizando OSS de acuerdo al proyecto emprendido.

Pero, a nuestro entender, la principal manera que tiene una organización de evitar responsabilidades legales y/o financieras es diseñar e implementar una estricta política de licenciamiento de software, tanto el que se licencia para uso interno, para el soporte comercial de la actividad de la empresa asi como el que se utiliza como base para desarrollo a terceros; así como el resultante de esa actividad. Dependiendo del tamaño de la empresa, es importante que esta política sea ejecutada y cumplida por todos los sectores, desde Compras hasta Desarrollo, pasando por Legales y la dirección de la compañía. De todas maneras, creemos que mas allá de la dimensión que pueda tener el ente organizacional que desarrolla el software, siempre es recomendable un análisis y examen minucioso de los términos y condiciones legales de cualquier programa que se incorpore a la empresa; no importando si el mismo es propietario o de código abierto. El consejo legal es, en estos casos, de capital importancia a los fines de limitar al máximo cualquier expuesto a la que la compañía pudiera verse por desarrollar de forma inconsistente software.

Fuentes:

http://www.zdnet.com/news/preventing-open-source-software-contamination/6356928

No hay comentarios: