Quito, Ecuador - Jueves 20 de Julio del 2017

La interesada confusión entre los términos “software libre” y “código abierto”

Desde hace mucho tiempo veo que ciertas personas difunden ideas erróneas sobre dos términos que definen la misma categoría de software. El propio Stallman escribió en su libro “Software libre para una sociedad libre”:

Los términos «software libre» y «código abierto» describen más o menos la misma categoría de software, pero implican cosas muy distintas acerca del software y sus valores. El Proyecto GNU sigue empleando el término «software libre» para expresar la idea de que la libertad, y no sólo la tecnología, es importante.

Software libre vs Open sourceAlgunos dicen que “más o menos la misma categoría de software” significa que son dos categorías diferentes. Eso es falso. Stallman pone lo de “más o menos” para no pillarse los dedos porque la OSI acepta algunas licencias que la FSF rechaza (y viceversa). Lo cierto es que comparten la mayoría de las licencias. Stallman intenta que se imponga el término “software libre” pero no tiene nada en contra del software de código abierto (en general) porque es prácticamente el mismo software que promueve desde la FSF (es algo que repite constantemente en sus conferencias).

¿Por qué hay gente que piensa que el software libre y el software de código abierto son distintos? Existen ciertas empresas, personas y organizaciones que quieren hacernos creer que el mero acceso al código fuente convierte a un software en “open source” y eso es falso. El software de código abierto (según la OSI) debe cumplir lo siguiente:

[V 1.9] Código fuente abierto (“open source”, en inglés) no significa el mero acceso al código fuente. Los términos para la distribución del software de código fuente abierto (“open-source software”, en inglés) tienen que cumplir el siguiente criterio:

1. Redistribución Libre

La licencia no deberá impedir la venta o el ofrecimiento del software como un componente de una distribución de software agregado conteniendo programas de muchas fuentes distintas a ninguna parte. La licencia no deberá requerir el pago de los derechos de autor u otra tasa por dicha venta.

2. Código Fuente

El programa tiene que incluir el código fuente, y tiene que permitir la distribución tanto en código fuente como en forma compilada. Si alguna forma de un producto no es distribuida con el código fuente, tiene que haber un medio bien-publicado de obtener el código fuente por no más que un costo razonable de reproducción preferentemente, una descarga a través de Internet sin cargo. El código fuente tiene que ser la forma preferida en la cuál un programador modificaría el programa. El código fuente deliberadamente ofuscado no está permitido. Las formas intermedias tales como la salida de un preprocesador o traductor no estan permitidas.

3. Trabajos Derivados

La licencia tiene que permitir modificaciones y trabajos derivados, y tiene que permitir que ellos sean distribuidos bajo los mismos terminos de la licencia del software original.

4. Integridad Del Código Fuente Del Autor

La licencia puede impedir que el código fuente sea distribuido en forma modificada solamente si la licencia permite que la distribución de “archivos parches” con el código fuente con el objetivo de modificar el programa en el tiempo de contrucción. La licencia tiene que permitir explícitamente la distribución del software construido a partir del código fuente modificado. La licencia puede requerir que los trabajos derivados tengan un nombre distinto o un número de versión distinto al del software original.

5. No a la Discriminación de Personas o Grupos

La licencia no tiene que discriminar a ninguna persona o grupo de personas.

6. No a la Discriminación de Campos Laborales

La licencia no tiene que restringir a nadie que haga uso del programa en un campo laboral específico. Por ejemplo, no puede impedir que el programa sea usado en un negocio, o que sea usado para una investigación genética.

7. Distribución de la Licencia

Los derechos adjuntos al programa tienen que aplicarse a todos aquellos que reciben el programa sin la necesidad de ejecutar una licencia adicional para estas partes.

8. La Licencia No Tiene que Ser Específica de un Producto

Los derechos adjuntos al programa no tienen que depender de que el programa forme parte de una distribución particular de software. Si el programa es extraído de esa distribución y es usado o distribuido de acuerdo a los términos de la licencia del programa, todas las partes a las que el programa sea redistribuido deben tener los mismos derechos que son garantizados en conjuncto con la distribución original del software.

9. La Licencia No Tiene que Restringir a Otro Software

La licencia no tiene que colocar restricciones en otro software que es distribuido junto con el software licenciado. Por ejemplo, la licencia no tiene que insistir en que todos los otros programas distribuidos en el mismo medio tengan que ser software de código fuente abierto.

10. La Licencia Debe Ser Tecnológicamente Neutral

Ninguna disposición de la licencia puede basarse en una tecnología o estilo de interfaz.

El punto 9 no es incompatible con la definición de software libre ¿Quieres contradecirme? Pues antes de hacerlo pregunta a los de la OSI por qué han aprobado la licencia GPL si no cumple sus criterios (obviamente no los incumple).

Si entendemos correctamente las condiciones, vemos que se mantienen las cuatro libertades que garantiza el software libre (según la FSF):

Un programa es software libre si los usuarios tienen las cuatro libertades esenciales:

La libertad de ejecutar el programa para cualquier propósito (libertad 0). La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que usted quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello. La libertad de redistribuir copias para ayudar a su prójimo (libertad 2).

La libertad de distribuir copias de sus versiones modificadas a terceros (libertad 3). Esto le permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones. El acceso al código fuente es una condición necesaria para ello.

¿Por qué no comparten todas las licencias si son prácticamente lo mismo? Ahí entramos en las interpretaciones de los textos por parte de la OSI y la FSF. De hecho muchos desarrolladores de espíritu libre/abierto modificaron licencias para acomodarse a las exigencias de estas organizaciones. Otras quedaron fuera sin querer o a propósito. La situación se puede esquematizar así:

Dentro del software libre, la FSF recomienda el uso de aquel que sea compatible con su licencia GPL (dos nuevas subcategorías):

¿A donde quiero llegar con todo esto? Nadie puede decir que el software de código abierto es peor que el software libre, ni que es menos libre o que directamente no lo es. Es un absurdo comparar unos términos que engloban casi lo mismo. Por poner un ejemplo, Webkit es software de código abierto y software libre. Es una tontería intentar degradarlo diciendo que es un proyecto de código abierto pero no software libre. En cambio sí puedes decir que la licencia GPL es la mejor (según tu criterio personal) sin faltar a la verdad. La licencia BSD (de momento) sigue siendo una licencia de software libre aunque la odies.

¿Por qué «software libre» es mejor que «código abierto» (según la FSF)?

Aunque el software libre con cualquier otro nombre le daría la misma libertad, el nombre que usemos hace una gran diferencia: palabras diferentes transmiten ideas diferentes.

En 1998, algunas de las personas de la comunidad de software libre empezaron a usar el término «software de código abierto» (del inglés «open source software») en vez de «software libre» para describir lo que hacen. El término «código abierto» se asoció rápidamente con una aproximación diferente, una filosofía diferente, valores diferentes, e incluso un criterio diferente por el cual las licencias son aceptables. El movimiento por el software libre y el movimiento por el código abierto hoy son movimientos separados con visiones y metas diferentes, aunque podamos y trabajemos juntos en algunos proyectos prácticos.

La diferencia fundamental entre los dos movimientos está en sus valores, sus formas de mirar al mundo. Para el movimiento por el código abierto, el asunto sobre si el software debiera ser de código abierto es una cuestión práctica, no ética. Como alguien dijo, «el código abierto es una metodología de desarrollo; el software libre es un movimiento social». Para el movimiento por el código abierto, el software que no sea libre es una solución ineficiente. Para el movimiento por el software libre, el software que no es libre es un problema social y el software libre es la solución.

Fuente: http://www.somoslibres.org

Compartir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *