Qué es el software libre
La expresión software libre utiliza el término libre con el sentido en el que se utiliza en expresiones como libre albedrío o libre expresión y no con el que se utiliza en locuciones como barra libre. Es decir, el término libre en software libre se refiere a la libertad en el modo de utilización del software, no al hecho que que sea o pueda ser gratuito.
A menudo se genera una confusión cuando se habla en inglés de software libre o free software, ya que el término free se suele utilizar como sinónimo de gratis. Además, la confusión se ve alimentada por el hecho de que la mayor parte de los programas de software libre pueden ser utilizados de manera gratuita.
El software libre, para ser considerado como tal, debe cumplir cuatro condiciones conocidas como las cuatro libertades:
- Libertad 0 ó libertad de uso: El programa ha de poder ser utilizado con cualquier propósito.
- Libertad 1 ó libertad de estudio: Ha de ser posible estudiar en detalle el funcionamiento del programa, incluyendo la posibilidad de modificarlo si se tienen los conocimientos necesarios para hacerlo, para adaptarlo a las propias necesidades.
- Libertad 2 ó libertad de distribución: Ha de ser posible para la persona que lo utiliza distribuir copias del programa.
- Libertad 3 ó libertad de mejora: Ha de ser posible para la la persona que lo utiliza hacer públicas las modificaciones o mejoras que haya hecho en el programa y distribuir copias de su versión modificada, para que toda la comunidad pueda beneficiarse de ellas.
Las libertades 1 y 3 implican la posibilidad de acceso al código fuente del programa para examinarlo, modificarlo y mejorarlo si así se desea, por lo que el software libre es también software de código abierto, software cuyo código de programación está disponible y puede ser revisado por los usuarios. Es decir, todo el software libre es software de código abierto, pero no todo el software de código abierto es software libre.
Todo el software libre es software de código abierto, pero no todo el software de código abierto es software libre.
De dónde viene la idea del software libre
En los primeros años de la informática, entre la década de 1950 y en inicio de la de 1970, el software que se utilizaba en los ordenadores era considerado de dominio público. Sin embargo, en la década de 1970 los fabricantes de equipos informáticos vieron que a partir de la elaboración y distribución del software podían iniciar una línea de negocio importante y empezaron a imponer limitaciones a la utilización del código, a su revisión por parte de los usuarios y a su distribución. En 1980 empezó a aplicarse sobre el software la ley del copyright, que establece que, durante un tiempo determinado a partir de su fecha de creación o publicación inicial, hay un propietario de los derechos de publicación, copia, distribución y adaptación de una obra y es necesaria la autorización expresa del propietario para llevar a cabo cualquiera de esas acciones.
Richard M. Stallman y el Proyecto GNU
Como respuesta a esa situación, Richard M. Stallman, que entonces trabajaba en el Laboratorio de Inteligencia Artificial del MIT, el Instituto de tecnología de Massachusetts, anunció en 1983 el inicio del denominado Proyecto GNU para el desarrollo de un sistema operativo que no prohibiese la compartición de código de programación que pudiese ser útil en otros proyectos. El desarrollo de ese sistema operativo se inició en 1984. Poco después, en 1985, Richard M. Stallman fundó la Free Software Foundation, publicó el Manifiesto GNU y definió el concepto de copyleft en oposición al copyright. Si la ley del copyright establece que hay un propietario de los derechos de una obra que debe autorizar su utilización, el copyleft declara que cualquiera puede utilizar y distribuir la obra y elaborar obras derivadas siempre y cuando se mantengan las propiedades de copyleft tanto en las copias como en las obras derivadas.
El copyleft, aplicado al software, implica que cualquiera que lo redistribuya, con o sin cambios, transmita a las otras personas que lo utilicen la libertad de poder seguir haciendo más copias y cambios.
El 25 de febrero de 1989, dando forma legal a la idea de copyleft, la Free Software Foundation publicó la primera versión de la GNU General Public License.
Dentro del Proyecto GNU, se fueron desarrollando distintos componentes del sistema operativo, como el intérprete de comandos Bash, el compilador de C o el compresor de ficheros gzip que se podían ejecutar sobre sistemas operativos Unix a la espera de disponer de un núcleo propio.
Linus Torvalds y el núcleo Linux
En 1991, un estudiante de la Universidad de Helsinki llamado Linus Torvalds inició el proyecto de programación del núcleo de un sistema operativo al que llamó Linux y publicó inicialmente con una licencia redactada por él mismo que limitaba la utilización del software con fines comerciales. Linus Torvalds se dio cuenta de que utilizando únicamente el núcleo del sistema operativo no se podía hacer gran cosa y necesitaba componentes adicionales del sistema operativo, así que lo combinó con componentes de GNU y en 1992 decidió que las siguientes versiones de su proyecto tuviesen una Licencia Pública General GNU.
En aquel GNU/Linux con licencia de software libre está el origen de todas las distribuciones GNU/Linux que han venido después.
No todo el software libre es software para GNU/Linux
Como consecuencia del origen del software libre y su rápido crecimiento tras la consolidación del proyecto del núcleo de Linux, algunas personas pueden pensar que software libre y GNU/Linux son poco menos que sinónimos, pero no es así. No todo el software libre es software para GNU/Linux y no todo el software que se utiliza en equipos con un sistema operativo GNU/Linux es software libre. Existe numeroso software libre para otros sistemas operativos, tanto para sistemas operativos de equipos de escritorio, como Windows de Microsoft y Mac OS de Apple, como para sistemas operativos de dispositivos móviles, como Android de Google, por poner sólo algunos ejemplos referentes a los sistemas operativos más conocidos. De todos modos, la existencia de una familia de sistemas operativos libres ha jugado sin duda un papel decisivo en la pervivencia y desarrollo del software libre.
Cómo saber si un programa determinado es de software libre
El mejor modo de saber si un programa determinado es de software libre es examinando los términos del texto de la licencia que lo acompaña o debería acompañarlo.
Una aplicación de software cualquiera es de software libre si y sólo si las cuatro libertades, de uso, de estudio, de distribución y de mejora, quedan incluidas en su licencia.