jueves, 20 de abril de 2017

Las libertades del software libre

Luego de un tiempo de ausencia me presento con un tema relacionado con el software libre, específicamente las libertades del software libre, es decir, las bases del mismo, las condiciones que debe cumplir un software para ser considerado libre y las cuales les presento a continuación:

El Software Libre es aquel que le otorga al usuario cuatro libertades: 

Libertad 0: La libertad de usar el programa, con cualquier propósito. Un programa se puede usar con fines ya sea educativos, militares, de entretenimiento, culturales, comerciales, políticos, sociales, etc. Esta libertad deriva de que hay ciertas licencias que restringen el uso de un programa para un determinado propósito, o que prohíben su uso para determinadas actividades.

Libertad 1: La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades. El acceso al código fuente es una condición previa para esto. Significa que podemos estudiar su funcionamiento lo que permite, entre otras cosas: descubrir funciones ocultas, averiguar como realiza determinada tarea, descubrir que otras posibilidades tiene, que es lo que le falta para hacer algo, etc. El adaptar el programa a tus necesidades implica que puedes suprimirle partes que no te interesan, agregarle partes que consideras importantes, copiarle una parte que realiza una tarea y adicionarla a otro programa, etc. En resumen modificar el programa a tu medida. 

Libertad 2: La libertad de distribuir copias, ya sea de forma gratuita, ya sea vendiéndolas, con lo que puedes ayudar a tu vecino. Se puede distribuir la cantidad de copias del programa que desees, ya sea gratis o con algún costo, ya sea por email, o grabadas en un CD, DVD o pendrive, ya sea colocando el programa en un servidor FTP o en una pagina web para su descarga, ya sea a una persona o a varias, ya sea a un vecino o a una persona que vive en otro país, etc. Con esta libertad estarás haciendo un bien al prójimo, ya que le ayudarás a tener una copia del programa original sin estar infringiendo en un ilícito, ya que es sabido que dependiendo de la licencia que tenga un programa, realizar copias del mismo es ilegal. 

Libertad 3: La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. El acceso al código fuente es un requisito previo para esto. De esta libertad surge que puedan existir innumerables versiones basadas en un mismo programa. Mejorar el programa significa que se pueden: 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 publico quiere decir que al realizar una mejora que permita un requerimiento menor de hardware, o que haga que ocupe menos espacio, se es libre de poder redistribuir ese programa mejorado, o simplemente proponer la mejora en un lugar publico como puede ser una lista de correo, un sitio Web, un servidor FTP. 

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.

Ahora bien hay que tener en cuenta lo siguiente:
  • Si se tiene un software regalado o sin costo, pero sin el código fuente, no es software libre, ya que no cumple con las libertades 1 y 3. Software libre no necesariamente es software gratis, eso lo especifica la libertad 2.
  • Si se tiene un software con su código fuente, no necesariamente brinda las libertades del software libre, ya que puede incluir limitaciones en cuanto a su modificación y/o distribución.
  • El software de dominio publico no es software libre, ya que si bien no tiene licencias para su uso, corre el riesgo de dejar de serlo si alguien lo utiliza con el fin de apropiárselo y ponerle limites a su uso, incumpliendo con la libertad 0..
Bueno voy a dejarlo hasta aquí. Espero hayan entendido y les haya gustado. cualquier cosa comenten.