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.
- 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.
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.
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.
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 del copyright
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 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.
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 se 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.
En el proyecto GNU usamos el copyleft para proteger legalmente las cuatro
libertades para todos. Creemos que existen razones importantes por las que
es mejor usar el copyleft. De todos
modos, el
software libre sin copyleft también es ético.
«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; el 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.
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.
SITIOS DE INTERÉS REFERENCIALES PARA AMPLIAR ESTE TEMA:
CATÁLOGO DE SOFTWARE LIBRE





No hay comentarios:
Publicar un comentario