¿Que es el Software Libre?
De Comunidad Universitaria de Software Libre, Cusol UIS
Contenido |
Algo de Historia
La idea del software libre es mucho mas antigua que el modelo de software privativo ya que inicialmente la gente se pasaba los programas de computadora y cada quien hacia mejoras y a su vez estas mejoras eran compartidas entre las personas interesadas en este software, las cosas cambiaron cuando se comenzaron a aplicar técnicas de mercado “efectivas” y se comenzó a privatizar el software, de manera que el software era vendido pero no en su totalidad ya que uno era dueño de un permiso de uso de ese software mas no podía modificarlo o prestarlo ya que comenzó a ser considerado como una violación a los derecho de autor. El software privativo es el modelo adoptado por la mayoría de empresas de software bajo la promesa de que al ser su desarrollo realizado a puerta cerrada se tendrá un software de calidad y limpio. Esta idea no gusto a muchas personas en especial a Richard Stallman quien a partir de este descontento planteo un movimiento que se encamina a cambiar estas condiciones.
Fue asi como la Free Software Fundation nace fruto del descontento de Stallman hacia el software privativo, y propone el proyecto GNU (GNU is Not Unix) ya que como el era usuario de UNIX quería hacer una versión libre que cumpliera con sus expectativas de lo que debía ser un software libre.
El termino libre se ha visto malinterpretado por algunos sectores ya que en la lengua inglesa “Free” significa tanto libre como gratis. Hay que aclarar citando palabras de Stallman que nos referimos a libre como libertad de expresión y no por ejemplo cervezas “gratis”, se habla de software liberado, que se puede modificar, es decir, hacer los cambios y las modificaciones necesarias para acomodarlo a nuestras propias necesidades y a su vez redistribuir copias, para compartirlas con otra gente además de poder hacer mejoras al software y publicarlas; para que así otra gente se pueda beneficiar de ella. Esas son las libertades que diferencian el software libre del software no libre.
Para que se pudieran materializar estas libertades se necesitaba unas bases solidas legales, que se dan gracias a la licencia GPL (Luego de un tiempo surgieron otras licencias libres) y todo software que se publica bajo esta licencia tiene la cualidad de ser libre (copyleft).
Las Cuatro Libertades
Para que un trabajo pueda ser copyleft, la licencia bajo la cual este licenciada debe cumplir con posibilitar a la comunidad los siguientes derechos:
* La libertad de usar el programa, con cualquier propósito.
* La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades.
* La libertad de distribuir copias, con lo que puedes ayudar a tu vecino.
* La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie.
Y además para que las obras derivadas sigan siendo libres, se debe agregar la clausula que indica que las obras derivadas deben ser publicadas bajo el mismo tipo de licenciamiento.
En este momento se podría llegar a pensar, “¿por que no simplemente se deja el software en dominio publico?”. Esto seria ideal, pero bajo la actual legislación se tiene el problema de que al estar bajo dominio publico cualquiera le podría hacer una pequeña modificación y convertirlo en software no-libre. La idea del copyleft es proteger a los autores de este tipo de abusos dentro del marco legal existente mientras en un futuro se puede llegar a una concepcion mucho mas acertada de propiedad intelectual y patentes.
Entonces Richard Stallman empieza a desarrollar para el proyecto GNU, comienza por crear las herramientas dejando para el final la creación del Kernel (programa que gestiona los recursos para los demás programas), después del desarrollo de las herramientas, la intención de Stallman era colocar el kernel por debajo de las herramientas y ser el centro del sistema operativo; Este kernel aun hoy se encuentra en fase de desarrollo. El diseño elegido es muy avanzando y resulta difícil de depurar. Se decidió trabajar con el concepto de micro-kernel, es decir dividir el kernel en programas más pequeños que se comunican entre si. Este diseño, aunque muy eficiente posee un problema, este estilo de programación es propenso a tener Bugs difíciles de detectar.
El Nacimiento de GNU/Linux
Después de algunos años es cuando aparece en escena Linus Torvalds, quien crea el kernel que más adelante es unido al software GNU creándose el sistema operativo que se conoce como GNU/Linux. Para Linus, un sistema operativo no debería ser visto, porque nadie usa el sistema operativo si no los programas en sus computadoras y la única misión de un sistema operativo es ayudar a estos programas a ejecutarse, gestionando recursos de hardware para los diferentes programas en ejecución, así un sistema operativo no hace nada por sí mismo, solo espera a que otros programas le pidan ciertos recursos, entonces el sistema operativo, intenta facilitar la labor de los programadores.
Para Stallman, un sistema operativo es más que un núcleo, apenas suficiente para hacer funcionar otros programas. Es el software crucial para empezar usar una computadora. Con un sistema operativo se pueden hacer muchas cosas.
Enfoque los dos modelos del desarrollo existentes como "La Catedral y el Bazar"
Al pasar el tiempo muchas organizaciones notaron las diferencias y ventajas del desarrollo de software de forma libre, ya que como se explica en el paper de Eryc Raymond “La Catedral y El Bazar” donde se habla de dos posturas en el desarrollo de software: la tradicional “La Catedral” y la que se habia adoptado para el desarrollo del Kernel Linux, “El Bazar”.
En la Catedral se tiene un modelo de desarrollo que plantea efectuarse como construyendo catedrales, es decir, que debía ser cuidadosamente elaborado por genios o pequeñas bandas de magos trabajando encerrados a piedra y lodo, sin liberar versiones beta antes de tiempo. En el lado contrario tenemos el desarrollo de software como si se tratara de un Bazar colmado de individuos con propósitos y enfoques dispares (fielmente representados por los repositorios de archivos de Linux, que pueden aceptar aportaciones de quien sea), de donde surgiría un sistema estable y coherente únicamente a partir de una serie de artilugios. El bazar termina siendo un desarrollo de software de manera comunitaria ya que no solo se tendría la programación de los programadores oficiales sino también toda una comunidad de entusiastas que habiendo trabajado con dicho software lograron solucionar problemas para bien de todos los usuarios, en contraste con el otro modelo de desarrollo de manera privativo este tipo de cosas era imposible ya que podía pasar un considerable periodo de tiempo antes de que los programadores de la empresa arreglaran un error especifico que alguien pudo reparar de no ser porque seria de forma ilegal.
Ventajas del Desarrollo Abierto
Es aquí, cuando muchas personas que aun eran reacias a la idea del Software Libre y el Open Source empezaron a verlo como un modelo de desarrollo sostenible a largo plazo y de calidad, ya que aunque RMS, no estableció inicialmente, estrategias para ganar dinero con el SL, la GPL si definió un nuevo paradigma en la forma en que se ve el software en general. el software deja de ser un producto que simplemente se termina y se vende. con la GPL, renació el software como tal, cobro vida por así decirlo; ya no es un bien. es un servicio. Y como todo servicio, el Software Libre se basa en satisfacer las necesidades de un “cliente”. y que el cliente sienta que puede obtener una respuesta casi inmediata a sus necesidades. A diferencia del SW propietario, en donde por lo general. el cliente es el que termina por ajustarse al “producto”, haciendo el cambio un proceso lento e impredecible.
A raíz de todas estas necesidades, recordamos que un buen servicio, requiere un buen soporte, de esta manera, el producto como tal pasa a segundo plano y lo que interesa ahora es mantener el software funcionando y cambiante ante la dinámica de la organización.
Otra razón igual de importante, el poder modificar el SW permite que el cliente entregue feedback al desarrollador para facilitar el ciclo de mantenimiento. todo en función de los beneficios del usuario tal y como lo plantean los fundamentos de la Ingeniería de Requerimientos de Usuario. El modelo de Software Libre y Open Source actúa como catalizador en este caso. De esta manera sin cobrar por licencias de uso, sino por formación, instalación, mantenimiento, nuevos desarrollos, auditorías, etc. Para el cliente es un gran ahorro, y una buena elección. Otras grandes empresas multinacionales y pequeñas compañías están migrando a este tipo de software por las ventajas que conlleva.
Resumiendo, quizás la mejor analogía para explicar el negocio alrededor del software libre sea el Derecho y las Leyes. Los textos de las leyes son libres (cualquiera puede acceder a ellos) y gratuitos (pueden copiarse), pero los abogados tienen trabajo y pueden vivir muy bien de él, ¿Por qué? Porque son expertos en el manejo de estas fuentes y, más allá de que podamos leer y entender un código penal, necesitamos de su asesoramiento para desarrollar con éxito cualquier procedimiento legal. Lo mismo sucede con el software. Ante nuestros problemas como usuarios, el software propietario nos vende una solución enlatada, mientras que el software libre nos regala una caja llena de sofisticadas herramientas que podemos usar a nuestro antojo. ¿El truco? Necesitamos de su ayuda para saber cómo hacerlo.
Una de los principales argumentos de los detractores del software libre es que según ellos es software inseguro y de poca productividad, tesis que, después de todas las experiencias positivas que ha tenido este modelo, se ha visto derrumbada y grandes empresas han puesto sus desarrollos bajo licencias libres, ya sea GPL, MIT, BSD, etc. o alguna redactada por la propia empresa. El tópico de la seguridad es fácil de abordar, simplemente al tener tantos ojos desarrolladores mirando el código de determinado software, los problemas de seguridad y bugs se encuentran mucho mas rápidos a la vez que son publicados para su corrección, además de tener software mas limpio y honesto que no contiene el llamado “spyware” ya que con tantos desarrolladores es prácticamente imposible que un detalle de estos pase desapercibido, cosa que si pasa con el software privativo ya que no sabemos realmente quien maneja nuestra información ni de que forma.
En términos de productividad también en la mayoría de los casos es mayor, ya que al poseer la libertad de modificar los programas cada quien puede adaptarlo o pagar a alguien para que los adapte a las necesidades de un usuario particular, aumentando así el nivel de productividad en muchos campos.
Otra de las tantas ventajas de la adopción del paradigma que plantea el software libre es el avance e investigación local en las comunidades en desarrollo, ya que el en esencia el desarrollo comunitario glogal es descentralizado crea espacios de equidad tecnológica a todos sus usuarios y desarrolladores, llegando así a que los avances tecnológicos y la investigación científica no se limiten a los países que tienen los recursos para costearlo o que tengan el monopolio del conocimiento y la información, sino que también puedan darse de manera mas fácil en países como el nuestro que se ha visto relegado en materia tecnología por adoptar tecnologías de compañías que nos restan libertades en pro del beneficio económico que estas obtienen.
Fuentes
Revolution OS. Documental dirigido por J.T.S. Moore
La Definición de Software Libre, Free Software Foundation
http://www.gnu.org/philosophy/free-sw.es.html
La Catedral y el Bazar. Eric S. Raymond
http://biblioweb.sindominio.net/telematica/catedral.html
Economía y estatus legal del Software, Diego Saravia
http://biblioweb.sindominio.net/telematica/saravia.html
¿De qué vive el Software Libre?, Martin Varsavsky
http://spanish.martinvarsavsky.net/tecnologaa-e-internet/ade-qua-vive-el-software-libre.html
