viernes, 27 de octubre de 2017

Libertades del Software Libre

Libertad Cero: "usar el programa con cualquier propósito". Es decir, el ejercicio de esta libertad implica que lo podemos utilizar con cualquier fin, ya sea educativo, cultural, comercial, político, social. Esta libertad deriva de que hay ciertas licencias que restringen el uso del software a un determinado propósito, o que prohíben su uso para determinadas actividades.

Libertad Uno: "Estudiar cómo funciona el programa, y adaptarlo a sus necesidades". Significa que podemos estudiar su funcionamiento (al tener acceso al código fuente). El adaptar el programa a mis necesidades implica que puedo suprimirle partes que no me interesan, agregarle partes que considero importantes, copiarle una parte que realiza una tarea y adicionarla a otro programa.

Libertad Dos: "Distribuir copias". Quiere decir que soy libre de redistribuir el programa, ya sea gratis o con algún costo.

Libertad Tres: "Mejorar el programa, y liberar las mejoras al público". Tengo la libertad de hacer mejor el programa, o sea que puedo: hacer menores los requerimientos de hardware para funcionar, que tenga mayores prestaciones, que ocupe menos espacio, que tenga menos errores, etc. El poder liberar las mejoras al público quiere decir que si yo le realizo una mejora que permita un requerimiento menor de hardware, o que haga que ocupe menos espacio, soy libre de poder redistribuir ese programa mejorado, o simplemente proponer la mejora en un lugar público (un foro de noticias, una lista de correo, un sitio Web, un FTP, un canal de Chat).


Caracteristicas del Sofware Libre

  • Se encuentra disponible el código fuente del software, por lo que puede modificarse el software sin ningún límite.
  • Libertad de estudiarlo y adaptarlo.
  • Libertad de distribuir copias.
  • Libertad de mejora y publicación de cambios.
  • Libertad de usar el programa con cualquier propósito.
  • El usuario no comete delito por tenerlo o usarlo.
  • Independencia tecnológica.

Creador del Software Libre

Richard Matthew Stallman. El auténtico padre del Software Libre, tanto tecnológica como filosóficamente. Este hippy de los setenta que se negó a entrar por el aro del Stablishment, no se conformó con ser un auténtico genio en el MIT. Virtuoso de la programación desde los orígenes de los primeros lenguajes, acostumbrado a la generosidad de los primeros años de la informática en la que todo programador compartía libremente su software para que otros lo usaran en todo o en parte, así como para que lo modificaran, adaptaran o implementaran a otros proyectos, cogió el enfado de los enfados, el día en que una prestigiosa compañía de fabricación de impresoras, no les facilitó el código de los drivers de sus máquinas, de modo que no pudieron configurarla en red en sus laboratorios del MIT… Y ahí comenzó la gran revolución del software libre.


Filosofía del Software Libre

El Software Libre es un asunto de libertad, no de precio. Para entender el concepto, hay que pensar en "libre" como en libertad de expresión, no como en "cerveza gratis" (en inglés una misma palabra Free significa tanto libre como gratis, lo que ha dado lugar a cierta confusión).

(Software Libre) se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software.

Un programa es software libre si los usuarios tienen todas estas libertades. Así pues, deberías tener la libertad de distribuir copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir o pagar permisos.

También deberías tener la libertad de hacer modificaciones y utilizarlas de manera privada en tu trabajo u ocio, sin ni siquiera tener que anunciar que dichas modificaciones existen. Si publicas tus cambios, no tienes por qué avisar a nadie en particular, ni de ninguna manera en particular.

La libertad para usar un programa significa la libertad para cualquier persona u organización de usarlo en cualquier tipo de sistema informático, para cualquier clase de trabajo, y sin tener obligación de comunicárselo al desarrollador o a alguna otra entidad específica.

La libertad de distribuir copias debe incluir tanto las formas binarias o ejecutables del programa como su código fuente, sean versiones modificadas o sin modificar (distribuir programas de modo ejecutable es necesario para que los sistemas operativos libres sean fáciles de instalar). Está bien si no hay manera de producir un binario o ejecutable de un programa concreto (ya que algunos lenguajes no tienen esta capacidad), pero debes tener la libertad de distribuir estos formatos si encontraras o desarrollaras la manera de crearlos.

Para que las libertades de hacer modificaciones y de publicar versiones mejoradas tengan sentido, debes tener acceso al código fuente del programa. Por lo tanto, la posibilidad de acceder al código fuente es una condición necesaria para el software libre.