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 en lugar
de «free software» decimos «libre software», empleando ese adjetivo
francés o español, derivado de «libertad», para mostrar que no queremos
decir que el software es gratuito.
Las cuatro libertades esenciales
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.
La libertad de ejecutar el programa como se desee
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 estudiar el código fuente y modificarlo
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.
La libertad 1 incluye la libertad de usar su versión modificada en lugar
de la original. Si el programa se entrega unido a un producto diseñado
para ejecutar versiones modificadas por terceros, pero rechaza ejecutar
las suyas —práctica conocida como «tivoización» o «bloqueo», o (según la
terminología perversa de quienes lo practican) «arranque seguro»—, la
libertad 1 se convierte en una vana simulación más que una realidad
práctica. Estos binarios no son software libre, aun cuando se hayan
compilado a partir de un código fuente libre.
La libertad de redistribuir copias si así lo desea: requisitos básicos
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 3 incluye la libertad de publicar sus versiones modificadas
como software libre. Una licencia libre también puede autorizar otras
formas de publicación; en otras palabras, no tiene que ser una licencia
con copyleft. No obstante, una licencia que requiera que las versiones
modificadas no sean libres, no se puede considerar libre.
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.

No hay comentarios:
Publicar un comentario