Ayer mismo, una pregunta en la lista ITSAS de promoción del software libre en la UPV/EHU me dejó pensativo:
«¿Estamos en esta lista para promover en la UPV/EHU el software libre (aunque quizá no abierto), el software abierto (aunque quizá privativo) o los estándares abiertos?»
Iba a responder directamente pero creo que es mejor filosofar y meditar públicamente al respecto en este blog, porque seguro que hay muchas opiniones diferentes al respecto y ya estábamos metidos en un flame como para iniciar otro 🙂
Primero de todo me gustaría aclarar qué es lo que se conoce como software de código abierto. Habrá distintas opiniones, yo ofrezco la mía: software de código abierto lo interpreto como la traducción de software open source. Y software open source lo interpreto como software con licencia aprobada por la OSI (Open Source Initiative), es decir, software que cumple los 10 requisitos establecidos por esta organización para que un software sea considerado Open Source.
Hay gente que interpretará software de código abierto como software en el que simplemente tienes acceso al código fuente. Aquí se englobarían engendros como el software bajo licencia Microsoft Reference Source License (Ms-Rsl) : una licencia que permite ver el código fuente de una aplicación pero no puedes modificar ni distribuir el código (ni siquiera con objetivos no comerciales) . Yo no considero este tipo software, bajo este tipo de licencias, como software de código abierto; bajo ningún concepto.
En el párrafo anterior surge una interesante pregunta : ¿es el software bajo licencia Ms-Rsl software privativo? Yo simplemente diría que es software no-libre y no-abierto. Pero no iría más allá. Aunque entiendo que haya gente que particione las licencias software en dos: libre o privativo. En ese caso no habría duda de que soft bajo Ms-Rsl sería privativo.
Sigamos con la reflexión. Hemos visto que hay una organización, la OSI que, a petición del interesado, determina si una licencia puede ser considerada Open Source (aprobada por la OSI) o no. De igual forma, existe una fundación, la Free Software Foundation, que decide, motu-propio, sin que el interesado lo tenga que solicitar, si una determina licencia puede considerarse libre o no. Para considerarse libre debe de cumplir las 4 libertades, que ya conocemos casi como el padrenuestro:
1) libertad para ejecutar el programa – con cualquier finalidad –
2) libertad para estudiar cómo funciona el programa y adaptarlo a tus necesidades – por tanto, para cumplir este requisito, es impepinable el acceso al código fuente –
3) libertad para distribuir copias del programa
4) libertad para mejorar el programa y redistribuir las modificaciones
(Realmente se empiezan a numerar desde 0. Este hecho se resalta como una manía de los programadores en el libro «Dreaming in Code»)
Una de las preguntas típicas es: ¿existe alguna licencia que haya sido aprobada por la OSI y que haya sido rechazada por la FSF? Este conjunto formaría la respuesta a «software de código abierto, pero no libre» (bajo la definición de código abierto de la OSI). Pues sí, existen al menos 2 ejemplos de licencias aprobadas por la OSI pero que la FSF ha rechazado como software libre:
* la «NASA Open Source Agreement» versión 1.3 ¿Por qué la rechazó? Porque esa licencia incluye una provisión que pide que los cambios que realices sobre el código han de ser «creaciones originales» tuyas. Según la FSF, el desarrollo de software libre se basa en combinar código proveniente de distintas fuentes (libres) y la licencia indicada no permitiría realizar esa combinación.
* la «Reciprocal Public License«. Esta licencia tiene varios puntos que la hacen NO libre. Uno de ellos es el indicado en el apartado 6.1, que viene a decir que no puedes solicitar una compensación económica por redistribuir software bajo esta licencia «si ésta compensación es superior al propio coste de duplicación y distribución» . Esto es muy interesante, y se puede poner de contra ejemplo a aquellos que confunden software libre con software gratuito. Este punto indica que no sólo es lícito pedir una compensación económica por la distribución de software libre, sino que no debe de imponerse ningún límite a esa cantidad o dejará de ser, desde ese momento, una licencia libre.
Otro tema totalmente distinto es si existen licencias aprobadas por una organización y no por la otra. Ésto, en efecto, ocurre, hay numerosos ejemplos, pero no debe confundirse el hecho de que no haya sido (aún) aprobado con el de haber sido denegado. Son dos cosas distintas: en el primer caso, tal vez aún no han estudiado si es «aprobable» o no. En el segundo, lo han estudiado y han decidido que NO lo es.
La lista completa, a fecha de Febrero de 2009, se puede encontrar aquí [people.debian.org]. Es un fichero .diff, entre el fichero de licencias aprobadas por la FSF y el de aprobadas por la OSI. Las líneas que empiezan por – son licencias que la FSF ha aprobado (y la OSI aún no ha dicho nada). Las que empiezan por + son licencias que la OSI ha aprobado (y la FSF aún no ha dicho nada, o en los 2 casos indicados antes, directamente las ha considerado NO libres).
Así que, volviendo a la pregunta original: no existe el concepto de software libre pero no abierto. Por definición de software libre, es prerequisito sine qua non que sea software de código abierto. La afirmación inversa es posible: existen licencias (al menos 2) aprobadas por la OSI (software de código abierto) que han sido directamente rechazadas por la FSF y tachadas de licencias NO libres.
Por otra parte, un aplicativo software bajo licencia de código abierto (en el sentido open source, aprobada por la OSI) ¿puede ser a la vez software privativo? Por definición de software privativo (según la Wikipedia) :
«se refiere a cualquier programa informático en el que los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o redistribuirlo (con o sin modificaciones), o cuyo código fuente no está disponible o el acceso a éste se encuentra restringido». Por tanto, si el código fuente no está disponible o se encuentra restringido, infringe la segunda norma de la OSI para ser considerado open source, y si tiene limitadas las posibilidades de redistribuírlo, incumpliría la primera regla de las normas. Por tanto, en mi opinión, no existe tal engendro.
Otro tema de discusión más profundo serían aquellas aplicaciones software que se distribuyen bajo licencias duales o múltiples, caso de MySQL, por ejemplo. Estos casos habría que estudiarlos aparte, y no en este post, porque ya empieza a salirme humo de la mollera 🙂
Nota: todo lo escrito en este post es una opinión o reflexión personal. Aplíquese el consiguiente sentido común, las precauciones necesarias y considérese la ya famosa introducción para todas estas disquisiciones por parte de gente profana en leyes: IANAL (I am not a lawyer). Me interesa mucho recibir vuestros comentarios/críticas/etc. para ir mejorando y corrigiendo este texto, allá donde sea necesario.