Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
Unidad 1 :: Introducción al Software Libre
Página 1 de 9
Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
La revolución del software libre (lo concreto de lo invisible) No es difícil determinar la importancia del software en nuestra vida cotidiana; hoy lo utilizamos, sin darnos cuenta, en todo momento: celulares, computadoras, consolas de juego, cajeros automáticos y en todo tipo de situaciones donde se presentan interacciones con aparatos que brinden tanto información o que sirvan para comunicarnos. Para pensar qué es el software, se dirá que es una tecnología y que puede ser definida como un conjunto de conocimientos (científicos, sociales, y técnicos) coordinados para actuar sobre la realidad de una determinada manera. Esta forma de actuar, en este caso, es definida por el o los creadores del software, según sus propias conveniencias e intereses. Es por ello que se dice que el software o cualquier tecnología tiene su intencionalidad o, mejor dicho, que las tecnologías involucran no sólo aspectos técnicos, sino también concepciones del mundo, de ética y por ello un planteamiento político. No es posible entonces, y carece de sentido, escindir lo técnico de lo ético-político; menos aún en el software por su carácter de producción netamente social (y en condiciones artesanales, lejos de ser industrial). Muchos proyectos de tecnologías de comunicación e información (entre ellos, de software) han surgido y son sostenidos por el trabajo sinérgico de movimientos socio-técnicos y políticos que luchan por una sociedad más justa y generosa, y por ideales asociados a la colaboración, a compartir libremente, sin ataduras de ninguna índole. Esta construcción no se ha realizado, ni está hoy, exenta de tensiones y contrapuntos con la maquinaría infernal de las grandes corporaciones de software y sus modelos de negocio, ligados al copyright y al patentamiento. Entre estas resistencias y tensiones también se ha construido el derrotero del software libre. Esta cátedra, Introducción al Software Libre (SL), intentará reunir los principales hitos de su historia y su contexto de surgimiento como tecnología, de su comunidad sociotecnopolítica, así como de los aspectos legales y técnicos que han construido al software libre cómo una tecnología real, viable y sostenible.
¿Qué es el Software Libre? Es conveniente empezar por el principio: ¿de qué hablamos cuando hablamos de software? Se denomina software a los programas que les dan instrucciones a las computadoras para que cumplan funciones útiles. Se refiere entonces a una enorme cantidad de instrucciones que automatizan las funciones de ciertos dispositivos. Un teléfono celular, por ejemplo, es un dispositivo que funciona con software; cualquier sistema de automatización en la vida cotidiana actual funciona con software: los cajeros automáticos de bancos, las computadoras, las agendas electrónicas, entre otros. Muchos s creen que la computadora hace lo que el le ordena. Hay muchas anécdotas para probar exactamente lo contrario; historias en las que la máquina se niega a cumplir una orden o hace cosas sin que nadie se las ordene. La computadora no obedece al porque no tiene la más remota idea de qué es lo que el le ordena, ni siquiera sabe si el está allí. La computadora obedece instrucciones ciegamente, sí, pero no las del , sino las del autor del software. Es éste el que determina qué debe hacer la computadora en respuesta a cada “orden” del . Cuando el autor comete un error en la confección del programa u omite alguna función que el necesita, la computadora produce resultados inesperados o es incapaz de llevar a cabo la tarea. 1 Para resumirlo en una sola frase, el «Software libre» es el software que respeta la libertad de los s.
Página 2 de 9
Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
Según la Free Software Fundation "... el «Software libre» es el software que respeta la libertad de los s y la comunidad. A grandes rasgos, significa que los s tienen la libertad de ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software. Es decir, el «software libre» es una cuestión de libertad, no de precio. Para entender el concepto, piense en «libre» como en «libre expresión», no como en «barra libre». En inglés a veces decimos «libre software», en lugar de «free software», para mostrar que no queremos decir que es gratuito." 2 Independientemente de sus características técnicas, el software libre presenta ventajas sociales, políticas y económicas. Devuelve a los s el poder de aprender y de hacer por sí mismos lo que deseen en el campo informático. Esto es aplicable a casos de personas como individuos o a sociedades enteras como colectivos que priorizan el bien social por encima de los intereses de una empresa en particular. Adaptar el propio sistema educativo a las condiciones fijadas por una empresa suena irrisorio; sin embargo, es lo que se está haciendo, a la vez que se hipoteca el futuro porque los jóvenes no tienen real a lo que es la técnica cultural de este tiempo, la informática, la programación. Nada de eso es "para nosotros" en este modelo; sólo el consumo. Para nosotros, sólo comprar hecho. Para nosotros, dependencia. Y si es compartido, penalización. 3
Las cuatro libertades El software libre otorga libertades que pueden resumirse así: 1. Usar el software para cualquier propósito (Libertad 0). 2. Estudiar cómo funciona el programa y modificarlo, adaptándolo a las propias necesidades (Libertad 1). El al código fuente es una condición necesaria para ello. 3. Distribuir copias para ayudar a otros s (Libertad 2). 4. Mejorar el software y hacer públicas esas mejoras, de modo que toda la comunidad se beneficie (Libertad 3). El al código fuente es una condición necesaria para ello. La Libertad 0 implica poder hacer lo que uno quiera. En una charla sobre Software Libre, Federico Heinz planteó la siguiente frase: "Podemos imaginar una dictadura istrada usando Software Libre, pero es completamente imposible istrar una democracia sustantiva usando software privativo." La Libertad 1 sostiene que si uno no está contento con lo que el programa hace, tiene la posibilidad de estudiar cómo funciona para adaptarlo a lo que desea. Se podría pensar que, al no tener el conocimiento para programar mejoras del software, no se puede hacer uso de esta libertad pero hay que ampliar el pensamiento. Se puede pedir a alguien que lo modifique a cambio de algo, incluso pagando por esas modificaciones. Si el software fuera privativo, uno debería solicitar a la empresa que lo desarrolló que tenga en cuenta sus necesidades particulares para realizar la modificación. La Libertad 2 plantea la posibilidad de redistribuir copias con o sin modificaciones, ya sea gratuitamente o cobrando una tarifa por la distribución. Ser libre de hacer esto significa, entre otras cosas, no tener que pedir ni pagar ningún permiso para hacerlo. La posibilidad de distribuir copias cobrando una tarifa por ello es algo que genera mucho ruido, de ahí que algunas licencias, como se verá en la Unidad 2, tienen restricciones con respecto a este punto. La Libertad 3 requiere que se pueda acceder al código fuente del programa, es decir, al corazón del software, sus líneas de código, su receta. Esto permite adaptarlo a las propias necesidades, corregir errores, agregarle nueva funcionalidad. El mecanismo que se utiliza para garantizar estas libertades, de acuerdo con la legalidad vigente, es la distribución mediante una licencia determinada. En la licencia, el autor plasma su permiso para que el del software pueda ejercer las libertades y también las restricciones que quiera aplicar. Para que la licencia sea considerada libre, debe respetar las cuatro libertades mencionadas.
Página 3 de 9
Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
GNU/Linux GNU es un sistema operativo de tipo Unix, lo cual significa que se trata de una colección de muchos programas: aplicaciones, bibliotecas, herramientas de desarrollo y hasta juegos. El desarrollo de GNU, iniciado en enero de 1984 por Richard Stallman, tenía como objetivo el desarrollo de un sistema operativo Unix completo y compuesto enteramente de software libre. Hoy es conocido como Proyecto GNU y muchos de los programas que se publican bajo el auspicio de este Proyecto son llamados paquetes de GNU. El nombre «GNU» es un acrónimo recursivo de «GNU No es Unix». «GNU» se pronuncia en inglés como una sílaba sin vocal entre la g y la n. En español se puede pronunciar de la misma manera, o bien reemplazando gn por una ñ, como en ñu. En un sistema de tipo Unix, el programa que asigna los recursos de la máquina y se comunica con el hardware se denomina «núcleo». GNU se usa generalmente con un núcleo llamado «Linux». Esta combinación es el sistema operativo GNU/Linux. Linux es entonces el núcleo, un programa que forma parte del sistema, y su función es asignar los recursos de la máquina a los otros programas que el ejecuta. El núcleo es esencial en un sistema operativo pero inútil por sí mismo; sólo puede funcionar en el contexto de un sistema operativo completo. Por eso Linux se usa normalmente en combinación con el sistema operativo GNU y su historia misma está fuertemente vinculada a la del proyecto GNU. En efecto, en 1991 Linus Torvalds empezó a trabajar en un reemplazo no comercial para MINIX, que más adelante acabaría siendo Linux. Cuando Torvalds liberó la primera versión de Linux, el proyecto GNU ya había producido varias de las herramientas fundamentales para el manejo del sistema operativo, incluyendo un intérprete de comandos, una biblioteca C y un compilador. El proyecto GNU contaba ya con una infraestructura para crear su propio sistema operativo, el llamado Hurd, pero éste aún no era lo suficiente maduro para utilizarse. Comenzaron entonces a usar a Linux para continuar
Página 4 de 9
Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
desarrollando el proyecto GNU, siguiendo la tradicional filosofía de mantener cooperativitas entre desarrolladores. Así, el núcleo creado por Linus Torvalds, quien se encontraba por entonces estudiando en la Universidad de Helsinki, llenó el espacio final que había en el sistema operativo de GNU. El día en que se estime que Hurd es suficiente maduro y estable será llamado a reemplazar a Linux. Cabe mencionar que Minix es una réplica gratuita del sistema operativo Unix, distribuido junto con su código fuente con propósitos educativos. Minix, que luego inspiró a Linux, fue desarrollado por el profesor Andrew S. Tanenbaum en 1987. La ultima versión oficial de Minix es la 3.1.8, publicada el 4 de Octubre del 2010, y se encuentra en la siguiente url: http://www.minix3.org. Para los fanáticos, en el siguiente link encontrarán los primeros mails que mandó Linux Torvalds al grupo de Minix contando que estaba desarrollando un sistema operativo libre: http://hispalinux.es/GNULinux Para ampliar información, puedes consultar los siguientes textos: 4 5 6
Movimiento Software Libre El puntapié inicial del movimiento de software libre fue el lanzamiento del proyecto GNU a principios de 1984 que, como se mencionaba, tenía el objetivo de producir un entorno de software completamente libre, mostrando que el software se podía producir y compartir de otra manera. 7 Desde entonces, muchos s han ido cambiando hacia el software libre por razones prácticas: porque el sistema es potente, porque es fiable o por la ventaja de poder modificar el software para que haga lo que cada uno necesita. Todas esas son buenas razones, pero hay más en juego que la simple conveniencia. Lo que está en juego es su libertad y su comunidad. 8 Para comprender mejor el contexto que permitió llegar hoy a conocer el software libre, les recomendamos leer los orígenes del movimiento en el artículo: "El movimiento del software libre". 9
FSF Tal como lo indica su sitio web, la Free Software Foundation trabaja para asegurar la libertad de las personas usuarias de computadoras mediante la promoción del desarrollo y uso de software y documentación libre -en particular el sistema operativo GNU-, así como haciendo campañas en contra de las amenazas hacia la libertad de esas personas, como la Gestión Digital de Restricciones (Digital Restructions Manager o DRM por sus siglas en inglés). Stallman puso en marcha la Free Software Fundation (Fundación para el Software Libre) en octubre de 1985 para ocuparse de los aspectos istrativos, organizativos y legales del Proyecto GNU, y también para difundir el uso y el conocimiento del Software Libre. Las principales licencias del proyecto GNU son la Licencia Pública General de GNU (GPL, General Public License en inglés) y la Licencia Pública General Reducida de GNU (LGPL, GNU Lesser General Public License), aunque el nombre original de esta última era «Licencia Pública General de Bibliotecas de GNU». Con los años, se han establecido como las licencias de Software Libre más utilizadas. Para ampliar, puede consultarse el siguiente url: https://www.fsf.org/es/about
Software Libre: diferencias con otros tipos de software • De Código Abierto
El software de código abierto es un software que pone a disposición de cualquier su código fuente, y otorga derechos para utilizar, modificar y distribuir el software. La Página 5 de 9
Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
Open Source Definition define los términos de uso, modificación y redistribución del software de código abierto, que puede consultarse aquí: http://opensource.org/osd Los promotores del software de código abierto ven que estos términos, “código abierto” u "open source" en inglés, evitan la ambigüedad de la palabra “free” en inglés, utilizada por la FSF para hablar de “free software” (software libre). La idea del código abierto se centra en la premisa de que, al compartir el código, el programa resultante tiende a ser de calidad superior al software propietario; es una visión técnica. Es un movimiento más pragmático, se enfoca más en los beneficios prácticos, como al código fuente, que en los aspectos éticos o de libertad que resultan sumamente relevantes en el Software Libre. El software de código abierto defiende 10 premisas: 1. Libre redistribución: el software debe poder ser regalado o vendido libremente. 2. Código fuente: el código fuente debe estar incluido u obtenerse libremente. 3. Trabajos derivados: la redistribución de modificaciones debe estar permitida. 4. Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas sólo como parches. 5. Sin discriminación de personas o grupos: en su uso, nadie puede quedar afuera. 6. Sin discriminación de áreas de iniciativa: los s comerciales no pueden ser excluidos. 7. Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa. 8. La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor. 9. La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro software que sea distribuido con el software abierto deba también ser de código abierto. 1 La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la 0. licencia por medio de un por click de ratón o de otra forma específica del medio de soporte del software. Según Stallman, "El código abierto es una metodología de programación, el software libre es un movimiento social; un movimiento para el que el software libre es un imperativo ético, el respeto esencial por la libertad de los s. En cambio, la filosofía del código abierto plantea las cuestiones en términos de cómo «mejorar» el software, en sentido meramente práctico" 10 • Privativo El software privativo -también llamado propietario, de código cerrado o software no librees cualquier programa informático en el que el tiene limitaciones para usarlo, modificarlo o redistribuirlo (esto último con o sin modificaciones). El software privativo se encuentra amparado bajo licencias que reservan para el fabricante algunos o todos los derechos de uso, copia, modificación y distribución. En este caso, el fabricante paga previamente una regalía y concede el uso de una copia ejecutable del programa al titular de la licencia, al . De esta manera, el no es dueño del software que está funcionando en su computadora; el propietario sigue siendo el fabricante y no otorga al la facultad de realizar modificación alguna.
Página 6 de 9
Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
El software privativo, al no permitir conocer el código fuente, no permitir estudiar la forma en que el sistema realiza sus funciones, esto hace que el no pueda saber si el software que está usando realiza cosas que no desea. Dadas las características del software de código cerrado, un común ignora absolutamente el contenido del mismo y por tanto si existe dentro de las líneas del código alguna amenaza contra su equipo o su información. Además, el no sólo tiene prohibido eliminar o cambiar esa parte del código sino que puede ser perseguido por la ley por el hecho de intentar conocer si existe tal amenaza en dicho software. • Freeware o Gratis Un software que es gratis no dice nada con respecto a las libertades del , a las posibilidades de estudiar, compartir y distribuir el mismo. Que un programa sea gratuito no significa que se pueda acceder necesariamente a su código fuente. Cualquier software que no exija un monto por su adquisición es Freeware, sea software libre, privativo o de código abierto. Esta aclaración sólo se hace para evitar cualquier confusión acerca del software libre o de código abierto. Debe quedar claro que el software libre puede ser o no gratis. Es habitual que este tipo de sistemas se utilicen para promocionar otros programas (típicamente con funcionalidad más completa) o servicios. • Shareware No es siquiera software gratis; es un método de distribución ya que los programas, generalmente sin códigos fuente, se pueden copiar libremente, pero no usar en forma permanente sin pagarlos. En esta modalidad, el puede evaluar gratuitamente el producto pero con limitaciones en el tiempo de uso o en algunas de las formas de uso. La exigencia de pago puede estar incentivada por funcionalidad limitada. En un video publicado en la web, se explica de una manera muy divertida la diferencia entre el software libre y el software propietario, haciendo una analogía entre la receta de un apetitoso pastel y el al código fuente de un software. 11
Hardware Libre Se puede denominar hardware libre a todos aquellos dispositivos de hardware cuyas especificaciones y diagramas esquemáticos sean de público. Al querer aplicar las libertades del software libre al hardware, aparecen algunas dificultades propias de la distinta naturaleza de ambos. No se pueden aplicar directamente las cuatro libertades del software libre al hardware; este último tiene existencia física, el otro no. Es por ello que aparecen una serie de problemas: Un diseño físico es único. Si yo construyo una placa, es única. Para que otra persona la pueda usar, bien le dejo la mía o bien se tiene que construir una igual. La "compartición" tal cual la conocemos en el mundo del software no es posible, la compartición en el hardware tiene asociado un coste. La persona que quiera utilizar un hardware ya diseñado primero lo tiene que fabricar, para lo cual tendrá que comprobar los componentes necesarios, construir el diseño y verificar que se ha hecho correctamente. Todo esto tiene un coste y es necesaria la disponibilidad de los componentes. ¿Están disponibles los chips? Al intentar fabricar un diseño es posible encontrarse con el problema de la falta de material. Una primera propuesta para definir el hardware libre es la siguiente: ofrece las mismas cuatro libertades que el software libre pero aplicadas a los planos del hardware. Si en el software hablamos de fuentes, aquí hablamos de planos. A partir de ellos podemos fabricar el hardware. El proceso de construcción tiene asociado un coste, que no existe en el caso del software. Sin embargo los planos están disponibles para que cualquiera los pueda usar, modificar y distribuir. 12
Página 7 de 9
Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
Tal como se detalló previamente en este capítulo con respecto a las discusiones en torno al software libre y el software de código abierto, en el mundo del hardware libre florecen las mismas discusiones, por eso a continuación se brinda una definición que ofrece la Source Hardware Association: "Hardware de Fuentes Abiertas (OSHW en inglés) es aquel hardware cuyo diseño se hace disponible públicamente para que cualquier persona lo pueda estudiar, modificar, distribuir, materializar y vender, tanto el original como otros objetos basados en ese diseño." Esto puede ampliarse mediante el siguiente link: 13
Algunos proyectos interesantes con Hardware Libre • Arduino: http://www.arduino.cc/ • Raspberry Pi: https://www.raspberrypi.org/ • RepRap: http://reprap.org/wiki/RepRap_en_espa%C3%B1ol_-_RepRap_in_Spanish
Cultura Libre Todas las libertades que se mencionaron asociadas al software se pueden aplicar a la cultura. Como publicara hace poco tiempo un artículo de la revista Pillku, "Podemos decir que la cultura libre es un fork del software libre que está superando con creces todas las expectativas." Los movimientos por la cultura libre apuestan a permitir la copia, distribución y comunicación de los conocimientos y las expresiones artísticas generadas en una sociedad. Tal como reflexiona Lawrence Lessig, una cultura libre no es una cultura sin propiedad; no es una cultura en la que no se paga a los artistas. Una cultura sin propiedad, o en la que no se paga a los artistas, es la anarquía, no la libertad. Construir cultura, compartir conocimiento, poner en común lo que sabemos, lo que podemos dar, sin dudas, con el correr del tiempo, definitivamente nos hará libres. Hace algunos años, Eben Moglen, uno de los principales referentes de la comunidad de Software Libre, planteaba que la lucha por la libertad de expresión en nuestro tiempo se estructura en cuatro aspectos fundamentales: el hardware libre, el software libre, la cultura libre y el espectro radioeléctrico libre. Estos cuatro aspectos que hacen a la comunicación en la era digital están de algún modo cubiertos en las propuestas de esta convergencia por la cultura libre que se intenta construir. Se trata, ni más ni menos, de la democratización de las herramientas de nuestro tiempo, la libertad y la participación en la cultura y el ejercicio pleno del derecho a la comunicación y a la educación. 14
¿Estamos preparados para la revolución? Música, Libros... Si el derecho de autor, nacido para proteger la cultura, se ha convertido en el principal arma para asfixiarla, algo está fallando. Si esto es así, se han olvidado los fines a los que sirven esos derechos. Si esto es así, hay que cambiarlo todo. Existen muchos casos interesantes para reflexionar sobre las posibilidades que brindan los avances tecnológicos actuales y los modelos de negocios existentes que ven amenazado su normal funcionamiento por dichos avances. Internet puso a disposición de todos los s la posibilidad de compartir recursos sin costo adicional, más que el propio de poseer una conexión. Sin embargo, tenemos leyes que prohiben compartir esos recursos. Dejamos abierto el debate... • Caso Taringa http://derechoaleer.org/blog/2012/05/taringa-y-el-delito-que-nos-afec.html • Caso The Pirate Bay
Página 8 de 9
Introducción al Software Libre - Unidad 1 - Introducción al Software Libre
http://derechoaleer.org/blog/2014/07/the-pirate-bay-el-catalogo-de-la-biblioteca-de-babel.ht ml • Cadra-UBA http://derechoaleer.org/blog/2013/06/infografia-la-estafa-cadra-uba.html • Caso Cuevana http://derechoaleer.org/blog/2012/03/expediente-cuevana.html
Para continuar leyendo:
1 2 3
4 5 6 7 8 9 10 11 12
13 14
Federico Heinz, "MABI, Monopolios Artificiales sobre Bienes Intangibles", Software Libre y Software Privativo, página 74. http://www.gnu.org/philosophy/free-sw.es.html Beatriz Busaniche, "Libres de monopolios sobre la vida y el conocimiento. Hacia una convergencia de movimientos". Capítulo: Software Libre para sociedades libres, página 83. GNU/Linux. https://es.wikipedia.org/wiki/GNU/Linux Linux y GNU. http://www.gnu.org/gnu/linux-and-gnu.es.html Richard Stallman. "Software Libre para una sociedad libre". Capítulo I: El proyecto GNU y el Software Libre. Federico Heinz, "Argentina Copyleft", Software Libre: La revolución constructiva. Introducción al Software Libre. http://www.gnu.org/philosophy/free-software-intro.es.html Prudencio Óscar Mochi Alemán. Revista Mexicana de Ciencias Políticas y Sociales 2002 XLV(185) http://www.redalyc.org/pdf/421/42118505.pdf Software Libre para la Libertad. http://www.gnu.org/philosophy/free-software-for-freedom.es.html https://vimeo.com/28316416 Hardware libre: clasificación y desarrollo de hardware reconfigurable en entornos GNU/Linux. http://www.iearobotics.com/personal/juan/publicaciones/art4/ Hardware de Fuentes Abiertas. http://www.oshwa.org/definition/spanish/ Beatriz Busaniche, "Argentina Copyleft", Introducción.
Página 9 de 9