v.- Software Libre

El «software libre» es una cuestión de libertad, no de precio. Para entender el concepto, debería pensar en «libre» como en «libre expresión», no como en «barra libre».

El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Más precisamente, significa que los usuarios de programas tienen las cuatro libertades esenciales.

  • La libertad de ejecutar el programa, para cualquier propósito (libertad 0).
  • La libertad de estudiar cómo trabaja 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 que pueda ayudar al prójimo (libertad 2).
  • La libertad de distribuir copias de sus versiones modificadas a terceros (libertad 3). Si lo hace, puede dar a toda la comunidad una oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición necesaria para ello.

Un programa es software libre si los usuarios tienen todas esas libertades. Entonces, debería ser libre de redistribuir copias, tanto con o sin modificaciones, ya sea gratis o cobrando una tarifa por distribución, a cualquiera en cualquier parte. El ser libre de hacer estas cosas significa, entre otras cosas, que no tiene que pedir o pagar el permiso.

También debería tener la libertad de hacer modificaciones y usarlas en privado, en su propio trabajo u obra, sin siquiera mencionar que existen. Si publica sus cambios, no debería estar obligado a notificarlo a alguien en particular, o de alguna forma en particular.

La libertad de ejecutar el programa significa la libertad para cualquier tipo de persona u organización de usarlo en cualquier tipo de sistema de computación, para cualquier tipo de trabajo y propósito, sin estar obligado a comunicarlo a su programador, o alguna otra entidad específica. En esta libertad, el propósito de los usuarios es el que importa, no el propósito de los programadores. Como usuario es libre de ejecutar un programa para sus propósitos; y si lo distribuye a otra persona, también es libre para ejecutarlo para sus propósitos, pero usted no tiene derecho a imponerle sus propios propósitos.

La libertad de redistribuir copias debe incluir las formas binarias o ejecutables del programa, así como el código fuente; tanto para las versiones modificadas como para las no lo están. (Distribuir programas en forma de ejecutables es necesario para que los sistemas operativos libres se puedan instalar fácilmente). Resulta aceptable si no existe un modo de producir una formato binario o ejecutable para un programa específico, dado que algunos lenguajes no incorporan esa característica, pero debe tener la libertad de redistribuir dichos formatos si encontrara o programara una forma de hacerlo.

Para que la libertad 1 y 3 para realizar cambios y publicar versiones mejoradas, tengan sentido; debe tener acceso al código fuente del programa. Por consiguiente, el acceso al código fuente es una condición necesaria para el software libre. El «código fuente» ofuscado no es código fuente real, y no cuenta como código fuente.

La libertad 1 incluye la libertad de usar su versión modificada en lugar de la original. Si el programa se entrega con un producto diseñado para ejecutar versiones modificadas de terceros, pero rechaza ejecutar las suyas, una práctica conocida como «tivoization» o «lockdown o «arranque seguro» (en la terminología perversa de los que la practican); la libertad 1 se convierte más en una ficción teórica que en una libertad práctica. Esto no es suficiente. En otras palabras, estos binarios no son software libre, incluso si se compilaron desde un código fuente que es libre.

Una manera importante de modificar un programa es fusionando subrutinas y módulos libres disponibles. Si la licencia del programa dice que no puede fusionar un módulo existente con una debida licencia, así como si le requiere ser el titular de los derechos de autor de lo que agregue, entonces la licencia es demasiado restrictiva para calificarla como libre.

La libertad 3 incluye la libertad de liberar sus versiones modificadas como software libre. Una licencia también puede permitir otras formas de relicenciarlas, en otras palabras, no tiene que ser una licencia de copyleft. No obstante, una licencia que requiera que las versiones modificadas no sean libres, no se puede considerar como una licencia libre.

Para que estas libertades puedan ser reales, deben ser irrevocables siempre que usted no cometa ninguna equivocación; si el programador del software tiene el poder de revocar la licencia, o de cambiar retroactivamente sus términos, sin que usted se haya equivocado para justificarlo, el software no es libre.

Sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre son aceptables, cuando no entran en conflicto con las libertades principales. Por ejemplo, el copyleft (definido muy resumidamente) es la regla en base a la cual, cuando redistribuye el programa, no puede agregar restricciones para denegar a las demás personas las libertades principales. Esta regla no entra en conflicto con las libertades principales; más bien las protege.

«Software libre» no significa «que no sea comercial». Un programa libre debe estar disponible para el uso comercial, la programación comercial y la distribución comercial. La programación comercial de software libre ya no es inusual; tal software libre comercial es muy importante. Puede haber pagado dinero para obtener copias de software libre, o puede haber obtenido copias sin costo. Pero sin tener en cuenta cómo obtuvo sus copias, siempre tiene la libertad de copiar y modificar el software, incluso devender copias.

Si una modificación constituye una mejora es un asunto subjetivo. Si sus modificaciones se limitan, en esencia, a los cambios que otra persona considera una mejora, eso no se trata de libertad.

