Mostrando entradas con la etiqueta software libre. Mostrar todas las entradas
Mostrando entradas con la etiqueta software libre. Mostrar todas las entradas

jueves, 14 de abril de 2016

Código Ingenios y su intento por redefinir el software

Luego de un largo descanso, de hecho demasiado largo, he decidido regresar a estas líneas teniendo como disparador el asunto del "Código Orgánico de la Economía Social de los Conocimientos la Creatividad y la Innovación", mejor conocido como Código Ingenios, el cual al tiempo de escribir esta entrada se encuentra en su fase de Consulta Prelegislativa.

En forma general, este Código se enfoca en el Conocimiento como un bien capaz de generar desarrollo en el país. En realidad su ámbito es bastante amplio y abarca conocimientos que incluyen saberes ancestrales, diversidad biológica, obras literarias, software, hardware, etc. Es relevante para este blog, pues se relaciona estrechamente con la innovación, la tecnología y el desarrollo.

En macro tiene aspectos muy interesantes, que lo hacen atractivo desde el punto de vista del desarrollo y el conocimiento, y sin duda tiene una gran ideología. Sin embargo, a nivel de definiciones de hardware y software que es el campo que compete a este blog, no tiene un respaldo sólido, llegando a resultar ambiguo, confuso y carente de verdaderos criterios técnicos.

Recorrer artículo por artículo y hacer observaciones puntuales resulta demasiado largo y aburrido para un blog, así que voy a agrupar sus deficinencias en siete ideas principales:

  1. Intenta realizar definiciones de software y hardware que resultan bastante limitadas, estáticas, monolíticas, incapaces de adaptarse a la evolución y ritmo de desarrollo de las tecnologías de la información y comunicación.
  2. Intenta establecer esquemas de licenciamiento enfocados en la creatividad, pero su contenido presenta mucha ambigüedad y ligereza, y no toma en cuenta que en todo el mundo existen esquemas de licenciamiento completamente funcionales y maduros, y aun así en constante evolución, y que abarcan toda actividad de desarrollo de software, sea este privativo o libre. Software libre no significa gratuito (Free as freedom, not as free beer!).
  3. Intenta establecer derechos para desarrolladores como si se tratase de una obra literaria, sin tomar en cuenta que el software como producto final no es la "obra" de una sola persona, sino de un equipo de trabajo en el que se pueden involucrar desarrolladores independientes, empresas, software con diferentes tipos de licencias, algoritmos de diferentes fuentes y módulos "prefabricados" que dispondrán de licencias propias.
  4. Intenta imponer el uso de software libre de una manera forzada. Sin duda el software libre genera una gran oportunidad de desarrollo, pero vale recordar que también tiene sus propios modelos de negocios y desarrollo que deben ser explorados y explotados. Además, por principio, si el software es libre no puede ser obligatorio. Los intentos por imponer lo libre resultan en fracasos como en su momento sucedió con el middleware Ginga en ISDBT.
  5. El hecho de no establecer esquemas de licenciamiento claros y compatibles con los esquemas que ya existen y se respetan en todo el mundo, aísla severamente al software desarrollado en el Ecuador y anula su potencial de internacionalización y exportación. Si queremos software exportable, debe cumplir los esquemas de licenciamiento que se respetan en todo el mundo, libres o privativos. No se puede exportar software pirata con la bandera de software libre.
  6. Puede llegar a ser atentatorio contra el software privativo. Defender el software libre no implica atacar al privado. El software libre actualmente no necesita que se lo lleve de la mano ni a empujones; simplemente hay que fomentar su competencia con el privativo y dejarlo avanzar. Una vez más, vale recordar que tanto el software libre como el privativo tienen sus propios modelos de negocio.
  7. El Código habla de softwre libre y privativo como de blanco y negro, cuando en realidad existe una compleja gama de esquemas intermedios interrelacionados por diferentes conexiones que permiten y restringen su utilización a diferentes niveles. El software como producto final puede ser una compleja mezcla de esquemas de licenciamiento.
Para ejemplificar, si el software privativo no es permitido, los desarrolladores no podrán utilizar JAVA, pues este lenguaje tiene una licencia restrictiva, la Oracle Binary Code License, en la que se restringe explícitamente cualquier actividad de ingeniería inversa y análisis o modificación de su fuente. Sin embargo, cualquier desarrollador lo puede utilizar en forma libre para desarrollar su propio software, el que puede tener licencias restrictivas o libres dependiendo de su criterio. Entonces, tenemos un componente restrictivo, el lenguaje de programación, y un componente que puede ser libre, el programa desarrollado. Desafortunadamente, si se sigue al pie de la letra, el Código Ingenios no es compatible con este tipo de desarrollo.

Ahora bien, hay quienes dirán, si Java es software privativo dejamos de utilizarlo y podremos emplear lenguajes con licencias libres. Esta parte es en realidad la más compleja, pues hablar de software libre no significa que sea gratuito y que no tenga licencia. Por el contrario, el software libre tiene un complejo esquema de licencias que va desde las altamente permisivas hasta las altamente restrictivas. El siguiente diagrama muestra de forma básica los esquemas de licenciamiento libre.

Floss license slide, showing connections from public domain to MIT, MIT to BSD-new, BSD-new to Apache and various versions of LGPL, LGPL to GPL, and GPL version 3 to Affero GPL version 3
Las flechas indican la "ruta de compatibilidad", así por ejemplo si se realiza un desarrollo con un paquete licenciado con Apache 2.0 y otro con LGPLv2.1+, el resultado debe ser licenciado con LGPLv3, caso contrario se están infringiendo las licencias de los paquetes utilizados. El software desarrollado sin estas consideraciones puede tener problemas para ser comercializado, principalmente para la exportación.

En conclusión, lo que realmente debería importar en el país para fomentar el desarrollo y la industria del software es que se entiendan con claridad y que se respeten los esquemas de licenciamiento que ya existen en todo el mundo. Todo software, libre o privativo, incluyendo los lenguajes de programación, tiene asociada una licencia en la que se establecen con claridad sus permisos y restricciones. No hay más que entenderlas y respetarlas, no es necesario redefinirlas ni inventar términos forzados. Tampoco es viable que las instituciones del estado obliguen a utilizar software libre sin comprender bien sus implicaciones y sus alcances.

El intento por redefinir el software del Código Ingenios resulta por tanto un esfuerzo innecesario.


 

jueves, 23 de diciembre de 2010

Software libre y TV Digital

Cómo reducir la enorme brecha tecnológica que existe en nuestra región? Cómo integrar a la mayor cantidad posible de habitantes en una sociedad en la que los recursos tecnológicos son muchas veces desconocidos (aunque no necesariamente escasos)?


Pues la respuesta surge casi en forma intuitiva cuando pensamos en dos tecnologías que cobran cada vez más fuerza: la TV Digital y el Software Libre.

Bueno, el Software Libre se ha ido abriendo terreno poco a poco demostrando de lo que es capaz, a fuerza de innovación, versatilidad, apertura y además gracias al decidido impulso y creatividad de pioneros que han apostado todo en esta empresa. Sin duda la plataforma "bandera" del software libre es Linux, el cual a pesar de su constante desarrollo, alta fiabilidad y estabilidad, eficiencia en administración de recursos, etc., ha llegado a ser estigmatizado por una característica que sus detractores han explotado en forma persistente: su instalación y configuración no es la más simple. Y bueno, su operación se ha simplificado mucho sin embargo de lo cual se pueden requerir ciertas destrezas, sobre todo cuando se quiere obtener el máximo provecho. Y la historia se repite en prácticamente todos los programas, plataformas y aplicaciones de software libre, mientras que sus contrapartes comerciales se jactan de su facilidad de instalación, simpleza de operación e interfaces altamente intuitivas, pasando a un plano casi secundario la seguridad, la eficiencia y la versatilidad. En todo caso es interesante notar que la tendencia por la utilización del software libre está en franco crecimiento y que muchos usuarios (incluyendo instituciones, grandes empresas e incluso gobiernos completos) empiezan a comprender qué es lo que esto realmente implica en nuestra región.

Es justamente en este punto en donde surge una interesante simbiosis entre ISDB-Tb, el estándar brasileño de TV Digital, que puede considerarse prácticamente una tecnología emergente, y el Software Libre, cuyas premisas fundamentales están plasmadas en el middleware Ginga, una plataforma que permite un desarrollo coherente, simplificado y estandarizado de aplicaciones para TV Digital bajo el estándar brasileño.

La idea de ejecutar aplicaciones desarrolladas sobre una plataforma libre en un equipo tan común entre la gente como un televisor es sin duda muy atractiva. Y bueno, esto ya no es una fantasía, es una realidad. Y es tanto así que el Gobierno Brasileño ha creado la Secretaría de Inclusión Social, entre cuyas estrategias sin duda la TV Digital es uno de los puntales.

Sin duda, desde la perspectiva social, la naturaleza abierta del Software Libre encaja bastante bien con las ideas fundamentales de la TV Digital. En su concepto más amplio, la televisión no puede exigir a sus espectadores el pago de derechos. El caso de la televisión por suscripción es tan solo una particularidad, pero no puede ser la regla. De hecho, es interesante observar que en Estados Unidos, luego del lanzamiento de la TV Digital, la televisión por suscripción ha ido perdiendo terreno, que es algo parecido a lo que sucede con el software propietario y el software libre.

Desde esta perspectiva hay interesantes analogías que merecen ser tomadas en cuenta, pues marcarán el camino que seguirán el software y la TV Digital. Sin duda estamos ante el nacimiento de una sinergia que revolucionará la forma de hacer y ver televisión.