Software Libre
Software Libre
Software Libre
Puede haber pagado dinero para obtener copias de un programa libre, o puede haber
obtenido copias sin costo. Pero con independencia de cómo obtuvo sus copias, siempre
tiene la libertad de copiar y modificar el software, incluso de vender copias.
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 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.
Un programa es software libre si los usuarios tienen las cuatro libertades esenciales:
La libertad de ejecutar el programa como se desee, con cualquier propósito (libertad 0).
La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que se
desee (libertad 1). El acceso al código fuente es una condición necesaria para ello.
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 cualquier circunstancia, estas libertades deben aplicarse a todo código que pensemos
utilizar hacer que otros utilicen. Tomemos por ejemplo un programa A que
automáticamente ejecuta un programa B para que realice alguna tarea. Si se tiene la
intención de distribuir A tal cual, esto implica que los usuarios necesitarán B, de modo
que es necesario considerar si tanto A como B son libres. No obstante, si se piensa
modificar A para que no haga uso de B, solo A debe ser libre; B no es relevante en este
caso.
«Software libre» no significa «no comercial». Por el contrario, un programa libre debe
estar disponible para el uso comercial, la programación comercial y la distribución
comercial. Esto es de fundamental importancia, sin ello el software libre no podría
alcanzar sus objetivos.
Queremos invitar a todo el mundo a utilizar el sistema GNU, incluidas las empresas y
sus trabajadores. Eso requiere que se permita el uso comercial. Esperamos que
programas sustitutivos libres reemplacen a programas privativos similares, pero no
podrán hacerlo si a las empresas se les prohíbe utilizarlos. Queremos que los productos
comerciales que contengan software incluyan el sistema GNU, y eso representaría
distribución comercial por un precio. Ya no es inusual el desarrollo comercial de
software libre, y ese software libre comercial es muy importante. El respaldo
profesional, remunerado, al software libre satisface una importante necesidad.
Un programa libre debe ofrecer las cuatro libertades a todo usuario potencial que
obtenga una copia del software y haya respetado las condiciones de la licencia libre que
cubre el software en cualquier distribución anterior del mismo. Privar de alguna de esas
libertades a ciertos usuarios, o exigirles un pago en dinero o en especie para ejercerlos,
equivale a no garantizarles las libertades en cuestión, lo que hace que el programa no
sea libre.
«Como se desee» incluye la opción «nada en absoluto», si es eso lo que desea. De modo
que no hay necesidad de añadir una «libertad de no ejecutar el programa».
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.
Código fuente se define como la forma preferida del programa para hacer cambios en él.
De tal modo que cualquier forma que el desarrollador modifique para desarrollar el
programa es el código fuente de esa versión del desarrollador.
Un caso especial de la libertad 1 es la libertad de borrar código del programa para que
su ejecución no tenga ningún efecto, o para que invoque algún otro programa. Así pues,
la libertad 1 incluye la «libertad de eliminar el programa».
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.
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.
Copyleft
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 sucintamente, 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. Véase
en categorías del software libre sin copyleft una descripción de la relación que existe
entre el «software libre», «software con copyleft» y otros tipos de software.
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 versión 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 las modificaciones. Como ya está
realizando otras modificaciones al programa, no le supondrá un problema hacer algunas
más.
Las reglas 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 regla 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 regla le sigue permitiendo optar por
distribuir o no distribuir su versión). Las reglas que obligan a suministrar el código
fuente a los usuarios de las versiones publicadas también son admisibles.
Normas de exportación
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.
Una licencia libre no puede exigir la conformidad con la licencia de un programa que no
es libre. Así, por ejemplo, si una licencia requiere que se cumpla con las licencias de
«todos los programas que se usan», en el caso de un usuario que ejecuta programas que
no son libres este requisito implicaría cumplir con las licencias de esos programas
privativos, lo cual hace que la licencia no sea libre.
Nos resulta imposible enumerar todas las formas en las que eso puede suceder. 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.
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, aun cuando no hubiéramos anticipado el problema en estos criterios. A
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.