La Definición de Software Libre escrita por Richard Stallman y publicada por la Free Software Foundation (FSF), define el software libre como aquel software que garantiza que los usuarios tengan libertad para usar, estudiar, compartir y modificar ese software. El término "libre" se utiliza en el sentido de "libertad de expresión", no de "gratuidad". [1] La publicación más antigua conocida de la definición fue en la edición de febrero de 1986 [2] del ahora-
continuó la publicación del Boletín de GNU por parte de la FSF. La fuente canónica del documento se encuentra en la sección de filosofía del sitio web del Proyecto GNU . En abril de 2008 [actualizar], se publica en 39 idiomas. [3] La FSF publica una lista de licencias que cumplen con esta definición .
La definición publicada por la FSF en febrero de 1986 tenía dos puntos: [2]
La palabra "gratis" en nuestro nombre no se refiere al precio; se refiere a la libertad. Primero, la libertad de copiar un programa y redistribuirlo a tus vecinos, para que puedan usarlo tan bien como tú. En segundo lugar, la libertad de cambiar un programa, de modo que usted pueda controlarlo en lugar de que él le controle a usted; para ello, el código fuente debe estar disponible para usted.
En 1996, cuando se lanzó el sitio web gnu.org, el "software libre" se definió refiriéndose a "tres niveles de libertad" añadiendo una mención explícita a la libertad de estudiar el software (que podría leerse en la definición de dos puntos como siendo parte de la libertad de cambiar de programa). [4] [5] Stallman luego evitó la palabra "niveles", diciendo que todas las libertades son necesarias, por lo que es engañoso pensar en términos de niveles.
Finalmente, se agregó otra libertad, decir explícitamente que los usuarios deberían poder ejecutar el programa. Las libertades existentes ya estaban numeradas del uno al tres, pero esta libertad debería preceder a las demás, por lo que se añadió como "libertad cero". [6] [7]
La definición moderna define el software libre en función de si el destinatario tiene o no las siguientes cuatro libertades: [8]
- La libertad de ejecutar el programa como desees, para cualquier propósito (libertad 0).
- La libertad de estudiar cómo funciona el programa y cambiarlo para que funcione como desees (libertad 1). El acceso al código fuente es una condición previa para ello.
- La libertad de redistribuir copias para poder ayudar a tu prójimo (libertad 2).
- La libertad de distribuir copias de sus versiones modificadas a otros (libertad 3). Al hacer esto, podrá brindarle a toda la comunidad la oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición previa para ello.
Las libertades 1 y 3 requieren que el código fuente esté disponible porque estudiar y modificar software sin su código fuente es muy poco práctico.
En julio de 1997, Bruce Perens publicó las Directrices para el software libre de Debian . [9] La Open Source Initiative (OSI) también utilizó una definición basada en el DFSG bajo el nombre " The Open Source Definición ".
A pesar de las diferencias filosóficas entre el movimiento del software libre y el movimiento del software de código abierto , las definiciones oficiales de software libre de la FSF y de software de código abierto de la OSI se refieren básicamente a las mismas licencias de software, con algunas excepciones menores. Si bien enfatiza estas diferencias filosóficas, la Free Software Foundation comenta:
Algunas personas utilizan el término software de "código abierto" para referirse más o menos a la misma categoría que el software libre. No es exactamente la misma clase de software: aceptan algunas licencias que consideramos demasiado restrictivas y hay licencias de software libre que no han aceptado. Sin embargo, las diferencias en la extensión de la categoría son pequeñas: casi todo el software libre es de código abierto y casi todo el software de código abierto es gratuito.
— Fundación de Software Libre [10]
La razón por la que están numerados 0, 1, 2 y 3 es histórica.
Alrededor de 1990 había tres libertades, numeradas 1, 2 y 3. Luego nos dimos cuenta de que era necesario mencionar explícitamente la libertad de ejecutar el programa.
Era claramente más básico que los otros tres, por lo que debería precederlos adecuadamente.
En lugar de volver a numerar los demás, lo convertimos en libertad 0.
Yo [Matt Mullenweg] originalmente pensé que Stallman comenzó a contar con cero en lugar de uno porque es un geek.
Lo es, pero esa no fue la razón.
Las libertades uno, dos y tres fueron primero, pero luego quiso agregar algo para reemplazarlas a todas.
Entonces: libertad cero.
El geek es un feliz accidente.