La definición de software libre estipula los criterios que se tienen que cumplir para que un programa sea considerado libre. De vez en cuando modificamos esta definición para clarificarla o para resolver problemas sobre cuestiones delicadas. Más abajo en esta página, en la sección Historial, se puede consultar la lista de modificaciones que afectan la definición de software libre.
«Software libre» significa que el software respeta la libertad de los
usuarios y la comunidad. En términos generales, los usuarios tienen la
libertad de copiar, distribuir, estudiar, modificar y mejorar el
software. Con estas libertades, los usuarios (tanto individualmente como
en forma colectiva) controlan el programa y lo que hace.
Cuando los usuarios no controlan el programa, el programa controla a los
usuarios. El programador controla el programa y, a través del programa,
controla a los usuarios. Un programa que no es libre, llamado «privativo»,
es por lo tanto un instrumento de poder injusto.
Por tanto, el «software libre» es una cuestión de libertad, no de
precio. Para entender el concepto, piense en «libre» como en «libre
expresión», no como en «barra libre».
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.
Un programa es software libre si los usuarios tienen todas esas
libertades. Por tanto, usted debe ser libre de redistribuir copias, tanto
con como sin modificaciones, ya sea gratuitamente o cobrando una tarifa por
la distribución, a cualquiera en cualquier
parte. El ser libre de hacer estas cosas significa, entre otras cosas,
que no tiene que pedir ni pagar el permiso.
También debe tener la libertad de hacer modificaciones y usarlas en privado
para su propio trabajo o pasatiempo, sin siquiera mencionar que existen. Si
publica sus cambios, no debe estar obligado a notificarlo a nadie en
particular, ni de ninguna manera en particular.
La libertad de ejecutar el programa significa que cualquier tipo de persona
u organización es libre de usarlo en cualquier tipo de sistema de
computación, para cualquier tipo de trabajo y finalidad, sin que exista
obligación alguna de comunicarlo al programador ni a ninguna otra entidad
específica. En esta libertad, lo que importa es el propósito de los
usuarios, no el de los programadores. Usted como usuario
es libre de ejecutar el programa para alcanzar sus propósitos, y si lo
distribuye a otra persona, también esa persona será libre de ejecutarlo para
lo que necesite; usted no tiene derecho a imponerle sus propios objetivos.
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 de realizar cambios y publicar las versiones
modificadas tengan sentido, usted 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 «tivoización» [«tivoization»] o
«arranque seguro» [«lockdown»] (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 el programa es agregándole subrutinas y
módulos libres ya disponibles. Si la licencia del programa especifica que no
se pueden añadir módulos que ya existen y que están bajo una licencia
apropiada, por ejemplo si requiere que usted sea el titular de los derechos
de autor del código que desea añadir, entonces se trata de una licencia
demasiado restrictiva como para considerarla libre.
La libertad 3 incluye la libertad de publicar sus versiones modificadas como
software libre. Una licencia libre también puede permitir otras formas de
publicarlas; 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 libre.
Para que estas libertades sean reales, deben ser permanentes e irrevocables
siempre que usted no cometa ningún error; si el programador del software
tiene el poder de revocar la licencia, o de añadir restricciones a las
condiciones de uso en forma retroactiva, sin que haya habido ninguna acción
de parte del usuario que lo justifique, 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 los demás las libertades principales. Esta
regla no entra en conflicto con las libertades principales, más bien las
protege.
«Software libre» no significa que «no es 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 de vender copias.
Si una modificación constituye o no una mejora, es un asunto subjetivo. Si
su derecho a modificar un programa se limita, básicamente, a modificaciones
que alguna otra persona considera una mejora, el programa no es libre.
No obstante, eventuales reglas sobre 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í, es aceptable que una licencia le obligue a cambiar el
nombre de la version modificada, eliminar el logotipo o 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á realizando otras modificaciones al programa, no
le supondrá un problema hacer algunas más.
Un problema particular se presenta cuando la licencia requiere que a un
programa se le cambie el nombre con el cual será invocado por otros
programas. De hecho este requisito dificulta la publicación de la versión
modificada para reemplazar al original cuando sea invocado por esos otros
programas. Este tipo de requisitos es aceptable únicamente cuando exista un
instrumento adecuado para la asignación de alias que permita especificar el
nombre del programa original como un alias de la versión modificada.
Las normas del tipo «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 alguna que requiera que,
si usted ha distribuido una versión modificada y uno de los programadores
anteriores le solicita una copia, usted deba enviársela (tenga en cuenta que
tal norma le sigue permitiendo optar por distribuir o no distribuir su
versión). Las normas que obligan a suministrar el código fuente a los
usuarios de las versiones publicadas 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. (Véase en categorías del
software libre una descripción de la relación que existe entre «software
libre», «software con copyleft» y otros tipos de software libre).
En algunos casos las regulaciones de control de
exportación y las sanciones comerciales pueden limitar sus libertades de
distribuir copias de programas a nivel internacional. 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 las actividades ni a las personas fuera de las jurisdicciones de
dichos gobiernos. Por tanto, 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 se pueden imponer a través
del copyright. Si una licencia basada en el copyright respeta la libertad en
las formas antes mencionadas, es poco probable que surja 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. Esto significa que existen muchas maneras posibles
de que tal licencia sea inaceptablemente restrictiva y que no sea libre.
Nos resulta imposible 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 se puede hacer con las licencias basadas en el copyright, y que no
está mencionado aquí como legítimo, tendremos que analizar el caso, 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 es el
precio, no la libertad. Algunos términos comunes como «piratería» implican
opiniones con las que esperamos no concuerde. Véase un análisis sobre el uso
de esos términos en nuestro artículo palabras y frases confusas que vale
la pena evitar.
Por último, tenga en cuenta que para interpretar criterios tales como los
que se establecen en esta definición de software libre, se hace necesario un
cuidadoso análisis. Para decidir si una licencia de software específica es
una licencia de software libre, la evaluamos en base a estos criterios para
determinar si concuerda tanto con el espíritu de los mismos como con la
terminología precisa. Si una licencia incluye restricciones inaceptables, la
rechazamos, aún cuando no hubiéramos anticipado el problema en estos
criterios. Algunas veces, los requisitos de una licencia revelan una
cuestión que hace necesaria una reflexión más profunda, incluyendo la
discusión con un abogado, antes de 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é
una cierta licencia puede o no ser calificada como libre.
Si está interesado en saber si una licencia específica está calificada como
licencia de software libre, consulte nuestra lista de licencias. Si la licencia
que busca no está en la lista, puede consultarnos enviándonos un correo
electrónico a <licensing@gnu.org>.
Si está considerando 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 esfuerzo por parte de los usuarios para
entenderlas; podemos ayudarle a encontrar una licencia de software libre que
ya exista y que satisfaga sus necesidades.
Si eso no fuera 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 en la práctica.
No hay comentarios:
Publicar un comentario