La definición de software libre, escrita por Richard Stallman y publicada por la Free Software Foundation (FSF), define el software libre como un 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 "gratuito". [1] La primera publicación conocida de la definición fue en la edición de febrero de 1986 [2] de la publicación ahora descontinuada del Boletín de GNU de la FSF. La fuente canónica del documento se encuentra en la sección de filosofía del sitio web del Proyecto GNU . A partir de 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 a un precio, sino a la libertad. En primer lugar, la libertad de copiar un programa y redistribuirlo a tus vecinos, para que puedan usarlo igual que tú. En segundo lugar, la libertad de modificar un programa, para que puedas controlarlo en lugar de que él te controle a ti; para ello, el código fuente debe estar disponible para ti.
En 1996, cuando se lanzó el sitio web gnu.org, se definió "software libre" haciendo referencia 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 parte de la libertad de cambiar el programa). [4] [5] Stallman más tarde evitó la palabra "niveles", diciendo que todas las libertades son necesarias, por lo que es engañoso pensar en términos de niveles [ cita requerida ] .
Finalmente, se añadió otra libertad, la de 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 estar antes que las demás, por lo que se añadió como “libertad cero”. [6] [7]
La definición moderna define el software libre según si el receptor 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 modificarlo para que realice los cálculos que usted desee (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 vecino (libertad 2).
- La libertad de distribuir copias de sus versiones modificadas a otros (libertad 3). Al hacer esto, puede darle a toda la comunidad la oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición previa para esto.
Las libertades 1 y 3 requieren que el código fuente esté disponible porque estudiar y modificar software sin su código fuente es altamente impráctico.
En julio de 1997, Bruce Perens publicó las Directrices de software libre de Debian . [9] Una definición basada en las DFSG también fue utilizada por la Iniciativa de Código Abierto (OSI) bajo el nombre de " La Definición de Código Abierto ".
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. Al tiempo que destaca estas diferencias filosóficas, la Free Software Foundation comenta:
El término software de código abierto es utilizado por algunas personas para referirse más o menos a la misma categoría que el software libre. No se trata exactamente de 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 para el Software Libre [10]
La razón por la que están numeradas 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 la libertad de ejecutar el programa necesitaba ser mencionada explícitamente. Era claramente más básica que las otras tres, por lo que debería precederlas. En lugar de renumerar las otras, la pusimos como libertad 0.
En un principio, yo [Matt Mullenweg] pensé que Stallman había empezado a contar con cero en lugar de uno porque era un friki. Lo es, pero esa no era la razón. Las libertades uno, dos y tres llegaron primero, pero después quiso añadir algo que las sustituyera a todas. Así que: libertad cero. La frikada es un feliz accidente.