¿Qué es el software no libre?
A excepción del software gratuito, todo el software no es gratuito. Algunos son de pago, como el Windows que ya conoces; otros son gratuitos, como la cuadrícula de tipos móviles que uso a diario para desarrollar aplicaciones web. .
El "software libre" respeta la libertad de sus usuarios y respeta a la comunidad en su conjunto. En términos generales, si un software es software libre, significa que los usuarios son libres de ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software. Por lo tanto, el "software libre" tiene que ver con la libertad, no con el precio, y la forma en que se fija el precio del software no afecta su clasificación como software libre. En inglés utilizamos Software Libre. Porque la palabra Libre significa a la vez libertad y libertad. Lo "Libre" en Software Libre se refiere a la libertad de "libertad de expresión", no al significado de "libre". Para evitar ambigüedades, cuando utilicemos el inglés, también utilizaremos el término "Libre Software" en francés o español para referirnos al software libre.
Apoyamos la libertad del usuario de software porque creemos firmemente que cada usuario la merece. Con estas libertades, los usuarios de software, tanto individual como colectivamente, tienen control sobre el software que ejecutan y deciden cómo les sirven esos programas. Si un programa le quita este control al usuario, lo llamamos programa "no libre" o "propietario". A diferencia del software libre, donde el software no libre controla a sus usuarios, los desarrolladores del software controlan el software. Esto convierte al software no libre en cómplice de la injusticia.
Cuatro libertades básicas
Si un software es software libre, entonces debe proporcionar a los usuarios las siguientes cuatro libertades básicas: [1]
Libertad 0: Independientemente del propósito del usuario, el software debe poder ejecutarse libremente según los deseos del usuario.
Libertad 1: los usuarios pueden aprender y modificar libremente el software para ayudarlos a completar sus propios cálculos. Como requisito previo, los usuarios deben tener acceso al código fuente del software.
Libertad 2: Los usuarios pueden distribuir libremente copias del software para poder ayudar a otros.
Libertad 3: Los usuarios pueden distribuir libremente copias modificadas del software. De esta forma, los usuarios pueden compartir su software mejorado con toda la comunidad para que otros puedan beneficiarse de él. Como requisito previo, los usuarios deben tener acceso al código fuente del software.
Un software puede considerarse software libre sólo si proporciona todas las libertades anteriores a sus usuarios. De lo contrario, es antiliberal. Aunque también podemos comparar el grado de libertad que el software no libre ofrece a sus usuarios, creemos que, en cualquier caso, el software no libre es inherentemente poco ético.
En cualquier caso, un programa puede considerarse software libre sólo si el código utilizado por todos los usuarios satisface estas cuatro libertades básicas. Por ejemplo, hay dos programas. Cuando se ejecuta el programa A, se llamará automáticamente al programa B. Liberar el programa A significa que los usuarios deben usar el programa B, por lo que tanto el programa A como el B deben ser gratuitos para que el programa A lo sea. Si el programa A se modifica para que ya no dependa del programa B, entonces el programa A sólo podrá publicarse como software libre.
"software libre" no es igual a "software no comercial". Un software libre debe permitir usuarios comerciales, desarrollo comercial y distribución comercial. El desarrollo comercial de software libre ha sido algo común durante mucho tiempo, y dicho software libre es muy importante. Es posible que deba pagar para comprar una copia del software gratuito o puede obtenerlo gratis. Pero no importa cómo obtenga su copia, como usuario, sus cuatro libertades están garantizadas para ejecutar, modificar, distribuir e incluso vender el software gratuito que obtenga.
Este artículo se centra en las circunstancias bajo las cuales se dice que el software proporciona o quita un cierto grado de libertad.
Libertad 0: Independientemente del propósito del usuario, el software debe ser libre para ejecutarse según los deseos del usuario.
"Libertad para ejecutar el programa" (libertad 0) significa que cualquier persona u organización puede ejecutar el programa en cualquier sistema informático (compatible) para cualquier propósito, y no hay obligación de notificar al desarrollador del software o cualquier individuo o grupo. Aquí, el objetivo es el propósito del usuario, no el del desarrollador. Si es usuario de este programa, puede ejecutarlo. De la misma manera, si entrega su programa a otra persona, esa persona se convierte en usuario del software y puede ejecutarlo para cualquier propósito propio.
Sin embargo, usted, como editor de software, no puede imponer sus propios propósitos a sus usuarios.
"Libertad para ejecutar un programa" significa que nadie puede impedir que el usuario haga nada con el programa. No dicta qué características debe proporcionar el programa, ni significa que el software deba satisfacer todas las necesidades del usuario.
Libertad para estudiar y cambiar el código fuente del programa
Libertad 1 y 3 (libertad para modificar el software; libertad para distribuir software modificado) significan que el usuario debe tener acceso al código fuente del programa. código fuente. Por tanto, el acceso al código fuente es una condición necesaria para el software libre. El "código fuente" ofuscado no puede contarse como el código fuente que se analiza aquí.
Libertad 1 (libertad para ejecutar un programa) incluye la libertad de ejecutar su propio programa modificado en lugar del programa original. Si el programa se ejecuta en un dispositivo que puede ejecutar software modificado por otros pero no software modificado por usted, este método se llama "tivoización" o "bloqueo" o (en la terminología de su inventor) "seguridad" Inicio" - Grado de libertad 1 se considerará insatisfactorio. Los programas contenidos en el dispositivo tampoco se considerarán software libre, incluso si su código fuente es gratuito.
Si desea modificar un programa, un método muy importante es utilizar funciones o módulos ya preparados de otros programas. Si la licencia de un programa le prohíbe usar código de otro software con licencia razonable para modificar el programa (por ejemplo, si la licencia de un programa requiere que use solo código del cual posee los derechos de autor), entonces la licencia del programa no se considerará una licencia de software libre. .
Se pueden realizar modificaciones al software para diversos fines. Si una modificación particular es buena o mala es una cuestión muy subjetiva. Una licencia de software libre no puede imponer ninguna restricción a los usuarios que modifican el software. Por ejemplo, no puede prohibir a los usuarios realizar cambios sólo porque alguien siente que una modificación no es lo suficientemente buena.
Libertad 2: Los usuarios pueden distribuir libremente copias del software.
Distribución gratuita (libertad 2 y 3) significa que usted (es decir, el usuario del software) puede redistribuir la versión original o modificada del software a otros usuarios. Puedes publicar gratis o cobrar una tarifa. El software se puede distribuir a cualquier persona y en cualquier lugar. La llamada "libertad" significa que no necesita obtener el permiso de nadie por adelantado ni pagar tarifas adicionales por estas acciones (publicar la versión original o modificada del software para otros usuarios; u otras acciones mencionadas en el grado de libertad). ).
Los usuarios son libres de ejecutar el programa o realizar modificaciones en el mismo. Si simplemente modifica o ejecuta el programa de forma privada, no tiene la obligación de revelar ese comportamiento a nadie. Si publica su programa modificado, no está obligado a informar a la persona u organizaciones especificadas de la modificación.
Freedom 3 permite a los usuarios distribuir libremente versiones modificadas del software. El software libre no requiere necesariamente que las versiones modificadas sigan utilizando una licencia de software libre. En otras palabras, una licencia de software libre no tiene por qué ser una licencia copyleft. Sin embargo, si una licencia de software requiere que el software modificado se publique como software no libre, entonces la licencia no se considera una licencia de software libre.
"Distribuir libremente copias del software" significa que a los usuarios se les debe permitir distribuir libremente la versión original del software o sus propias versiones modificadas. Independientemente de esa versión, los usuarios pueden optar por publicar el archivo binario o ejecutable del programa, o pueden publicar el código fuente del programa. (La distribución de un programa como un archivo ejecutable permite una fácil instalación, lo cual también es crucial para promover el software libre). Para algunos programas, puede que no sea posible o necesario distribuir archivos binarios o ejecutables (es posible que algunas implementaciones de lenguajes de programación no sean compatibles ( por ejemplo, algunos lenguajes de secuencias de comandos), pero el usuario debe tener derechos para generar archivos binarios o ejecutables de cualquier forma y para distribuir el software generado.
Copyleft
Por supuesto, siempre que no se violen estas libertades fundamentales, las licencias de software libre también pueden agregar algunos requisitos adicionales para restringir los pasos de la distribución del software. Por ejemplo, el copyleft es una restricción común. En resumen, el copyleft requiere que las versiones modificadas del software también se publiquen como software libre. Esta restricción no entra en conflicto con las libertades fundamentales. Al contrario, el copyleft puede utilizarse para proteger la libertad de los usuarios de software.
En el proyecto GNU, utilizamos la regla copyleft para proteger las cuatro libertades de los usuarios de software. Creemos que el copyleft es la mejor opción. Sin embargo, el software libre sin copyleft también es ético. Consulte Clasificaciones de software libre para obtener más información sobre "software libre", "software copyleft" y otras clasificaciones y sus relaciones.
Reglas detalladas para el empaquetado y la distribución
El software libre puede imponer ciertas restricciones sobre cómo se empaquetan o distribuyen las versiones modificadas. Estas restricciones no deben entrar en conflicto con las cuatro libertades mencionadas anteriormente y no deben restringir directa o indirectamente al usuario la ejecución, modificación o distribución del software. Por ejemplo, algunos software gratuitos pueden exigir que las versiones modificadas no se publiquen utilizando el nombre original del software; no se puede utilizar la marca comercial original del software, se debe indicar quién modificó el software, etc. Estas restricciones son aceptables siempre que no impidan significativamente a los usuarios redistribuir versiones modificadas del software. Ahora que el software ha sido modificado, probablemente no le importe realizar más modificaciones para abordar estas pequeñas restricciones adicionales.
Del mismo modo, el software gratuito también puede requerir que los usuarios "si se publica de esta manera, los usuarios también deben poder obtenerlo de otro canal". Por ejemplo, un programa de software libre puede exigir que, si se publica una versión modificada, el autor original también reciba una copia modificada. (Nota: la premisa aquí es que el software debe publicarse. Los usuarios pueden modificar el software de forma privada sin publicarlo, por lo que no es necesario enviar la versión modificada al desarrollador). También existen algunas reglas que no entrarán en conflicto con los principios del software libre, como el software Puede exigir que la versión modificada se publique con el código correspondiente del software original.
Hay algunos casos especiales que requieren discusión adicional: Si una licencia de software requiere que el software modificado modifique el nombre del archivo ejecutable, entonces se debe garantizar que el entorno en el que se ejecuta el software permita la modificación del nombre del archivo o tiene algún tipo de mecanismo de alias. De lo contrario este requisito sería considerado contrario a los principios del software libre. Porque el archivo ejecutable del software puede ser llamado por otro software de terceros y el nombre del archivo es la base para dichas llamadas. El mecanismo de alias puede garantizar que los usuarios puedan reemplazar sin problemas el software original con una versión modificada bajo la premisa de cumplir con este requisito y no afectará los programas de terceros que dependen del software.
Regulaciones de exportación
Algunas restricciones gubernamentales a la exportación o sanciones comerciales pueden afectar la libertad de los usuarios de software para distribuir software internacionalmente. Puede que los desarrolladores de software no tengan el poder de cambiar estas realidades, pero podemos resistir la autocensura. Los desarrolladores de software libre no pueden exigir a los usuarios que cumplan con leyes específicas en las licencias de software, porque los desarrolladores no pueden garantizar que las disposiciones legales estén disponibles en el país o región donde se encuentra el usuario. De esta manera, las licencias de software libre no imponen a los usuarios restricciones adicionales más allá de la ley que violen las libertades básicas.
Por supuesto, el software libre sólo puede mencionar ciertas regulaciones de exportación o leyes relacionadas en la licencia sin obligar a los usuarios a cumplirlas. Esto solo proporciona información al usuario sin restringirlo. Si una determinada ley de restricción de exportaciones es universal y se aplica a todos los usuarios en la región donde se encuentra el usuario, entonces exigir a los usuarios que cumplan con las regulaciones de la licencia no se considerará una restricción de la libertad del usuario. Sin embargo, existe un problema potencial: una vez que se cambian las leyes de restricción de exportaciones en la región de un usuario, la licencia ya no se considera gratuita.
Consideraciones legales
Para implementar estos grados de libertad, se debe garantizar que si el usuario cumple con los requisitos de la licencia, entonces estos grados de libertad deben ser permanentes e inmutables. Si el desarrollador del software tiene derecho a modificar la licencia del software publicado a voluntad, entonces el software no se considera software libre.
Las licencias de software libre no deben exigir a los usuarios el cumplimiento de licencias adicionales para software no libre. Por ejemplo, una licencia de software libre puede no exigir que los usuarios cumplan con "la licencia para todo el software utilizado". Dado que los usuarios pueden utilizar software no libre, y exigir a los usuarios que cumplan con las licencias de todo el software que utilizan significa cumplir con las licencias de software no libre, este requisito se consideraría no libre.
Una licencia de software libre puede especificar las leyes de la región en la que están sujetas las demandas relacionadas con el software, o donde se deben presentar demandas.
Licencias basadas en contratos
La mayoría de las licencias de software libre están basadas en derechos de autor. Según los derechos de autor, las restricciones que se pueden imponer suelen ser relativamente limitadas.
Si una licencia está basada en derechos de autor y cumple con los principios de software libre descritos anteriormente, es probable que se la considere una licencia de software libre. Por supuesto, hemos visto algunas excepciones, pero aún son raras. Sin embargo, algunas licencias de software libre se basan en contratos. El contrato puede tener requisitos adicionales. Esto significa que las licencias basadas en contratos pueden violar inadvertidamente los principios del software libre de muchas maneras, provocando que el software no se considere software libre.
Desafortunadamente, no podemos enumerar todas las contingencias posibles. Si una licencia basada en contrato impone restricciones adicionales a los usuarios que no estarían incluidas en una licencia basada en derechos de autor, entonces debemos reconsiderar si puede considerarse una licencia gratuita. En muchos casos, estas licencias no son gratuitas.
Utilice las palabras adecuadas cuando hable de software libre
Cuando hable de software libre, trate de evitar el uso de palabras como "regalo" o "gratis". Porque le recuerda a la gente el precio, no la libertad. Algunas palabras comunes, como "piratería", contienen connotaciones emocionales positivas o negativas, y los valores que encarnan estas emociones no nos resultan aceptables. Consulte la lista de palabras ambiguas para obtener una lista de palabras que no recomendamos y discusiones relacionadas. También tenemos una lista de traducciones recomendadas del término "software libre" en diferentes idiomas.
Cómo interpretamos estos estándares
Finalmente, tenga en cuenta que, en la práctica, las diversas definiciones de software libre mencionadas en este artículo requieren una cuidadosa consideración antes de interpretarlas. Al decidir si una licencia de software es software libre, comprobaremos cuidadosamente si la connotación y el lenguaje de la licencia cumplen con los principios involucrados en este artículo y, por lo tanto, determinaremos si la licencia es una licencia de software libre. Si una licencia contiene restricciones irrazonables, incluso si estas restricciones no se mencionan en este artículo, nos negaremos a reconocerla como gratuita. A veces, una licencia puede provocar una gran discusión e incluso requerir la participación de un abogado profesional. En este momento, a menudo necesitamos tomar decisiones cuidadosas antes de poder sacar una conclusión. Una vez que lleguemos a una conclusión sobre dicha licencia, probablemente actualizaremos este artículo para incluir factores que no se consideraron anteriormente.
Obtén ayuda con licencias gratuitas
Si quieres saber qué licencias son licencias de software libre, consulta nuestra lista de licencias. Si la licencia que le interesa no se menciona en esta lista, también puede enviarnos un correo electrónico para consultarla por separado. Nuestro correo electrónico es:
Si planea redactar una nueva licencia de software libre, no envíe todavía un correo electrónico a la dirección de correo electrónico anterior. Esperamos que considere ponerse en contacto primero con la Free Software Foundation. Demasiadas licencias de software gratuito dificultarán la elección de los usuarios. Es posible que podamos ayudarlo a encontrar una licencia existente de acuerdo con sus requisitos, en lugar de tener que redactar una nueva licencia usted mismo.
Si realmente necesita crear una nueva licencia usted mismo, intentaremos ayudarle. Con nuestra ayuda, mantendremos su licencia gratuita y le ayudaremos a evitar algunos problemas comunes.
Más allá del software
Basado en el mismo principio, el manual de un software libre también debe ser libre, porque el propio manual también debe considerarse parte del software.
Del mismo modo, el mismo principio se aplica a otras obras que tienen una función práctica: obras que contienen conocimientos prácticos, como materiales educativos o materiales de referencia. Wikipedia es un ejemplo bien conocido.
Cualquier obra puede ser libre, y la definición de software libre también puede extenderse a otras obras. Para obtener material sobre esto, consulte Obras de cultura libre.
¿Código abierto?
Ahora existe otro grupo de personas que utilizan el término “código abierto” para expresar un concepto similar al “software libre”, pero no exactamente igual. Preferimos utilizar el término "software libre". Porque una vez que ves la palabra libertad, entiendes lo que significa. Pero "abierto" no significa libertad.