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.
«Software libre» es el software que respeta la libertad de los usuarios y la comunidad. En grandes líneas, significa que los usuarios tienen la libertad para 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».
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 para 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.
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 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 una descripción de la relación que existe entre el «software libre», «software con copyleft» y otros tipos de software.
«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.
No obstante, 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 version 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.
Un problema particular se presenta cuando la licencia requiere que a un programa se le cambie el nombre con el cual será invocado por otros programas. De hecho este requisito dificulta la publicación de la versión modificada para reemplazar al original cuando sea invocado por esos otros programas. Este tipo de requisitos es aceptable únicamente cuando exista un instrumento adecuado para la asignación de alias que permita especificar el nombre del programa original como un alias de la versión modificada.
La mera mención de la existencia de normas de exportación, sin ponerlas como condición de la licencia misma, es aceptable ya que esto no restringe a los usuarios. Si una norma de exportación es de hecho trivial para el software libre, ponerla como condición no constituye un problema real; sin embargo, es un problema potencial ya que un futuro cambio en la ley de exportación podría hacer que el requisito dejara de ser trivial y que el software dejara de ser 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.
Es aceptable que una licencia especifique la jurisdicción de competencia o la sede para la resolución de conflictos, o ambas cosas.
La mayoría de las licencias de software libre están basadas en el copyright, y existen límites en los tipos de requisitos que se pueden imponer a través del copyright. Si una licencia basada en el copyright respeta la libertad en las formas antes mencionadas, es poco probable que surja otro tipo de problema que no hayamos anticipado (a pesar de que esto ocurre ocasionalmente). Sin embargo, algunas licencias de software libre están basadas en contratos, y los contratos pueden imponer un rango mucho más grande de restricciones. Esto significa que existen muchas maneras posibles de que tal licencia sea inaceptablemente restrictiva y que 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.
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. Véase un análisis sobre el uso de esos términos en nuestro artículo palabras y frases confusas que vale la pena evitar.
Por último, 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.
Si está interesado en saber si una licencia específica está calificada como licencia de software libre.
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.
No hay comentarios:
Publicar un comentario