Lo primero es definir que es Software Libre. Debe tenerse claro que «software libre» es una cuestión de libertad, no de precio; debemos pensar en la acepción de libre como en «libertad de expresión» y no como en «barra libre de cerveza». Con software libre nos referimos a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Nos referimos especialmente a cuatro clases de libertad para los usuarios de software:
- Libertad 0: la libertad para ejecutar el programa sea cual sea nuestro propósito.
- Libertad 1: la libertad para estudiar el funcionamiento del programa y adaptarlo a tus necesidades. El acceso al código fuente es condición indispensable para esto.
- Libertad 2: la libertad para redistribuir copias y ayudar así a tu vecino.
- Libertad 3: la libertad para mejorar el programa y luego publicarlo para el bien de toda la comunidad. El acceso al código fuente es condición indispensable para esto.
Software libre es cualquier programa cuyos usuarios gocen de estas libertades. De modo que deberíasser libre de redistribuir copias con o sin modificaciones, de forma gratuita o cobrando por su distribución, a cualquiera y en cualquier lugar Gozar de esta libertad significa, entre otras cosas, no tener que pedir permiso ni pagar para ello.
Asimismo, deberías ser libre para introducir modificaciones y utilizarlas de forma privada, ya sea en tu trabajo o en tu tiempo libre, sin siquiera tener que mencionar su existencia. Si decidieras publicar estos cambios, no deberías estar obligado a notificárselo a ninguna persona ni de ninguna forma en particular.
La libertad para utilizar un programa significa que cualquier individuo u organización podrán ejecutarlo desde cualquier sistema informático, con cualquier fin y sin la obligación de comunicárselo subsiguientemente ni al desarrollador ni a ninguna entidad en concreto.
La libertad para redistribuir copias supone incluir las formas binarias o ejecutables del programa y el código fuente tanto de las versiones modificadas como de las originales; la distribución de programas en formato ejecutable es necesaria para su adecuada instalación en sistemas operativos libres. No pasa nada si no se puede producir una forma ejecutable o binaria (dado que no todos los lenguajes pueden soportarlo), pero todos debemos tener la libertad para redistribuir tales formas si se encuentra el modo de hacerlo.
Para que las libertades 2 y 4 (la libertad para hacer cambios y para publicar las versiones mejoradas) adquieran significado, debemos disponer del código fuente del programa. Por consiguiente, la accesibilidad del código fuente es una condición necesaria para el software libre.
Para materializar estas libertades, deberán ser irrevocables siempre que no cometamos ningún error; si el desarrollador del software pudiera revocar la licencia sin motivo, ese software dejaría de ser libre. Sin embargo, ciertas normas sobre la distribución de software libre son aceptadas siempre que no planteen un conflicto con las libertades centrales. Por ejemplo el copyleft, que es similar al copyrigth pero haciendo lo contrario, a grosso modo es la norma que establece que, al redistribuir el programa, no pueden añadirse restricciones que nieguen a los demás sus libertades centrales. Esta norma no viola dichas libertades, sino que las protege de aquellos que partiendo de software libre, decidieran crear software propietario.
De modo que puedes pagar o no por obtener copias de software libre, pero independientemente de la manera en que las obtengas, siempre tendrás libertad para copiar, modificar e incluso vender estas copias. El software libre no significa que sea «no comercial». Cualquier programa libre estará disponible para su uso, desarrollo y distribución comercial. El desarrollo comercial del software libre ha dejado de ser excepcional y de hecho ese software libre comercial es muy importante.
Las normas sobre el empaquetamiento de una versión modificada son perfectamente aceptables siempre que no restrinjan efectivamente tu libertad para publicar versiones modificadas. Por la misma razón, serán igualmente aceptables aquellas normas que establezcan que «si distribuyo el programa de esta forma, deberás distribuirlo de la misma manera». Se admite también la posibilidad de que una licencia exija enviar una copia modificada y distribuida de un programa a su desarrollador original. Por ejemplo para GNU, se utiliza el «copyleft» para proteger legalmente estas libertades. Pero también existe software libre sin copyleft. Es muy útil recurrir al copyleft, pero si un programa de software libre carece de él, todavía existirá la opción de seguir utilizándolo con tal.
Las normas sobre el empaquetamiento de una versión modificada son perfectamente aceptables siempre que no restrinjan efectivamente tu libertad para publicar versiones modificadas. Por la misma razón, serán igualmente aceptables aquellas normas que establezcan que «si distribuyo el programa de esta forma, deberás distribuirlo de la misma manera». Se admite también la posibilidad de que una licencia exija enviar una copia modificada y distribuida de un programa a su desarrollador original. Por ejemplo para GNU, se utiliza el «copyleft» para proteger legalmente estas libertades. Pero también existe software libre sin copyleft. Es muy útil recurrir al copyleft, pero si un programa de software libre carece de él, todavía existirá la opción de seguir utilizándolo con tal.
A veces la normativa gubernamental de control de las exportaciones y las sanciones comerciales pueden limitar la libertad para distribuir copias a nivel internacional. Los desarrolladores de software no tenemos el poder para eliminar o invalidar estas restricciones, pero lo que sí podemos y debemos hacer es negarse a imponer estas condiciones de uso al programa. De este modo, las restricciones no afectarán a las actividades y a los individuos fuera de la jurisdicción de estos gobiernos.
Cuando hablamos de software libre, es preferible evitar expresiones como «regalar» o «gratis» porque entonces caeremos en el error de interpretarlo como una mera cuestión de precio y no de libertad. Términos de uso frecuente como el de «piratería» encarnan opiniones que no encajan y ni son compartidas por los promotores del software libre.
Por último, señalar que los criterios descritos para definir el software libre requieren una profunda reflexión antes de interpretarlos. Para decidir si una licencia de software específica puede calificarse de licencia de software libre, se basan en dichos criterios y así determinan si se ajusta al espíritu y a la terminología precisa. Si una licencia incluye restricciones desmedidas, es rechazada aun cuando no estuvieran previstas esas cuestiones al establecer los criterios actuales. Se llega incluso en ocasiones a debatir el tema con un abogado, ya que ciertas condiciones en una licencia pueden plantear un problema que requiere un análisis más exhaustivo, antes de decidir si dichas condiciones son aceptables. Una vez que llegan a una solución sobre un problema nuevo, se actualizan los criterios para hacer más fácil la consideración de que licencias están cualificadas y cuáles no.
En definitiva el Software Libre propone una visión más altruista y colaboradora, de los programadores hacia el resto de programadores y sobre todo de los usuarios. Y me parece una gran idea.
Free Software Foundation