HISTORIA Entre los aos 1960 y 1970, el software no era considerado un producto sino un aadido que los vendedores de las grandes computadoras de la poca (las mainframes) aportaban a sus clientes para que stos pudieran usarlos. En dicha cultura, era comn que los programadores y desarrolladores de software compartieran libremente sus programas unos con otros. Este comportamiento era particularmente habitual en algunos de los mayores grupos de usuarios de la poca, como DECUS (grupo de usuarios de computadoras DEC). A finales de la dcada de 1970, las compaas iniciaron el hbito de imponer restricciones a los usuarios, con el uso de acuerdos de licencia. En 1971, cuando la informtica todava no haba sufrido su gran boom, las personas que hacan uso de ella, en mbitos universitarios y empresariales, creaban y compartan el software sin ningn tipo de restricciones. Con la llegada de los aos 1980 la situacin empez a cambiar. Las computadoras ms modernas comenzaban a utilizar sistemas operativos privativos, forzando a los usuarios a aceptar condiciones restrictivas que impedan realizar modificaciones a dicho software. En caso de que algn usuario o programador encontrase algn error en la aplicacin, lo nico que poda hacer era darlo a conocer a la empresa desarrolladora para que sta lo solucionara. Aunque el programador estuviese capacitado para solucionar el problema y lo desease hacer sin pedir nada a cambio, el contrato le impeda que modificase el software. El mismo Richard Matthew Stallman cuenta que por aquellos aos, en el laboratorio donde trabajaba, haban recibido una impresora donada por una empresa externa. El dispositivo, que era utilizado en red por todos los trabajadores, pareca no funcionar a la perfeccin, dado que cada cierto tiempo el papel se atascaba. Como agravante, no se generaba ningn aviso que se enviase por red e informase a los usuarios de la situacin. Para ello necesitaba tener acceso al cdigo fuente de los controladores de la impresora. Pidi a la empresa propietaria de la impresora lo que necesitaba, comentando, sin pedir nada a cambio, qu era lo que pretenda realizar. La empresa se neg a entregarle el cdigo fuente. En ese preciso instante, Stallman se vio en una encrucijada: deba elegir entre aceptar el nuevo software propietario firmando acuerdos de no revelacin y acabar desarrollando ms software propietario con licencias restrictivas, que a su vez deberan ser ms adelante aceptadas por sus propios colegas. Con este antecedente, en 1984, Richard Stallman comenz a trabajar en el proyecto GNU, y un ao ms tarde fund la Free Software Foundation (FSF). Stallman introdujo la definicin de software libre y el concepto de "copyleft", que desarroll para otorgar libertad a los usuarios y para restringir las posibilidades de apropiacin del software.
DEFINICION Software Libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo ms preciso, se refiere a cuatro libertades de los usuarios del software: La libertad de usar el programa, con cualquier propsito. La libertad de estudiar cmo funciona el programa, y adaptarlo a tus necesidades. El acceso al cdigo fuente es una condicin previa para esto. La libertad de distribuir copias, con lo que puedes ayudar a tu vecino. La libertad de mejorar el programa y hacer pblicas las mejoras a los dems, de modo que toda la comunidad se beneficie. El acceso al cdigo fuente es un requisito previo para esto. Un programa es software libre si los usuarios tienen todas estas libertades. As pues, deberas tener la libertad de distribuir copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la distribucin, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir o pagar permisos. Tambin deberas 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 organizacin de usarlo en cualquier tipo de sistema informtico, para cualquier clase de trabajo, y sin tener obligacin de comunicrselo al desarrollador o a alguna otra entidad especfica. La libertad de distribuir copias debe incluir tanto las formas binarias o ejecutables del programa como su cdigo fuente, sean versiones modificadas o sin modificar (distribuir programas de modo ejecutable es necesario para que los sistemas operativos libres sean fciles 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 cdigo fuente del programa. Por lo tanto, la posibilidad de acceder al cdigo fuente es una condicin necesaria para el software libre. Para que estas libertades sean reales, deben ser irrevocables mientras no hagas nada incorrecto; si el desarrollador del software tiene el poder de revocar la licencia aunque no le hayas dado motivos, el software no es libre. a. Ventajas del Software Libre 1. Escrutinio Pblico: Al ser muchos las personas que tienen acceso al cdigo fuente, eso lleva a un proceso de correccin de errores muy dinmico, no hace falta esperar que el proveedor del software saque una nueva versin. 2. Independencia del proveedor: b. Software de dominio pblico: este tipo de software no tienen licencias de uso, por lo tanto corre el peligro de dejar de serlo si alguien lo utiliza con el fin de apropirselo. a. Al disponer del cdigo fuente, cualquier persona puede continuar ofreciendo soporte, desarrollo u otro tipo de servicios para el software. b. No estamos supeditados a las condiciones del mercado de nuestro proveedor, es decir que si este se va del mercado porque no le conviene y discontinua el soporte, nosotros podemos contratar a otra persona. 1. Manejo de la Lengua: a. b. Traduccin: cualquier persona capacitada puede traducir y adaptar un software libre a cualquier lengua. c. Correccin ortogrfica y gramatical: una vez traducido el software libre puede presentar errores de este tipo, los cuales pueden ser subsanados con mayor rapidez por una persona capacitada. 1. Mayor seguridad y privacidad: a. b. Los sistemas de almacenamiento y recuperacin de la informacin son pblicos. Cualquier persona puede ver y entender cmo se almacenan los datos en un determinado formato o sistema. c. Existe una mayor dificultad para introducir cdigo malicioso como ser: espa (p/ej. Capturador de teclas), de control remoto (p/ej. Troyano), de entrada al sistema (p/ej. puerta trasera), etc. 1. Garanta de continuidad: el software libre puede seguir siendo usado aun despus de que haya desaparecido la persona que lo elaboro, dado que cualquier tcnico informtico puede continuar desarrollndolo, mejorndolo o adaptndolo. 2. Ahorro en costos: en cuanto a este tpico debemos distinguir cuatro grandes costos: de adquisicin, de implantacin (este a su vez se compone de costos de migracin y de instalacin), de soporte o mantenimiento, y de interoperabilidad. El software libre principalmente disminuye el costo de adquisicin ya que al otorgar la libertad de distribuir copias la puedo ejercer con la compra de una sola licencia y no con tantas como computadoras posea (como sucede en la mayora de los casos de software propietario). Cabe aclarar que tambin hay una disminucin significativa en el costo de soporte, no ocurriendo lo mismo con los costos de implantacin y de interoperabilidad. Desventajas del software libre Si observamos la situacin actual, es decir la existencia mayoritaria de Software Propietario, tenemos: 1. Dificultad en el intercambio de archivos: esto se da mayormente en los documentos de texto (generalmente creados con Microsoft Word), ya que si los queremos abrir con un Software Libre (p/ ej. Open Office o LaTeX) nos da error o se pierden datos. Pero est claro que siMicrosoft Word creara sus documentos con un formato abierto (o pblico) esto no sucedera. 2. Mayores costos de implantacin e interoperabilidad: dado que el software constituye "algo nuevo", ello supone afrontar un costo de aprendizaje, de instalacin, de migracin, de interoperabilidad, etc., cuya cuanta puede verse disminuida por: mayor facilidad en las instalaciones y/o en el uso, uso de emuladores (p/ej. Si el usuario utiliza Microsoft Windows, la solucin sera instalar alguna distribucin de GNU/Linux y luego un emulador de Windows, como Wine, VMWare. Terminal X, Win4Lin). Vale aclarar que el costo de migracin est referido al software, ya que en lo que hace a Hardware generalmente el Software Libre no posee mayores requerimientos que el Software Propietario. a. Ventajas del Software Libre 1. Escrutinio Pblico: Al ser muchos las personas que tienen acceso al cdigo fuente, eso lleva a un proceso de correccin de errores muy dinmico, no hace falta esperar que el proveedor del software saque una nueva versin. 2. Independencia del proveedor: b. Software de dominio pblico: este tipo de software no tienen licencias de uso, por lo tanto corre el peligro de dejar de serlo si alguien lo utiliza con el fin de apropirselo. a. Al disponer del cdigo fuente, cualquier persona puede continuar ofreciendo soporte, desarrollo u otro tipo de servicios para el software. b. No estamos supeditados a las condiciones del mercado de nuestro proveedor, es decir que si este se va del mercado porque no le conviene y discontinua el soporte, nosotros podemos contratar a otra persona. 1. Manejo de la Lengua: a. b. Traduccin: cualquier persona capacitada puede traducir y adaptar un software libre a cualquier lengua. c. Correccin ortogrfica y gramatical: una vez traducido el software libre puede presentar errores de este tipo, los cuales pueden ser subsanados con mayor rapidez por una persona capacitada. 1. Mayor seguridad y privacidad: a. b. Los sistemas de almacenamiento y recuperacin de la informacin son pblicos. Cualquier persona puede ver y entender cmo se almacenan los datos en un determinado formato o sistema. c. Existe una mayor dificultad para introducir cdigo malicioso como ser: espa (p/ej. Capturador de teclas), de control remoto (p/ej. Troyano), de entrada al sistema (p/ej. puerta trasera), etc. 1. Garanta de continuidad: el software libre puede seguir siendo usado aun despus de que haya desaparecido la persona que lo elaboro, dado que cualquier tcnico informtico puede continuar desarrollndolo, mejorndolo o adaptndolo. 2. Ahorro en costos: en cuanto a este tpico debemos distinguir cuatro grandes costos: de adquisicin, de implantacin (este a su vez se compone de costos de migracin y de instalacin), de soporte o mantenimiento, y de interoperabilidad. El software libre principalmente disminuye el costo de adquisicin ya que al otorgar la libertad de distribuir copias la puedo ejercer con la compra de una sola licencia y no con tantas como computadoras posea (como sucede en la mayora de los casos de software propietario). Cabe aclarar que tambin hay una disminucin significativa en el costo de soporte, no ocurriendo lo mismo con los costos de implantacin y de interoperabilidad.
Desventajas del software libre Si observamos la situacin actual, es decir la existencia mayoritaria de Software Propietario, tenemos: 1. Dificultad en el intercambio de archivos: esto se da mayormente en los documentos de texto (generalmente creados con Microsoft Word), ya que si los queremos abrir con un Software Libre (p/ ej. Open Office o LaTeX) nos da error o se pierden datos. Pero est claro que siMicrosoft Word creara sus documentos con un formato abierto (o pblico) esto no sucedera. 2. Mayores costos de implantacin e interoperabilidad: dado que el software constituye "algo nuevo", ello supone afrontar un costo de aprendizaje, de instalacin, de migracin, de interoperabilidad, etc., cuya cuanta puede verse disminuida por: mayor facilidad en las instalaciones y/o en el uso, uso de emuladores (p/ej. Si el usuario utiliza Microsoft Windows, la solucin sera instalar alguna distribucin de GNU/Linux y luego un emulador de Windows, como Wine, VMWare. Terminal X, Win4Lin). Vale aclarar que el costo de migracin est referido al software, ya que en lo que hace a Hardware generalmente el Software Libre no posee mayores requerimientos que el Software Propietario.