p. 2
unesco organización de las naciones unidas para la educación la ciencia y la cultura oficina regional de ciencia para américa latina y el caribe sector comunicación e información unesco montevideo guía práctica sobre software libre su selección y aplicación local en américa latina y el caribe fernando da rosa federico heinz
[close]
p. 3
guía práctica sobre software libre su selección y aplicación local en américa latina y el caribe los autores se hacen responsables por la elección y presentación de hechos que figuran en la presente publicación y por las opiniones que aquí expresan las cuales no reflejan necesariamente las de la unesco y no comprometen a la organización las denominaciones empleadas en esta publicación y la forma en que aparecen presentados los datos no implican de parte de la unesco juicio alguno sobre la condición jurídica de países territorios ciudades o zonas o de sus autoridades ni sobre la delimitación de sus fronteras o límites unesco coordinador günther cyranek autores fernando da rosa y federico heinz otros colaboradores beatriz busaniche y gustavo boksar diseño de portada e imagen jorge ambiado crédito de las fotos foto de linus torvalds tomado de la wikipedia bajo licencia gnu free documentation license con permiso de martin streicher editor en jefe de linuxmag foto de richard stallman fotografía de bill ebbesen licenciada como dominio público fotos de latinoware 2006 lacfree 2005 jornadas regionales 2004 fotografías de fernando da rosa mapa conceptual del software libre realizado originalmente por rené mérou bajo licencia gpl modificado por fernando da rosa jorge ambiado y gustavo boksar por más información por favor diríjase a günther cyranek sector de comunicación e información oficina regional de ciencia de la unesco para américa latina y el caribe edificio mercosur dr luis piera 1992 11200 montevideo uruguay teléfono 598 2 413 20 75 ext 126 124 fax 598 2 413 20 94 correo electrónico g.cyranek@unesco.org oficina regional de ciencia de la unesco para américa latina y el caribe © unesco 2007 isbn 92-9089-103-3 guía práctica sobre software libre su selección y aplicación local en américa latina y el caribe fernando da rosa y federico heinz paginado impreso y encuadernado en mastergraf srl gral pagola 1727 cp 11800 tel 203 4760 montevideo uruguay depósito legal 339.016 comisión del papel edición amparada al decreto 218/96
[close]
p. 4
agradecimientos los autores quisieran agradecer a todos aquellos que han contribuido con esta guía proporcionado información opiniones y consejo un agradecimiento especial por cierto a richard stallman la free software foundation y el proyecto gnu por su incansable y visionaria labor de dos décadas sin la cual estaríamos muy lejos de una comprensión cabal del fenómeno del software de las consecuencias de sus modos de licenciamiento y de la concreción del software libre como una realidad cotidiana esta guía no hubiera sido posible sin la colaboración en la revisión del material crítica constructiva y aportes de beatriz busaniche y gustavo boksar también deseamos agradecer los aportes siempre valiosos de rodolfo pilas y en general a toda la comunidad del software libre la cual construye su reflexión en torno al software libre de la misma manera en que lo desarrolla aportando sobre la base de lo realizado anteriormente en una dinámica que hace del movimiento del software libre algo en permanente desarrollo reproducción esta publicación puede ser total o parcialmente fotocopiada reproducida almacenada en un sistema de recuperación o transmitida en cualquier forma o por cualquier medio o adaptada a las necesidades locales sin fines de lucro todas las formas de reproducción adaptación y/o traducción por medios mecánicos o electrónicos deberán indicar como fuente de origen a unesco y los autores que correspondan la notificación de cualquier reproducción traducción o adaptación deberá ser enviada a unesco junto con una copia del documento o una dirección electrónica donde fue almacenado
[close]
p. 5
guía práctica sobre software libre su selección y aplicación local en américa latina y el caribe software libremente en 2001 al comenzar unesco a brindar apoyo al movimiento de software libre se cumplieron 18 años desde que lanzamos el movimiento y empezamos a desarrollar el sistema operativo gnu hemos recorrido un largo camino en 1984 era imposible usar un sistema moderno de computadora sin instalar un sistema operativo propietario que hubiera sido entonces obtenido bajo una licencia de uso restrictiva nadie tenía permiso para compartir libremente el software con otros usuarios y prácticamente todos los usuarios tenían bloqueado el acceso que les hubiera permitido ajustar el software a sus propias necesidades los propietarios del software habían levantado paredes para dividirnos el proyecto gnu fue fundado para cambiar esto su primera meta desarrollar un sistema operativo portable compatible con unix que fuera hecho 100 de software libre ni 95 ni 99.5 sino 100 de manera que los usuarios fueran libres de distribuir el sistema completo y de cambiar y contribuir con cualquier parte de él el nombre del sistema gnu es un acrónimo recursivo que significa gnu no es unix como manera de rendir homenaje a unix y a la vez indicar que gnu es algo diferente técnicamente gnu es como unix pero gnu le da a sus usuarios libertad y unix no llevó muchos años de trabajo por parte de cientos de programadores para desarrollar este sistema operativo algunos fueron contratados por la free software foundation y por las compañías libres de software libre la mayoría sin embargo eran voluntarios algunos se han vuelto famosos mientras que la mayoría son conocidos principalmente entre sus pares conocidos por otros hackers que usan o trabajan sobre su código todos juntos han ayudado a liberar el potencial de uso de las computadoras para toda la humanidad.
[close]
p. 6
en 1991 fue desarrollado el último componente esencial de un sistema del estilo de unix linux el kernel libre escrito por linus torvalds hoy la combinación de gnu y linux es usada por millones de personas alrededor del mundo y su popularidad está creciendo el escritorio gráfico de gnu hace ahora del sistema gnu/linux un sistema casi tan fácil de usar como cualquier otro sistema operativo pero nuestra libertad no está asegurada para siempre el mundo no se queda quieto y no podemos contar con el hecho de tener libertad dentro de cinco años solamente porque la tenemos hoy el software libre enfrenta desafíos difíciles y peligros serán necesarios ciertos esfuerzos para preservar nuestra libertad así como llevó esfuerzo obtener esta libertad al principio mientras tanto el sistema operativo es solamente el comienzo ahora necesitamos aplicaciones libres que manejen toda la gama de trabajos que los usuarios quieren hacer no importa el trabajo que uno quiera hacer con la computadora no se debería renunciar a la libertad de hacerlo unesco siempre ha apoyado la extensión y la diseminación del conocimiento humano le agradezco a unesco por reconocer que en el dominio del software el software libre disemina el conocimiento humano de una manera imposible de lograr por el software que no es libre richard stallman
[close]
p. 7
contenido página 1 2 3 4 5 6 7 8 9 10 11 12 13 14 prólogo introducción código fuente y software libre cómo seleccionar software libre cómo migrar a software libre software libre en educación software libre en la administración pública desarrollo de software libre eventos de software libre de américa latina con proyección internacional organizaciones y puntos de contacto anexo i software libre seleccionado anexo ii tabla comparativa entre software privativo y software libre sustitutivo bibliografía 8 11 25 37 41 51 55 61 67 73 83 91 103 contratapa mapa conceptual del software libre
[close]
p. 8
guía práctica sobre software libre su selección y aplicación local en américa latina y el caribe prÓlogo a partir de las recomendaciones surgidas del lacfree 2005 conferencia latinoamericana y del caribe sobre desarrollo y uso del software libre que tuviera lugar en recife brasil la unesco percibió la necesidad de proveer información concreta sobre las experiencias en el uso de software libre tanto los telecentros como los centros comunitarios multimedia están interesados en introducir más soluciones de software libre para sus usuarios en las comunidades locales los docentes buscan aplicaciones de código abierto que les permitan incluir formas de aprendizaje interactivo en los temas de la curricula modelos simulaciones gráficos multimedia comunicación y diseño web requieren herramientas de software libre accesibles al mundo educativo los sistemas de gerenciamiento de aprendizaje de software libre poseen una amplia funcionalidad profesional y facilitan la organización institucional del aprendizaje virtual a nivel de escuelas y universidades las prioridades de la información para todos apuntan a la reducción de la brecha digital y en muchos países son parte de la política nacional para el diseño de sociedades del conocimiento el software libre puede contribuir con soluciones a esas demandas de inclusión digital y social por ejemplo ofreciendo herramientas para que las personas con déficit visual o auditivo puedan aprovechar las bibliotecas y escuelas públicas al mismo tiempo los expertos ven al software libre como una herramienta para desarrollar capacidades competitivas en ingeniería de software y en las industrias vinculadas a nivel nacional esta guía práctica presenta definiciones de lo que es el software libre de acuerdo a la free software foundation y explica los procesos de desarrollo del software como una actividad basada en la comunidad.
[close]
p. 9
las recomendaciones de carácter práctico para migrar hacia el software libre facilitan el realizar estudios de factibilidad la guía desarrolla cinco argumentos en cómo las administraciones públicas y el concepto de gobierno electrónico pueden beneficiarse del uso del software libre y los formatos abiertos finalmente esta guía para américa latina y caribe nos ayudará a entender el papel fundamental que el software libre pueden jugar en el uso de las tecnologías de la comunicación y la información para un desarrollo sostenible günther cyranek consejero de comunicación e información en el mercosur y chile oficina regional de ciencia de la unesco para américa latina y caribe unesco montevideo agosto 2007 pÁgina 9
[close]
p. 11
una breve introduccion e s muy difícil comprender en forma cabal la importancia y proyección del software libre sin antes entender qué es el software cómo se desarrolla y su rol dentro de los sistemas de procesamiento de datos para esto necesitamos explorar conceptos básicos vinculados a la informática tales como tecnología programa código fuente y código objeto la computadora or mucho que se hable de dispositivos inteligentes pocas cosas hay más tontas que el procesador de una computadora si vamos a su esencia un procesador elemental sólo sabe manejarse con un alfabeto de dos letras 0 y 1 y dadas dos letras de este alfabeto calcular su suma por lo general las computadoras no operan sobre letras individuales llamadas bits sino sobre palabras de ocho letras llamadas bytes por ejemplo 01100101 hay un total de 256 palabras distintas que se pueden escribir con ocho bits estas 256 palabras que si las interpretamos como números binarios representan los números del cero al 255 constituyen el vocabulario completo de la computadora ¿cómo es posible que con sólo 256 palabras en su vocabulario una computadora pueda hacer tantas cosas ¿cómo es posible que sólo sumando pueda hacer cálculos complejos pÁgina 13
[close]
p. 12
guía práctica sobre software libre su selección y aplicación local en américa latina y el caribe el secreto está en que la computadora es programable la computadora sabe obedecer órdenes y tiene la capacidad de ejecutar millones de instrucciones en un solo segundo ejecutando operaciones sobre los millones de bytes que constituyen su memoria combinando instrucciones podemos escribir programas que combinen e interpreten las palabras almacenadas en la memoria de distinta manera de acuerdo al contexto como cada una de las letras de este texto como números o notas musicales o colores enviando los datos de la manera adecuada a una pantalla una impresora o una tarjeta de sonido el programa puede impresionar nuestros sentidos aceptando datos desde el teclado y el ratón puede responder a nuestros comandos las computadoras son dispositivos de propósito general a las que podemos configurar para cumplir tareas específicas imprimir documentos tocar música mostrar videos interconectar redes por sí mismas son incapaces de realizar ninguna para ello necesitan que alguien les provea instrucciones detalladas acerca de cómo interpretar la información y cómo comunicarse con el usuario un programa es un conjunto de instrucciones para la computadora que le permite llevar adelante una tarea específica ese programa se escribe como se escribe este texto o cualquier relato los encargados de escribir esos textos son los programadores que dominan un determinado lenguaje de programación para realizar esta tarea como nosotros dominamos el español su gramática y su sintaxis para construir este texto.
[close]
p. 13
¿qué es el código fuente el programa ara que el milagro de hacer tantas cosas con un lenguaje de sólo 256 palabras sea posible es necesario darle instrucciones precisas al procesador de la computadora indicarle paso a paso qué hacer con esos unos y ceros combinados en palabras de ocho letras un buen ejemplo de lo complejo que esto puede ser es el cuento instrucciones para subir una escalera de julio cortázar en realidad por detalladas que suenen las instrucciones de julio cortázar una computadora que intentara seguirlas las encontraría exasperantemente abstractas aún si dejáramos de lado el detalle de que levantar no tiene sentido sin antes ponernos de acuerdo dónde es arriba y suponiendo que sabemos qué es un pie una simple instrucción como levantar el pie deja a la computadora fuera de combate hay que levantarlo sí ¿pero cómo más acertado sería enumerar las articulaciones de la pierna que deben moverse y especificar a qué ángulo deben flexionarse en cada instante del tiempo pero esto tampoco sería suficientemente detallado lo que en realidad hay que describir es el detalle de los impulsos nerviosos que hay que enviarle a cuáles músculos con menos de esto la máquina no sabría por dónde empezar para subir una escalera se comienza por levantar esa parte del cuerpo situada a la derecha abajo envuelta casi siempre en cuero o gamuza y que salvo excepciones cabe exacta mente en el escalón puesta en el primer peldaño dicha parte que para abreviar llamaremos pie se recoge la parte equivalente de la izquierda también llamada pie pero que no ha de confundirse con el pie antes citado y llevándola a la altura del pie se le hace seguir hasta colocarla en el segundo peldaño j ulio cortázar pÁgina 15
[close]
p. 14
guía práctica sobre software libre su selección y aplicación local en américa latina y el caribe eso sí provista con instrucciones suficientemente detalladas la computadora las cumple rápidamente y sin cuestionarlas si las instrucciones contienen alguna equivocación que la llevan a patear la escalera hasta convertirla en astillas o si es una escalera dura hasta destrozar el pie lo hará sin dudar pues la computadora está hecha sólo para obedecer órdenes para poder manejar la complejidad que requiere dar una descripción tan detallada y precisa la exquisita prosa de julio cortázar no sólo es demasiado abstracta sino peligrosamente ambigua en vez de usar castellano o inglés los programadores utilizan lenguajes formales fuertemente apoyados en la matemática y derivan de ella el poder de expresar relaciones abstractas en términos de elementos más concretos en estos lenguajes formales se escriben los programas y se desarrolla el denominado código fuente el que luego se traduce al lenguaje super detallado que requiere la máquina el lenguaje máquina.
[close]
p. 15
lenguaje de máquina diferencia de los objetos materiales que se fabrican los programas se escriben quizás parte de la fascinación que la programación ejerce sobre quienes la practican se deba a la magia aparente de lograr que una máquina cumpla las órdenes que le impartimos verbalmente para que pueda entender lo que le ordenamos sin embargo debemos comunicarnos con ella de una manera especial el procesador dentro de cada computadora sólo comprende instrucciones escritas en su propio lenguaje denominado lenguaje de máquina a veces mencionado como código binario o código objeto existen muchos tipos distintos de procesador y cada uno de ellos tiene un lenguaje de máquina distinto diseñado por su fabricante esa es la razón por la que no es posible ejecutar cualquier programa en cualquier computadora los programas escritos en lenguajes de máquina son básicamente larguísimas listas de números cada uno de estos números representa una operación elemental por ejemplo 1 sumar 2 restar 3 almacenar en memoria etc o un operando o una combinación de ambas cosas para que el lector pueda darse una idea concreta de cómo es un programa codificado en lenguaje de máquina lo ilustraré con un ejemplo lo que sigue es una pequeña porción de un programa escrito en el lenguaje de máquina de los procesadores de la familia intel funcionando bajo el sistema operativo gnu/linux este programa imprime la raíz cuadrada de un número cualquiera si el pÁgina 17
[close]