No obstante, las reglas acerca cómo empaquetar una versión modificada son aceptables si no limitan substancialmente su libertad para publicar versiones modificadas, o su libertad para hacer y usar versiones modificadas en privado. Así que es aceptable que una licencia le obligue a cambiar el nombre de la version modificada, eliminar el logotipo o a identificar sus modificaciones como suyas. Son aceptables siempre y cuando esas obligaciones no sean tan agobiantes que le dificulten la publicación de sus modificaciones. Como ya está aplicando otras modificaciones al programa, no le supondrá un problema hacer algunas más.

Las normas del estilo «si pone a disposición su versión de este modo, también debe hacerlo de este otro modo» también pueden ser, bajo la misma condición, admisibles. Un ejemplo de una norma admisible, sería una que planteara que si ha distribuido una versión modificada, y uno de los programadores de versiones anteriores le pide una copia, deberá mandarle una (tenga en cuenta que esta norma le sigue permitiendo elegir si distribuye, o no, su versión.). Las normas que obligan a liberar el código fuente a los usuarios de las versiones que publica también son admisibles.

En el proyecto GNU, usamos copyleft para proteger legalmente estas libertades para todos. Pero también existe software libre sin copyleft. Creemos que existen razones importantes por las que es mejor usar copyleft, pero si su programa es software libre sin copyleft, sigue siendo ético de todos modos. (Vea en categorías del software libreuna descripción de cómo «software libre», «software con copyleft» y otros tipos de software libre se relacionan).

En algunos casos las regulaciones de control de exportación y las sanciones comerciales pueden limitar sus libertades de distribuir copias de programas intencionalmente. Los desarrolladores de software no tienen el poder de eliminar o pasar por alto estas restricciones, pero lo que pueden y deben hacer es rechazar imponerlas como condiciones para el uso del programa. De este modo, las restricciones no afectarán a las actividades ni a las personas fuera de las jurisdicciones de dichos gobiernos. Por ende, las licencias de software libre no deben requerir la obediencia a ninguna regulación de exportaciones como condición de cualquiera de las libertades esenciales.

La mayoría de las licencias de software libre están basadas en el copyright, y existen límites en los tipos de requisitos que pueden ser impuestos a través del copyright. Si una licencia basada en el copyright respeta la libertad en las formas antes mencionadas, es poco probable tener otro tipo de problema que no hayamos anticipado (a pesar de que esto ocurre ocasionalmente). Sin embargo, algunas licencias de software libre están basadas en contratos, y los contratos pueden imponer un rango mucho más grande de restricciones posibles. Esto significa que existen muchas maneras posibles de que tal licencia pueda ser inaceptablemente restrictiva y que no sea libre.

Posiblemente no podamos enumerar todas las formas en las que eso puede pasar. Si una licencia basada en un contrato restringe al usuario de un modo que no puedan hacer las licencias basadas en el copyright, y que no está mencionado aquí como legítimo, tendremos que pensar sobre ello; y probablemente concluyamos que no es libre.

Cuando se habla de software libre, es mejor evitar usar términos como «regalar» o «gratuito», porque dichos términos implican que el asunto pasa por el precio, no la libertad. Algunos términos comunes como «piratería» implican opiniones con las que esperamos no concuerde. Vea palabras y frases confusas que vale la pena evitar para el debate sobre esos términos. También tenemos una lista de traducciones de «software libre» a varios idiomas.

Finalmente, tenga en cuenta que los criterios, como los establecidos en esta definición de software libre, requieren pensar con cuidado su interpretación. Para decidir si una licencia de software específica es una licencia de software libre, la juzgamos en base a estos criterios para determinar si concuerda su espíritu, conjuntamente con la terminología precisa. Si una licencia incluye restricciones demasiado grandes, la rechazamos, incluso si no anticipamos la cuestión en este criterio. Algunas veces, los requisitos de una licencia muestra una cuestión que hace necesaria una reflexión más profunda, incluyendo la discusión con un abogado, antes que podamos decidir si el requisito es aceptable. Cuando llegamos a una conclusión sobre una nueva cuestión, solemos actualizar estos criterios para que resulte más fácil ver por qué ciertas licencias se califican o no.

Si está interesado en saber si una licencia específica califica o no como licencia de software libre, vea nuestra lista de licencias. Si la licencia que busca no está en la lista, puede preguntarnos enviándonos un correo electrónico a <licensing@gnu.org>.

Si está contemplando escribir una nueva licencia, por favor contacte a la FSF escribiendo a esa dirección. La proliferación de distintas licencias de software libre significa mayor trabajo para los usuarios para entender esas licencias; podemos ayudarle a encontrar una licencia de software libre que ya exista que satisfaga sus necesidades.

Si eso no es posible, si realmente necesita una nueva licencia, con nuestra ayuda puede asegurarse que la licencia sea realmente una licencia de software libre y evitar varios problemas prácticos.

Más allá del software

Los manuales de software deben ser libres, por las mismas razones que el software debe ser libre, y porque en efecto los manuales son parte del software.

