Muchas veces enseñar “qué es el software libre” es una labor compleja, dado que es un tema que contiene diversas aristas pues abarca muchas áreas del conocimiento, sin embargo la arista principal es de caracter filosófico, a pesar de ello es necesario entender algunos conceptos previamente para comprenderlo en su totalidad.
*Nota: Software libre en inglés es “Free Software”, por lo que puede traducirse como “Software libre” o “Software gratis”, esto ha llevado a cierta confusión pues se piensa que software libre es igual a software gratis, lo que es una afirmación errónea, pues su nombre se eligió para connotar la libertad de expresión y no “libre de precio como cerveza gratis”, aunque la mayoría de los programas libres suelen distribuirse sin costo, es posible lucrar con él usando otro modelo de negocio.
**Software libre es la forma ética y democrática de mirar el mundo del software, en su desarrollo y distribución, respetando y resguardando las libertades y derechos de los usuarios y desarrolladores del mundo cibernético, que a fin de cuentas es el que vivimos hoy.
Entender el mundo del software, es entender el mundo que estamos viviendo, ignorarlo es ignorar los sistemas que nos rodean y gobiernan, solo mire a su alrededor y encontrará cada vez más artefactos (algunos imprescindibles) que para funcionar contienen software en su interior, como el computador, el televisor, el microondas, el celular, la radio, el automóvil, la lavadora, etc..
Antes de comenzar con argumentos técnicos, podríamos definir al software libre de muchas maneras, es un modelo de desarrollo de software y de negocio abierto y colaborativo, es una manera ética de mirar el entorno circundate en relación al software en su uso y ditribución y finalmente es un sistema democrático de creación de software.
Para entender Qué es software libre primero tenemos que entender la manera en la que se crean los programas, cómo es que funciona el modelo tradicional de desarrollo, distribución del software y las licencias.
Para dar a conocer la manera en la que se crea el software mencionaré una analogía (hecha por Richard M Stallman - Fundador del movimiento del Software libre) sobre las recetas de cocinas y el desarrollo de las aplicaciones.
Para crear un programa los desarrolladores escribimos algoritmos de programación (intrucciones lógicas), lo llamamos código fuente, en él mencionamos las librerías requeridas, las condiciones, los pasos a seguir, entre otras instrucciones que el compilador (nuestro programa “cocinero”) deberá interpretar para luego transformarlos en un programa ejecutable (códigos binarios - 0 y 1) que solo el computador es capaz de entender.
De la misma manera, en una receta se mencionan los ingredientes e instrucciones necesarias para crear cierto plato, esto equivale al código de fuente pero en la cocina, con él sabes como es que se hizo el plato y si eres alérgico a algún ingrediente o simplemente no te gusta, puedes cambiarlo por otro para obtener un mejor resultado y de esta forma obtienes un nuevo plato final adaptado a tus gustos y/o necesidades, este resultado final equivaldría al código binario o programa ejecutable.
Continuando con la analogía, si te entregan un plato de comida, pero no tienes acceso a la receta de cocina, es casi imposible saber que ingredientes se utilizaron y cómo fué que se realizó, por lo tanto realizar cambios para adaptarlo a tus necesidades y mejorarlo ya no será posible.
De la misma forma, quien tenga un programa (el ejecutable) y no tenga acceso al código fuente, podrá usarlo, pero nunca sabrá cómo esta hecho y jamás podrá realizarle cambios, y muchas veces ni siquiera sabrá que es lo que realmente hace el programa por detrás (véase Puertas traseras de Microsoft Windows).
¿Y cómo funciona el modelo de desarrollo y negocio tradicional de un software? Un software se crea de la misma forma independientemente de si es libre o no, la manera en la que trabajan los involucrados en el desarrollo del mismo, lo venden y distribuyen es diferente.
El software que no respeta las libertades y derechos de los usuarios es lamado Software Privativo, este software utiliza el concepto de licencia, realmente no se paga por el programa, más bien por el permiso (bajo condiciones muy restrictivas) para su uso, muchas veces para un solo computador. Un ejemplo de lo anterior es cuando compramos algún computador en una tienda como falabella u otra especializada, por generalidad estos vienen con MS Windows integrado, muchos creen que ese Sistema Operativo viene de “regalo”, pero realmente no, pues el costo de la licencia viene incluido en el precio del PC, y aún cuando el ordenador es tuyo y haz pagado la licencia de MS Windows no tienes ningún derecho sobre ese sistema, ni de saber como funciona, ni de modificarlo, ni de redistribuirlo y ni si quiera instalarlo en más de un PC aunque sean tuyos.
¿Qué características debe tener un programa para ser considerado libre?
La FSF (Free Software Fundation) ha definido como Software libre a aquel que cumpla con las 4 libertades que son:
-
La libertad 0: La libertad de usar el programa, con cualquier propósito.
-
La libertad 1: la libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades.
-
La libertad 2: la libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo.
-
La libertad 3: la libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.
Las libertades 1 y 3 requieren acceso al código fuente porque estudiar y modificar software sin su código fuente es muy poco viable.
Estas libertades se resguardan a través de una licencia, el software que esté licenciado bajo una licencia que cumpla con estas libertades es considerado como libre.
La licencia de Software libre más usada se llama GPL (Licencia Pública General), la cual va mejorando a través de los años (actualmente existe la versión 3 de esta licencia).
La razón por lo que es la licencia de software libre más usada es por las características que posee, primero, es una licencia hecha por y para la comunidad, por lo que su propósito es resguardar los derechos de todos y no las necesidades de unos pocos, y por sobre todo por el copyleft.
Copyleft es una técnica legal creada para distribuir un programa y asegurar las libertades.
Por lo general el copyright (rigth - derecha - derechos de autor) generalmente se usa para restringir la distribución y reservar ciertos derechos al creador de la obra, pero no siempre tiene que ser así, es por eso que se inventa el concepto de copyleft (left - izquierda [izquierdos de autor]) que usa el “copyright” para ceder los derechos de distribución y libre uso de la obra con la condición de que cualquier modificación que esta sufra debe quedar bajo los mismos términos iniciales, ni más ni menos.
De esta forma una obra que esté bajo una licencia libre que tenga copyleft, siempre estará bajo la misma licencia, y por lo tanto siempre será libre.
¿Cómo funciona el modelo de negocios?
¿Cómo es que se puede ganar dinero con software libre, cuando los usuarios que adquieren el software pueden compartilo libremente con su vecino? Antes que todo se debe tener en cuenta que el software libre avanza de una forma muy acelerada, y es bastante eficiente, y hasta donde se sabe, donde hay algo rápido, eficiente y económico hay dinero… ¿Entonces cómo lucrar con él?
Pues fácil, ofreciendo servicios asociados al software, en un mercado donde todos tienen acceso al software, no hay monopolio, más bien existe un libre mercado, cualquiera lo puede mejorar para adaptarlo a cualquier necesidad, cualquiera puede generar documentación capacitar en el uso del mismo, etc…
Es por ello que muchas empresas se dedican a adaptar programas para otras empresas, a implementar sistemas libres en organizaciones, en capacitar empleados, etc… Hay muchos casos de éxito, se pueden encontrar varios ejemplos al rededor del globo e incluso al final de la licencia GPL es posible encontrar un apartado que sugiere formas con las que puedes lucrar con software libre.

