Definición de software libre
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» es el software que respeta la libertad de
los usuarios y la comunidad. A grandes rasgos, significa que los usuarios
tienen la libertad de ejecutar, copiar, distribuir, estudiar, modificar y
mejorar el software. Es decir, 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». En inglés a veces decimos «libre
software», en lugar de «free software», para mostrar que no queremos decir que
es gratuito.
Promovemos estas libertades porque todos merecen tenerlas.
Con estas libertades, los usuarios (tanto individualmente como en forma
colectiva) controlan el programa y lo que este hace. Cuando los usuarios no
controlan el programa, decimos que dicho programa «no es libre», o que es
«privativo». Un programa que no es libre controla a los usuarios, y el
programador controla el programa, con lo cual el programa resulta ser un
instrumento de poder injusto.
Un programa es software libre si los usuarios tienen las
cuatro libertades esenciales:
- La libertad
de ejecutar el programa como se desea, con 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 otorga a los usuarios todas
estas libertades de manera adecuada. De lo contrario no es libre. Existen
diversos esquemas de distribución que no son libres, y si bien podemos
distinguirlos en base a cuánto les falta para llegar a ser libres, nosotros los
consideramos contrarios a la ética a todos por igual.
En el resto de esta página tratamos algunos puntos que
aclaran qué es lo que hace que las libertades específicas sean adecuadas o no.
La libertad para distribuir (libertades 2 y 3) significa que
usted tiene la libertad para redistribuir copias con o sin modificaciones, ya
sea gratuitamente o cobrando una tarifa por la distribución, a cualquiera en
cualquier parte. Ser libre de hacer esto significa, entre otras cosas, que no tiene
que pedir ni pagar ningún permiso para hacerlo.
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 del usuario, no el
del programador. 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 el derecho de
imponerle sus propios objetivos a la otra persona.
La libertad de ejecutar el programa como se desea significa
que al usuario no se le prohíbe o no se le impide hacerlo. No tiene nada que
ver con el tipo de funcionalidades que el programa posee ni con el hecho de que
el programa sea o no sea útil para lo que se quiere hacer.
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 que 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
un 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 las libertades 1 y 3 (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.
Más allá del software
Los manuales de software deben ser libres por las mismas razones que el software debe ser libre, y porque de hecho los manuales son parte del software.
También tiene sentido aplicar los mismos argumentos a otros tipos de obras de uso práctico; es decir, obras que incorporen conocimiento útil, tal como publicaciones educativas y de referencia. La Wikipedia es el ejemplo más conocido.
Cualquier tipo de obra puede ser libre, y la definición de software libre se ha extendido a una definición de obras culturales libres aplicable a cualquier tipo de publicación.
¿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 ya se sabe que se refiere a la libertad y no al precio, evoca la idea de libertad. La palabra «abierto» nunca se refiere a la libertad.
Definición de software libre
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» es el software que respeta la libertad de
los usuarios y la comunidad. A grandes rasgos, significa que los usuarios
tienen la libertad de ejecutar, copiar, distribuir, estudiar, modificar y
mejorar el software. Es decir, 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». En inglés a veces decimos «libre
software», en lugar de «free software», para mostrar que no queremos decir que
es gratuito.
Promovemos estas libertades porque todos merecen tenerlas.
Con estas libertades, los usuarios (tanto individualmente como en forma
colectiva) controlan el programa y lo que este hace. Cuando los usuarios no
controlan el programa, decimos que dicho programa «no es libre», o que es
«privativo». Un programa que no es libre controla a los usuarios, y el
programador controla el programa, con lo cual el programa resulta ser un
instrumento de poder injusto.
Un programa es software libre si los usuarios tienen las
cuatro libertades esenciales:
- La libertad de ejecutar el programa como se desea, con 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 otorga a los usuarios todas
estas libertades de manera adecuada. De lo contrario no es libre. Existen
diversos esquemas de distribución que no son libres, y si bien podemos
distinguirlos en base a cuánto les falta para llegar a ser libres, nosotros los
consideramos contrarios a la ética a todos por igual.
En el resto de esta página tratamos algunos puntos que
aclaran qué es lo que hace que las libertades específicas sean adecuadas o no.
La libertad para distribuir (libertades 2 y 3) significa que
usted tiene la libertad para redistribuir copias con o sin modificaciones, ya
sea gratuitamente o cobrando una tarifa por la distribución, a cualquiera en
cualquier parte. Ser libre de hacer esto significa, entre otras cosas, que no tiene
que pedir ni pagar ningún permiso para hacerlo.
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 del usuario, no el
del programador. 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 el derecho de
imponerle sus propios objetivos a la otra persona.
La libertad de ejecutar el programa como se desea significa
que al usuario no se le prohíbe o no se le impide hacerlo. No tiene nada que
ver con el tipo de funcionalidades que el programa posee ni con el hecho de que
el programa sea o no sea útil para lo que se quiere hacer.
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 que 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
un 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 las libertades 1 y 3 (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.
Más allá del software
Los manuales de software deben ser libres por las mismas razones que el software debe ser libre, y porque de hecho los manuales son parte del software.
También tiene sentido aplicar los mismos argumentos a otros tipos de obras de uso práctico; es decir, obras que incorporen conocimiento útil, tal como publicaciones educativas y de referencia. La Wikipedia es el ejemplo más conocido.
Cualquier tipo de obra puede ser libre, y la definición de software libre se ha extendido a una definición de obras culturales libres aplicable a cualquier tipo de publicación.
¿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 ya se sabe que se refiere a la libertad y no al precio, evoca la idea de libertad. La palabra «abierto» nunca se refiere a la libertad.
No hay comentarios:
Publicar un comentario