Los mismos argumentos también tienen sentido para otros tipos de trabajos de uso práctico; es decir, trabajos que incorporen conocimiento útil, tal como trabajos educativos y de referencia. La Wikipedia es el ejemplo más conocido.

Cualquier tipo de trabajo puede ser libre, y la definición de software libre se ha extendido a una definición de trabajos culturales libres aplicable a cualquier tipo de trabajo.

¿Código abierto?

Otro grupo ha comenzado a usar el término «código abierto» (del inglés «open source») que significa algo parecido (pero no idéntico) a «software libre». Preferimos el término «software libre» porque, una vez que ha escuchado que se refiere a la libertad en lugar del precio, le hace pensar en la libertad. La palabra «abierto» nunca se refiere a la libertad.

Historial

De vez en cuando modificamos esta definición de software libre para clarificarla. A continuación, proporcionamos una lista de dichas modificaciones, junto con enlaces para ilustrar exactamente qué cambió, para que puedan revisarlos si quieren. [Nota del traductor: el historial es el del documento original en inglés, no de esta traducción].

  • Versión 1.105: reflejar, en una breve afirmación sobre la libertad 1, la qüestión (ya planteada en la versión 1.80) que incluye utilizar la versión modificada en sus sistema.
  • Version 1.92: Aclarar que el código fuente ofuscado no se puede considerar código fuente.
  • Version 1.90: aclarar que la libertad 3 significa el derecho a distribuir copias de sus propias versiones modificadas o mejoradas. No el derecho de participar en el proyecto de otro.
  • Version 1.89: La libertad 3 incluye el derecho a liberar versiones modificadas como software libre.
  • Versión 1.80: la primera libertad debe ser práctica, no sólo teórica. Por ejemplo, nada de tivoización.
  • Versión 1.77: Clarificación acerca que todos los cambios retroactivos a la licencia son inaceptables, aún si no representan reemplazos completos.
  • Versión 1.74: Cuatro clarificaciones de puntos no del todo explícitos, o definidas en algunos lugares pero no reflejadas en todos:
    • «Mejoras» no significa que la licencia puede limitar sustancialmente qué tipo de versiones modificadas puede publicar. La libertad 3 incluye la distribución de versiones modificadas, no sólo de los cambios.
    • El derecho a fusionar módulos existentes se refiere a aquellos que estén debidamente licenciados.
    • Definición explícita de la conclusión sobre los puntos de controles de exportación.
    • Imponer un cambio en la licencia constituye una revocación de la antigua licencia.
  • Versión 1.57: Agregada la sección «Más allá del software».
  • Versión 1.46: Clarificar de quién es el propósito que importa en la libertad para ejecutar el programa para cualquier propósito.
  • Versión 1.41: Clarificar definiciones sobre licencias basadas en contratos.
  • Versión 1.40: Explicar que una licencia libre debe permitirle usar otro software libre disponible para crear sus modificaciones.
  • Versión 1.39: Nota acerca que es aceptable para una licencia requerir proveer el código fuente para versiones del software que ponga en uso público.
  • Versión 1.31: Es aceptable para una licencia requerirle que se identifique como el autor de las modificaciones. Otras clarificaciones menores a lo largo del texto.
  • Versión 1.23: Anotados problemas potenciales relacionados a licencias basadas en contratos.
  • Versión 1.16: Explicar por qué la distribución de los binarios es importante.
  • Versión 1.11: Una licencia libre puede requerirle que envíe una copia de las versiones modificadas al autor.

GNU

Proyecto iniciado por Richard Stallman con el objetivo de crear un sistema operativo completo libre: el sistema GNU.

GNU es un acrónimo recursivo que significa “GNU No es Unix”.

El sistema GNU fue diseñado para ser compatible con UNIX, un sistema operativo que no es libre.

Este sistema se lanzó bajo una licencia denominada copyleft, para que cualquier usuario pueda ejecutar, copiar, modificar o distribuir el sistema. Esta licencia está contenida en la Licencia General Pública de GNU (GPL).

Stallman creó en 1985 la FSF (Free Software Foundation o Fundación para el Software Libre) para proveer soporte logístico, legal y financiero al proyecto GNU.

GNU se volvió más popular, entonces empresas y particulares comenzaron a contribuir al sistema con productos y modificaciones.

Para 1990 el sistema GNU tenía un editor de texto llamado Emacs, un compilador de texto llamado GCC y muchas utilidades y bibliotecas similares a UNIX, pero le faltaba un componente clave, el kernelo núcleo. Se había intentado anteriormente hacerlo, pero por diversos motivos nunca prosperó.

Linus Torvalds en 1991 comenzó a escribir un núcleo que llamó Linux y lo distribuyó bajo licencia GPL, logrando que muchos programadores se unieran para desarrollarlo y lograron un núcleo compatible con Unix. Fue combinado en 1992 con el sistema GNU con excelentes resultados.

Actualmente existen múltiples sistemas operativos basados en GNU con kernel Linux y son conocidos como “GNU/Linux” o como una “distribución Linux”.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: