El software libre: distribuciones GNU/Linux 1. Introducción ....................................................................... 1 2. Nacimiento del software libre ............................................. 2 3. ¿Qué es GNU/Linux? ........................................................ 4 4. Distribuciones .................................................................... 8 5. Trabajar con Ubuntu .......................................................... 9 6. Comparativa Windows – GNU/Linux................................ 16 7. La filosofía del software libre ........................................... 17 8. Licencias de programas................................................... 19 9. Software libre disponible.................................................. 21 10. Cómo podemos conseguir software libre ......................... 24 Elaborado por Tecniber-5 Revisado, julio de 2012 El software libre: distribuciones GNU/Linux 1. Introducción Capas de un sistema informático En el grafico1 siguiente podemos apreciar las diferentes capas que forman un sistema informático, partiendo de la primera capa (el hardware) hasta el espacio de usuario. Hardware o equipo físico: conjunto de elementos físicos de un sistema informático. Software o equipo lógico: Conjunto sistemático de los programas de explotación y de los programas que sirven para aplicaciones informáticas determinadas. Podemos clasificarlo en dos grandes tipos: a) Sistema operativo: conjunto de programas que controlan las operaciones del ordenador en si, haciendo de enlace entre les aplicaciones y el hardware. Básicamente está formado por las siguientes estructuras: ― Núcleo (en inglés Kernel): parte fundamental de un sistema operativo formada por el software que facilita a los diferentes programes el acceso seguro al hardware. Gestiona el resto de estructuras del sistema operativo. ― Administrador de memoria software que se encarga de asignar un espacio de memoria RAM a cada proceso para almacenare los resultados, datos temporales y gestionar el intercambio de datos entre memoria y disco. ― Sistema de entrada y salida (E/S) software que se encarga de controlar los diferentes dispositivos conectados al ordenador. ― Administrador de archivos software que se encarga de la creación, modificación, eliminación y localización de los archivos necesarios para trabajar. También se encarga de comprobar los privilegios de acceso de los usuarios. b) Aplicaciones: programas que resuelven las necesidades de los usuarios del ordenador como: procesadores de textos, hojas de cálculo, gestores de bases de datos, de tratamiento de imágenes, de tratamiento de sonido y de tratamiento de vídeo, navegadores, gestores de Web, juegos… 1 Fuente: Jordi Lafuente Navarro: “Comparativa de distribucions Gnu/Linux en format live-cd de 64 bits”: http://openaccess.uoc.edu/webapps/o2/bitstream/10609/6083/1/jlafuenteTFC0111.pdf [Consulta realizada el dia 3 de febrero de 2012] -1- El software libre: distribuciones GNU/Linux 2. Nacimiento del software libre ¿Qué es? Software que permite al usuario ejecutarlo sin ponerle condiciones, distribuir copias, modificar el código fuente para perfeccionar el funcionamiento o adaptarlo a usos concretos, y difundir los resultados de estas modificaciones ca es fr fr en en programari lliure, m software libre logiciel libre logiciel ouvert free software freeware Al hablar del software libre utilizamos a menudo términos como por ejemplo código ejecutable, código fuente... Definiremos primero estos términos para fijar con2 ceptos que nos resultarán útiles para entender el tema que nos ocupa . Lenguaje de programación: lenguaje artificial que permite generar y expresar programas informáticos. Código fuente: conjunto de instrucciones en un lenguaje de programación que un sistema informático debe procesar para poderlas ejecutar. Código ejecutable: conjunto de instrucciones en código binario (cadenas de unos y ceros) que sólo el ordenador puede interpretar, ejecutar y cumplir. Compilar: convertir un programa de origen (código fuente) en un programa resultante (código ejecutable). Código fuente abierto: código fuente al cual se puede acceder para hacer modificaciones que permitan perfeccionar el funcionamiento de un software, o adaptarlo a usos concretos. Los programadores escriben las instrucciones que los procesadores de los ordenadores deberán ejecutar. Para escribir estas instrucciones utilizan los llamados lenguajes de programación. El código fuente de una aplicación informática es el conjunto de instrucciones complejas que el procesador leerá y ejecutará. Para que el procesador sea capaz de entender estas instrucciones es necesario compilar el código fuente para convertirlo en código ejecutable, que son series de instrucciones básicas que el procesador interpreta. El resultado de esta compilación es el código ejecutable. ¿Cómo nació? Durante los años 60, los sistemas informáticos eran my caros y se destinaban a finalidades científicas. Uno de los centros de investigación más importantes de la época era el Massachusetts Institute of Technology (el MIT) donde trabajaban personas apasionadas por la informática, con un gran conocimiento de los sistemas informáticos y un vivo interés para explorar las características y poner a prueba sus habilidades en este ámbito. Estos informáticos eran llamados hackers3. Durante esta época (años 60 y 70) los programas se distribuían con su código fuente de tal manera que los informáticos podían participar en su mejora. El código de conducta de los hackers los llevaba a compartir sus trucos y sus hallazgos. El sistema operativo más influyente de esta época era el Unix4 propiedad de la empresa AT&T. Esta empresa no facilitaba asistencia técnica sobre el Unix, pero sí una copia del código fuente que podía ser adquirida por poco dinero. Los centros de compu2 Elaborado a partir de Rosell, Xavier: Programari lliure. Idees y conceptes. http://www.edu365.com No debe confundirse a los hackers con los crackers. Estos últimos son personas que se introducen ilegalmente en un sistema informático con la voluntad de producir un perjuicio o obtener un provecho. 4 Un sistema operativo es un programa informático que controla tareas básicas en un ordenador, por ejemplo, la ejecución de programas y de aplicaciones, la asignación de memoria interna y la conexión y desconexión de periféricos. UNIX fue el primer sistema operativo multiusuario, multiproceso u multiplataforma. 3 -2- El software libre: distribuciones GNU/Linux tación y las universidades podía así adaptar el sistema a sus necesidades. Pero a principios de los 80 AT&T decidió cerrar el código y no distribuirlo. Entre las empresas de software se iría extendiendo un modelo de código cerrado, en virtud del cual el software se vendía sin código fuente y, cada vez más, las libertades de los usuarios iban disminuyendo. En este contexto, Richard Stallman, ingeniero del MIT, empezó a ver con desagrado como dejaba de tener acceso al código fuente. Esta situación le impide solucionar problemas y adaptar los programas a sus necesidades. Su ética de hacker no le permitía firmar acuerdos de exclusividad y de no compartición que su empresa le pedía. Decidió abandonar el MIT e iniciar el proyecto de construir un sistema de software completo y absolutamente libre. En 1984, Stallman crea la Free Software Foundation con el objetivo de crear el sistema operativo libre inspirado en Unix, al cual llamaría GNU (que significa GNU no es UNIX), y la potenciación del software libre. Leer el primer mensaje escrito por Richard Stallman en 1983, en el que anunciaba su proyecto: http://www.gnu.org/gnu/initial-announcement.es.html Leer el “Manifiesto GNU” de Stallman: http://www.gnu.org/gnu/manifesto.es.html La Free Software Foundation propone una definición de software libre que está basada en cuatro libertades básicas: 1. Libertad para poder utilizar el programa con cualquier finalidad. 2. Libertad para estudiar cómo funciona el programa; incluye el acceso a su código fuente. 3. Libertad para redistribuir el programa. 4. Libertad para hacer modificaciones y distribuir las mejoras, incluye el acceso a su código fuente. -3- El software libre: distribuciones GNU/Linux 3. ¿Qué es GNU/Linux? Linux es la denominación de un sistema operativo, que resulta de la combinación de las herramientas del sistema operativo GNU y el núcleo (en inglés kernel), llamado Linux. A menudo, para abreviar, cuando hacemos referencia a GNU/Linux decimos simplemente Linux. Linux se ha convertido en el barco insignia del movimiento del software libre, entendido como un sistema operativo completamente libre que incluye todo tipo de herramientas para servidores y usuarios finales. Unix está basado en las ideas que surgieron del proyecto conjunto llamado Multics de los Laboratorios Bell, AT&T, General Electric Company y el MIT en el año 1964 para crear un sistema operativo de tiempo compartido que permitiera a un grupo numeroso de usuarios tener una gran capacidad de computación y almacenamiento de grandes cantidades de datos. Estas ideas las aprovechó Ken Thompson de los Laboratorios Bell para desarrollar un entorno de trabajo agradable para una de las grandes máquinas de la época, la DEC PDP-7. A este proyecto se añadió un poco más tarde Denis Ritchie y juntos crearon la primera versión de Unix. Este sistema operativo disfrutó de una gran aceptación, sobre todo a partir de 1973 cuando fue reescrito en C5, inventado aquel año por el mismo Ritchie y que se acabaría convirtiendo en el lenguaje de programación por excelencia. Esto permitió que Unix pudiera funcionar en cualquier ordenador con cambios mínimos, hasta entonces se tenía que volver a escribir para cada nueva máquina. A partir del año 1978 dejó de ser una herramienta de investigación y desarrollo interno de los Laboratorios Bell y muchas universidades e instituciones lo adoptaron y se pusieron a trabajar. La variante más importante fue la de la Universidad de Berkeley en California que, financiada por el gobierno de los Estados Unidos, fue desarrollada por expertos en redes de comunicaciones para implementar los protocolos de la red DARPA, precursora de la actual Internet. Esta versión de Unix fue llamada Berkeley Software Distribution (BSD). Hasta aquel momento cualquiera podía disponer por poco dinero de una copia del código fuente del sistema operativo, de tal manera que los centros de computación y las universidades podían adaptar el sistema a sus necesidades. Pero a principios de los 80 AT&T decidió cerrar el código y no distribuirlo. Entre las empresas de software se iría extendiendo un modelo de código cerrado, en virtud del cual el software se vendía sin código fuente y, cada vez más, las libertades de los usuarios iban menguando. En este contexto, Richard Stallman, ingeniero del MIT, comienza a ver con desagrado como deja de tener acceso al código fuente. Esta situación le impide solucionar problemas y adaptar los programas a sus necesidades. Abandona el MIT e inicia el proyecto de construir un sistema de software completo y absolutamente libre. Durante los años 80, Stallman trabajó en el desarrollo de las herramientas necesarias para crear el sistema operativo GNU completamente libre. El año 1987 el profesor Andrew S. Tanenbaum queria enseñar el sistema operativo Unix a sus alumnos, pero este sistema operatiu estaba bajo restricciones de licencia d'AT&T, era demasiado complicado i corria en máquinas complejas, es por esto que 5 El lenguaje de programación C o lenguaje C, fue creado por Dennis Ritchie y Ken Thompson en los Laboratorios Bell d'AT&T, a principios de la década de los 70. C está basado en un lenguaje que había creado Ken Thompson llamado lenguaje B en 1970. El lenguaje C se creó por la necesidad de disponer de un lenguaje que fuera más flexible que el ensamblador a la hora de programar, pero que mantuviera la característica de ser un lenguaje cercano a la máquina. Actualmente, C es el lenguaje más utilizado para desarrollar sistemas operativos y otros tipos de software básico, y también para aplicaciones en general. (http://ca.wikipedia.org/wiki/Llenguatge_C) -4- El software libre: distribuciones GNU/Linux creó una versión reducida de Unix, a la que llamó Minix, que pudiera funcionar sobre los ordenadores personales de la época (8088 sin disco duro). Tanenbaum publicó el código fuente completo en el índice de su libro de texto, Operating Systems: Design and Implementation (1987). El sistema operativo Minix tuvo un éxito importante en el campo de la enseñanza universitaria. El año 1991 Linus Torvalds, un estudiante finlandés, decidió escribir un nuevo Minix que aprovechara las características avanzadas de los nuevos procesadores 80386. Este proyecto empezó en agosto de 1991 aunque la primera versión pública no se liberaría hasta el día 5 de octubre del mismo año. El día 25 de agosto de 1991 Linus Torvalds envía este mensaje de correo electrónico a un grupo de noticias: From: torvalds@klaava. Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. Hola a todo el mundo que utiliza minix Estoy haciendo un sistema operativo gratuito (es sólo un hobby, no será grande y profesional como el gnu) para clónicos AT 386(486). He estado trabajando desde abril, y ahora comienza a estar listo. Me gustaría saber lo que os gusta o desagrada de minix porque mi Sistema Operativo se basa en él (utilizó su sistema de ficheros por razones prácticas y otras cosas) He conseguido llevar el bash (1.08) y el gcc (1.40), y parecen funcionar. Esto implica que tendré alguna cosa funcionando de aquí a pocos meses y me gustaría saber cuáles son las funcionalidades que quiere más gente. Todas las sugerencias son bienvenidas, pero no puedo prometer que las aplicaré :-) Linus (torvalds@kruuna.helsinki.fi) P.D. Sí - no contiene código del minix, y tiene un sistema de ficheros multi hilo. NO es portable (utiliza el cambio de tareas del 386, etc.) y posiblemente nunca soportará otra cosa que no sea discos AT ya que es lo único que tengo :-( Bash: es un intérprete de comandos, empleado por el sistema GNU/Linux. Es quien se encarga de comunicar al usuario con el sistema. No es el único intérprete existente para Linux, pero sí uno de los más utilizados. -5- El software libre: distribuciones GNU/Linux GNU Compiler Collection (gcc): es un conjunto de compiladores de lenguajes de programación realizados por el sistema GNU. Un compilador es un programa de ordenador que traduce un lenguaje informático a otro lenguaje informático. El GCC lo escribió originariamente Richard Stallman el año 1987 para usarlo de compilador en el GNU y ofrecerlo gratuitamente como software libre. Ha sido adoptado como compilador principal usado para construir y desarrollar una gran cantidad de sistemas, incluyendo GNU/Linux. El proyecto interesó a programadores de todo el mundo. Como se empleaba el compilador y el intérprete de comandos de GNU también tenía las características de software libre. Nacía GNU/Linux. No se puede entender de ninguna de las maneras el fenómeno Linux sin Internet: gracias a la colaboración de programadores de todo el mundo, en 1993 Linux era estable y utilizable. Linux es el núcleo del sistema operativo, es decir, el “corazón” que le faltaba al sistema GNU que Stallman estaba diseñando. Centenares de programadores se preocuparon por integrar a su alrededor todo el software de GNU ya desarrollado y muchos otros programas libres. Por qué utilizar GNU/Linux? Coste: utilizar Linux es una opción muy atractiva para los usuarios individuales ya que no es necesario preocuparse por el precio. Es también una ventaja clara para empresas y administraciones públicas. Escrutinio público: el software libre es escrito de manera cooperativa por programadores, generalmente voluntarios, que trabajan en Internet de manera coordinada. El código fuente del programa es visible para todo el mundo, lo que hace que los errores puedan ser descubiertos de manera más rápida y que las correcciones se hagan de manera más ágil y dinámica. Innovación tecnológica: en el modelo de software libre es muy importante compartir información y trabajo cooperativo, lo que permite que el trabajo de unos revierta en beneficio de otros que pueden continuar avanzando e innovando. En el ámbito del software de propiedad, las licencias y patentes de software se utilizan para impedir que terceras personas participen de este conocimiento y lo mantienen como patrimonio exclusivo de la empresa que lo creó y no como conocimiento de dominio público. -6- El software libre: distribuciones GNU/Linux Como en el desarrollo del software libre tienen mucha importancia los usuarios, estos influyen en la dirección en la cual los programas evolucionen: votan los errores que quieren ver corregidos, proponen nuevas funciones para el programa o contribuyen personalmente a su desarrollo y mejora constantes. Requisitos de hardware y durabilidad de las soluciones: a menudo el software libre no es tan exigente con los requisitos de hardware y, por tanto, algunas soluciones son más baratas de utilizar. Por ejemplo, los sistemas Linux que actúan como servidores se pueden utilizar sin la interfaz gráfica y esto representa una reducción en el hardware necesario. Por otro lado, es práctica habitual en el ámbito del software de propiedad que un fabricante decida no continuar un proyecto con una plataforma determinada o con un hardware que considere obsoleto por lo cual algunas máquinas ya no se podrían utilizar para usar aquel programa. En el ámbito del software libre estas decisiones no las puede tomar una empresa, sino toda la comunidad, lo cual se traduce, generalmente, en un mejor soporte para las versiones de software antiguo y para las plataformas de hardware y software más minoritarias. Las máquinas Linux son muy estables i rápidas, porque el sistema operativo es muy eficiente gestionando los recursos como la memoria, la potencia de la CPU y el espacio de disco. Interficie gráfica En sus inicios Linux no era tan facil de utilitzar como otros sistemas operativos, actualmente, esta desventaja ha desaparecido ya que la mayoria de distribuciones GNU/Linux estan mejorando su uso, gracias al entorno de ventanas y escritorios que se han diseñado específicamente para este sistema. GNU/Linux tiene diversas interficies gráficas diferentes y configurables, conocidas como gestores deventanas. Actualment los má populares son el KDE (K Desktop Environment, Entorno de escritorio K) y el GNOME (GNU Network Object Model Environment, Entorno de modelos de objetos de red de GNU). Podemos hacer que una màquina Linux con el KDE parezca una máquina Mac o Windows. Trabajo en red GNU/Linux como está basado en Unix és el mejor sistema para trabajar en red. Configurar una red sobre una máquina Linux es bastante sencillo. Gran parte de la web funciona con máquinas Linux. Idioma Los idiomas minoritarios, por ejemplo el catalán o el gallego, han tenido pocas posibilidades de desarrollarse en el mundo del software de propiedad ya que el fabricante es el único que puede realizar o autorizar la traducción. En el mundo del software libre las traducciones a las lenguas minoritarias son una práctica habitual ya que no es necesaria la autorización de ningún propietario o institución. -7- El software libre: distribuciones GNU/Linux 4. Distribuciones Una distribución GNU/Linux integra un kernel y un conjunto de aplicaciones reunidas por un grupo, empresa o persona para permitir instalar fácilmente un sistema Linux. Hay numerosas distribuciones. Cada una de ellas puede incluir un número de software adicional (libre o no), por ejemplo, algún tipo de software que facilite la instalación del sistema y una gran variedad de aplicaciones, entre otras, entornos gráficos, paquetes ofimáticos, servidores web, servidores de correo, servidores de FTP, etc. Algunas distribuciones de GNU/Linux son las siguientes Slackware http://www.slackware.com Debían GNU/Linux http://www.debian.org RedHat Linux http://www.redhat.com SuSE Linux http://es.opensuse.org Knoppix http://www.knoppix.org Ubuntu http://www.ubuntu.com Mandriva (antes, Mandrake) http://www.mandriva.com gnuLinex es una iniciativa de la Junta de Extremadura para promover la creación de una distribución basada en GNU/Linux que es utilizada en los miles de centros educativos de la región. Leer en qué consiste este proyecto: http://www.linex.org En Cataluña, el departamento de enseñanza tiene una iniciativa similar: Linkat Navegar por este sitio web para conocerla: http://linkat.xtec.cat/portal/index.php -8- El software libre: distribuciones GNU/Linux 5. Trabajar con Ubuntu Podemos introducirnos en el mundo del software libre en general y de GNU/Linux en particular a partir de cualquiera de las distribuciones que hemos nombrado en el apartado anterior. En este taller trabajaremos con Ubuntu. Breve historia de Ubuntu En el año 2004 el sudafricano Mark Shuttleworth crea la empresa Canonical Ltd. que se plantea como objetivo fundamental desarrollar una distribución GNU/Linux. El 8 de julio del 2004 anuncian la creación de Ubuntu, cuya primera versión fue lanzada el 20 de octubre del 2004. Esta distribución se basa en Debían y en el escritorio Gnome. GNOME (GNU Network Objetc Model Environment), es uno de los entornos de escritorio, junto con KDE (K Desktop Environment), más populares de Linux. Un escritorio es una interfaz gráfica que tiene un conjunto de aplicaciones de configuración y utilidades que proporcionan al usuario un área de trabajo amigable. El proyecto Gnome nace en agosto de 1997 como proyecto liderado por los mejicanos Miguel de Icaza y Federico Mena para crear un entorno de escritorio completamente libre para sistemas operativos libres, en especial para GNU/Linux. Desde el principio, el objetivo principal de Gnome ha sido proporcionar un conjunto de aplicaciones amigables y un escritorio fácil de utilizar. Un proyecto anterior, con los mismos objetivos, coexistía; se trataba de KDE. Los primeros desarrolladores de Gnome criticaban este proyecto ya que se basaba en una biblioteca de 6 controles gráficos con una licencia no compatible con la licencia GPL de la Free Software Foundation. Actualmente KDE ya no tiene estos problemas por lo cual las críticas en este sentido han desaparecido. Gnome ha sido diseñado para ejecutarse en los sistemas operativos de tipo Unix con X Window, y especialmente pensando para GNU/Linux X Window: el sistema de ventanas X fue desarrollado a mediados de los años 80 en el MIT para proporcionar una interfaz gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red entre un usuario y uno o más ordenadores. X es el encargado de mostrar la información gráfica y es totalmente independiente del sistema operativo. Conseguir Ubuntu Desde la página oficial de Ubuntu (ubuntu.com) podremos descargar de manera absolutamente gratuita esta distribución. También podemos hacerlo desde las páginas de la comunidad Ubuntu en catalán (ubuntu.cat) o en español (ubuntu-es.org). Lo que nos descargamos es una imagen ISO7, que contiene la distribución que tendremos que grabar en un CD, siguiendo los pasos siguientes: 6 La Licencia Pública General del proyecto GNU (conocida por licencia GNU GPL) fue creada por la Free Software Foundation. Esta licencia, la más utilizada en el mundo del software libre, permite la distribución del código ejecutable y del código fuente. Permite hacer modificaciones del código fuente sin restricciones, pero cualquiera de estas modificaciones tiene que estar, también, bajo una licencia GPL, de esta manera se pretende garantizar que un programa publicado bajo sus condiciones nunca podrá ser propietario. En la dirección http://ca.dodds.net/gnu/gpl.ca.html encontraréis una traducción (no oficial) de esta licencia. 7 Una imagen ISO es un archivo donde se almacena una copia o imagen exacta de un sistema de ficheros, normalmente un disco óptico. Se rige por el estándar ISO 9660 que le da su nombre. Algunos de los usos más habituales incluyen la distribución de sistemas operativos, por ejemplo sistemas Linux, BSD o Live CDs. -9- El software libre: distribuciones GNU/Linux Si tenemos Windows 7 Colocamos un CD en la grabadora y, situados en la carpeta donde hemos descargado la imagen ISO, la seleccionamos y hacemos clic en Grabar imagen de disco. Aparece el cuadro de diálogo de la Grabadora de imágenes de disco. Marcamos la casilla Comprobar disco después de grabar para asegurarnos de que la imagen ISO se ha grabado correctamente. Si tenemos Windows XP o Vista, utilizaremos un programa específico, por ejemplo, ISO Recorder (http://isorecorder.alexfeinman.com/isorecorder.htm) Colocamos un CD en la grabadora y, con el Explorador de Windows, localizamos el archivo que nos hemos descargado y lo seleccionamos. Hacemos clic con el botón derecho del ratón y escogemos Copiar Imagen a CD. El CD grabado de este modo nos permitirá probar Ubuntu sin necesidad de instalarlo en nuestro disco duro, de tal manera que no afectaremos al funcionamiento de nuestro sistema actual. Cuando queramos, podremos instalarlo definitivamente en nuestro disco duro. Este tipo de CD se llama CD Live. -10- El software libre: distribuciones GNU/Linux Arranque desde el CD live La primera cuestión que nos será útil tener en cuenta es que nuestro ordenador esté preparado para arrancar desde la unidad de CD-Rom. Si el equipo no lo está, deberemos preocuparnos de configurar la BIOS8 para activar esta opción. Al introducir el CD de Ubuntu, si este no se ejecuta automáticamente, reiniciaremos el equipo y accederemos al menú de configuración de la BIOS. Al conectar el equipo una línea en la parte inferior de la pantalla nos indica que tenemos que pulsar la tecla [DEL] o [SUPR] o alguna de las teclas de función para acceder a la BIOS: 1. Una vez en el menú de configuración de la BIOS, deberemos que encontrar una entrada similar a “Advanced BIOS Features” o “Boot” y la seleccionaremos (normalmente desplazándonos con las teclas de cursor para entrar en el submenú). 2. Encontraremos una entrada que dirá alguna cosa parecida a “Boot sequence” y lo estableceremos como CDROM, C, A. Así le estamos indicando a la BIOS que tiene que encontrar el inicio del sistema en el CD y, si no lo encuentra, en el disco duro y, para acabar, en la disquetera. 3. Seleccionaremos la entrada del menú “Exit” y nos aseguraremos de salir guardando los cambios (Exit saving changes). 4. Ahora ya podemos insertar el CD de Ubuntu y reiniciar el sistema. De esta manera podremos trabajar con GNU/Linux, sin hacer ninguna modificación en nuestro ordenador. La velocidad de ejecución del sistema desde el CD es inferior a la que conseguiríamos si el sistema estuviese instalado en nuestro ordenador. El mismo CD Live nos dará la posibilidad de hacer la instalación en nuestro ordenador cuando queramos. Para hacer la instalación, deberemos seguir los pasos que nos indicarán las pantallas de instalación. Durante el proceso de instalación, podremos indicar si queremos que se desinstale Windows o bien crear la partición en nuestro disco duro para que los dos sistemas operativos convivan. Archivo instalador de Ubuntu para Windows Ubuntu ha creado un archivo de instalación (Wubi) que podemos descargar desde su página oficial (ubuntu.com) y que permite hacer que en un ordenador que tenga Windows instalado también lo esté Ubuntu. De esta manera podremos tener los dos sistemas operativos instalados. Al arrancar, podremos escoger con que sistema queremos trabajar. Ubuntu se puede desinstalar como lo haríamos con cualquier otra aplicación de Windows. El entorno de escritorio con GNU/Linux Un entorno de escritorio está formado por un conjunto de programas que permiten que los usuarios se relacionen con el ordenador de una manera fácil y amigable. Los escritorios nos permiten interactuar con el sistema mediante iconos, barras de herramientas, arrastrar con el ratón, etc. Cada entorno de escritorio tiene una apariencia característica que lo distingue fácilmente del resto. Entornos muy conocidos son los de Windows y Macintosh. En GNU/Linux encontramos diversos entornos, entre los cuales destacaremos Gnome i KDE. 8 BIOS (Basic Input-Output System), sistema básico de entrada y salida. Es un programa incorporado en un chip de la placa base del ordenador que se encarga de realizar las funciones básicas de manejo y configuración del ordenador. -11- El software libre: distribuciones GNU/Linux Estos escritorios evolucionan rápidamente, por lo que podemos encontrar versiones diferentes según la distribución y versión de GNU/Linux que tengamos instalada. Lo que encontraréis a continuación pretende mostraros algunas características básicas de cada uno de los escritorios. Gnome El escritorio de Gnome (GNU Network Object Model Environment) cuenta con iconos que permiten acceder rápidamente a aplicaciones y menús para iniciar los programas. Aspecto del escritorio Gnome de un usuario de pc con sistema operativo Ubuntu (Fuente: Continguts formatius de suport al projecte ACTIC, Citilab Cornella) En el panel superior encontramos lo siguiente: Aplicaciones: para acceder a los programas instalados en el ordenador. Está organizado en categorías: accesorios, gráficos, Internet, juegos, oficina, sonido y vídeo. Lugares: accesos directos a los principales elementos del sistema: Carpeta personal: contiene nuestros documentos. En este espacio podemos crear subcarpetas para organizar la información Escritorio: el escritorio es una carpeta especial dentro de la carpeta personal. Aquí encontraremos los accesos a las carpetas, archivos y lanzadores que tuviéramos en el escritorio. Equipo: nos da acceso tanto al sistema de archivos como a las distintas unidades de nuestro ordenador: CD/DVD, disquetera, etc. Creador de CD/DVD: este menú sólo estará presente si disponemos de una grabadora de CD/DVD y nos permitirá acceder a la aplicación de grabación de Gnome. Servidores de red: veremos las carpetas de los otros equipos a los cuales tenemos permisos de acceso (es parecido al Entorno de red de otros sistemas). -12- El software libre: distribuciones GNU/Linux Conectar con el servidor: nos permite establecer diversos tipos de conexión con otros equipos de Internet o de la red local, por ejemplo un servidor FTP9. Buscar archivos: herramienta para buscar archivos y carpetas según diversos criterios. Documentos recientes: lista de los últimos documentos a los cuales hemos accedido. Sistema: aquí encontraremos las opciones que nos permitirán acceder a la configuración de preferencias, aplicaciones de administración y diversos tipos de ayuda. Aquí también encontraremos la opción Salir que nos permite: Finalizar la sesión: finaliza la sesión del usuario actual y vuelve a la pantalla de registro inicial. Desde aquí también podemos apagar, reiniciar, hibernar o suspender el ordenador. Para esto tenemos que ir al menú Opciones de la parte inferior de la pantalla. Bloquear la pantalla: bloquea la sesión del usuario actual y se inicia el ahorro de pantalla. Cuando queramos reanudarla nos pedirá la contraseña de usuario. Así se protege la confidencialidad del trabajador. Cambiar usuario: vuelve a la pantalla de registro, pero sin cerrar la sesión del usuario actual. Esto permite que otro usuario inicie la sesión. Más tarde podremos pasar a otra sesión empleando la combinación de teclas Ctrl+Alt+F7 (para la primera sesión) y Ctrl+Alt+F8 (para la segunda sesión). En general puede haber tantos usuarios registrados simultáneamente como teclas de función desde F7 a F12. Reiniciar: reinicia el ordenador. Apagar: apaga el sistema. En este menú también podríamos encontrar las opciones “Hibernar” y/o “Suspender”. Su presencia dependerá de si la BIOS del ordenador soporta ACPI10, y ha sido correctamente detectado por Ubuntu. Suspender el ordenador consiste en enviarlo a “dormir”. Continuará estando activo, pero consumirá muy poca energía. Para despertarlo sólo necesitaremos pulsar cualquier tecla. La opción de hibernación es útil sobre todo en ordenadores portátiles. La idea de la hibernación es volcar el contenido de la memoria RAM en la partición swap. Como la memoria RAM es volátil, al apagar el ordenador se perdería la información, cosa que no pasa con el disco. Cuando ponemos la máquina en estado de hibernación, ésta se apagará y no consumirá energía. Pese a esto cuando volvamos a encenderlo Ubuntu tardará menos en arrancar y podremos continuar trabajando en el mismo punto en el cual lo dejamos cuando se inició la hibernación. Otras opciones de este panel superior son los iconos de acceso directo a ciertas aplicaciones. Por defecto, podemos acceder a Firefox (navegador de Internet) y a Evolution (gestor de correo electrónico). También encontraremos el área de notificación que pueden utilizar algunas aplicaciones para informar de su actividad, el control de 9 Servidor que un usuario puede utilizar desde su ordenador para bajar o colgar ficheros en un ordenador remoto, mediante el protocolo de transferencia de ficheros (File Transfer Protocol). 10 Las siglas ACPI hacen referencia a Advanced Configuration & Power Interface, y es una especificación desarrollada por diversas empresas (Compaq, Intel, Microsoft, Phoenix y Toshiba). Esta especificación define unas interfaces estándares dirigidas al sistema operativo para la administración de energía en nuestros equipos. -13- El software libre: distribuciones GNU/Linux volumen, la fecha y la hora y el botón para salir, con las mismas opciones que el menú sistema. El panel inferior nos permite realizar varias tareas con el escritorio: El icono “Muestra el escritorio” permite esconder las ventanas que están abiertas y mostrar el escritorio. La “Lista de ventanas” muestra un resumen de todas las ventanas que abrimos. Haciendo clic con el botón izquierdo del ratón sobre cualquiera de los rectángulos ponemos la ventana en primer plano, con el botón derecho podemos cerrarla o moverla por la pantalla o a otra área de trabajo. El ”Intercambiador de áreas de trabajo” ofrece la posibilidad de trabajar con múltiples áreas o espacios de trabajo sobre un mismo escritorio. Cada espacio de trabajo tiene los mismos fondos, panel y menús; pero puede ejecutar aplicaciones diferentes y abrir ventanas diferentes en cada uno de ellos. Por defecto se muestran cuatro espacios de trabajo; si no necesitamos tantos o queremos más, pulsamos el botón derecho del ratón y seleccionamos la opción preferencias. A la “Papelera” van a parar los archivos y carpetas borrados. Si hacemos clic con el botón izquierdo del ratón, vemos su contenido, con el derecho podemos vaciarla. Para comunicarnos con el sistema, lo hacemos mediante ventanas. Todas ellas tienen las mismas partes comunes: -14- El software libre: distribuciones GNU/Linux KDE El escritorio KDE (K Desktop Environment) es un escritorio gráfico que se desarrollo para Linux. La K originalmente representaba la palabra “Kool”. Actualmente significa simplemente la letra K. Este escritorio se incluye en numerosas distribuciones de Linux, entre otras en Kubuntu que es la distribución instalada en los ordenadores de los Espacios Multimedia de las bibliotecas de Barcelona. Un aspecto posible del escritorio KDE con sistema operativo Kubuntu Botón K Haciendo clic en este botón de la barra de tareas, podremos ejecutar las aplicaciones instaladas, cambiar algunos aspectos de la configuración de nuestro ordenador, ver la lista de las aplicaciones más utilizadas, buscar archivos, etc. Menú de sistema Permite acceder a las opciones del sistema Mostrar el escritorio Si estamos utilizando una aplicación y queremos volver a ver el escritorio, hacemos clic en este botón. Escritorios virtuales Podemos tener más de un escritorio. Hacemos clic en los números para visualizar uno u otro. Papelera Es el lugar donde se almacenan temporalmente los archivos eliminados. -15- El software libre: distribuciones GNU/Linux 6. Comparativa Windows – GNU/Linux El entorno de KDE es muy parecido al de Windows. Si somos usuarios de Windows no tendremos dificultades para adaptarnos: Windows KDE Mis documentos Archivos Personales El menú Inicio El botón “K” El Explorador de Windows Konqueror o Dolphin Internet Explorer Konqueror El panel de control El centro de control de KDE A diferencia de Windows a los dispositivos de almacenamiento no nos referimos con letras: Windows KDE El disco duro, generalmente, la Al iniciar Konqueror, hacemos clic en el icono de unidad C:\ Archivos personales i buscamos “/” en la lista de dispositivos o escribimos “/” en “Dirección”. El CD-ROM, generalmente la Al iniciar Konqueror, hacemos clic en el icono de unidad D:\ Archivos personales y hacemos clic en CD-ROM de la lista de dispositivos. La disquetera, generalmente la Como en el caso del CD-ROM, pero buscando unidad A:\ en la lista de dispositivos “Disquete”. -16- El software libre: distribuciones GNU/Linux 7. La filosofía del software libre No se debe confundir el software libre con el software gratuito. Un programa, por el solo hecho de ser gratuito, no tiene porqué ser también libre. Así, por ejemplo, el Adobe Reader es un software gratuito, pero no es libre, ya que no da a sus usuarios la posibilidad de estudiarlo (incluyendo el acceso a su código fuente), ni mejorarlo, ni hacer públicas estas mejoras con el código fuente correspondiente para que todo el mundo se pueda beneficiar. Adobe Reader es, pues, un programa de propiedad en lo que se refiere a libertades y gratuito en lo que se refiere al coste. Tipos de software convencional: Software gratuito: en inglés Freeware. Software que se distribuye de manera gratuita, cuyo programador conserva los derechos de autor, pero renuncia a cobrarlos. Software de prueba: en inglés Shareware. Software que se distribuye de manera gratuita para que los usuarios lo puedan conocer, con el compromiso de pagar al autor una cantidad de dinero si, pasado cierto tiempo, decide comprarlo. De propiedad: para este tipo de software su propietario determina las condiciones bajo las cuales el usuario puede ejecutarlo, copiarlo o modificar el código fuente. No es libre ni de código abierto. E 1998, Eric S. Raymond, Bruce Perens y otros programadores presentaron la Open Source Initiative, proponiendo el término open source (código abierto) como alternativa a free software (software libre) para hacerlo más atractivo en el mundo empresarial11. http://www.opensource.org/ Según el Open Source Initiative las condiciones que debe satisfacer un programa para ser considerado de código abierto son las siguientes: 1. Libre distribución. No se puede impedir la venta o distribución del programa o de una parte. Así mismo, tampoco no se puede exigir el pago de un canon o tasa a cambio de su distribución por parte de terceros. 2. Código fuente. El programa debe incluir su código fuente y no se puede restringir la distribución. 3. Obras derivadas. No se puede impedir realizar modificaciones o trabajos derivados del programa y es necesario permitir que estos trabajos se distribuyan en las mismas condiciones que el software original. 11 La utilización de la palabra free creaba una situación confusa en lengua inglesa, ya que free es una palabra que tanto quiere significar “libre” como “gratis” -17- El software libre: distribuciones GNU/Linux 4. Integridad del código fuente original. Se puede exigir que una versión modificada del programa tenga un nombre y un número de versión diferente que el programa original para poder proteger al autor original de la responsabilidad de estas versiones. 5. No discriminación contra personas o grupos. Las condiciones de uso de los programas no pueden ser discriminatorias hacia una persona o grupo de personas. 6. No discriminación contra usos. No se puede negar a nadie hacer uso del programa con una finalidad determinada, como por ejemplo, comercial o militar. 7. Distribución de la licencia. Los derechos del programa se deben aplicar a todo el mundo a quien se redistribuya el programa y sin ninguna condición adicional. 8. La licencia no debe ser específica de un producto. Los derechos que se garantizan al usuario del programa no deben depender del hecho que un programa forme parte de una distribución o de un paquete de software determinado. 9. La licencia no debe restringir otro software. La licencia no debe poner restricciones a otros programas que se distribuyan junto con el software licenciado. 10. La licencia debe ser tecnológicamente neutra. Ninguna disposición de la licencia obligará al uso de una tecnología concreta. -18- El software libre: distribuciones GNU/Linux 8. Licencias de programas El software es fruto del esfuerzo, valor intelectual e inversión del autor y representa su creatividad. Así mismo, en la gran mayoría de casos, tiene un uso industrial en el sentido amplio: en las diferentes actividades comerciales, industriales o recreativas del hombre. Por lo tanto, se ha estimado que el software merece una protección legal como cualquier otra creación humana, con la diferencia de que se trata de una creación intelectual. Se recurre a la protección que ofrece el derecho de la propiedad intelectual e industrial, que otorga a los autores ciertos derechos monopolísticos de explotación de su obra y de control sobre diversas actividades relacionadas: la copia, la modificación, la distribución, la comercialización, e incluso su uso en los procesos y la producción industriales. Tradicionalmente, en el mundo del software de propiedad se ha utilizado este marco legal para garantizar que el fabricante del software –que tiene derechos exclusivos sobre el programa informático– puede bloquear el acceso al código fuente de sus programas, impedir a la competencia que desarrolle productos similares, y limitar los derechos que los usuarios tienen sobre el programa, como por ejemplo, la copia o la modificación. Por el contrario, en el mundo del software libre se utiliza el marco legal de los derechos de autor para colectivizar los derechos que el autor tiene sobre el software, incluyendo los derechos a copia, uso y modificación. Ya que la ley no estipula una fórmula legal específica para la cesión de los derechos de autor a terceros, el autor de un programa informático y titular de los derechos utiliza habitualmente un contrato que determina la manera en que el autor cede – normalmente de manera no exclusiva– parte des sus derechos al usuario (copia, modificación, distribución, etc.), determinando también las condiciones en que puede utilizarlo y detallando el ámbito de los derechos y obligaciones asociados. Este contrato recibe el nombre de licencia de software. En el mundo del software de propiedad, prácticamente cada fabricante de software ha creado su propia licencia adecuada al software en cuestión y al modelo de negocio del fabricante. En el mundo del software libre existe también una gran diversidad de licencias; mencionaremos a continuación algunas de las más habituales: GNU GPL La Licencia Pública General del proyecto GNU (conocida por licencia GNU GPL) fue creada por la Free Software Foundation. Esta licencia, la más utilizada en el mundo del software libre, permite la distribución del código ejecutable y del código fuente. Permite hacer modificaciones del código fuente sin restricciones, pero cualquiera de estas modificaciones ha de estar también bajo una licencia GPL, con lo que se pretende garantizar que un programa publicado bajo sus condiciones nunca podrá hacerse propietario. En la dirección http://ca.dodds.net/gnu/gpl.ca.html encontramos una traducción (no oficial) de esta licencia. GNU LGPL La Licencia Pública General Menor del proyecto GNU (conocida por sus iniciales en inglés LGPL) es la otra licencia de la Free Software Foundation. Esta licencia permite el uso de aplicaciones libres con aplicaciones de propiedad. El programa se redistribu- -19- El software libre: distribuciones GNU/Linux ye como si estuviese bajo la licencia GPL, pero se permite la integración con cualquier otro software sin prácticamente limitaciones. MPL La Licencia Pública de Mozilla (MPL) es una licencia desarrollada originalmente por la empresa Netscape Communications Corporation y más tarde su control fue traspasado en la Fundación Mozilla. Esta licencia cumple completamente con la definición de software de código abierto de la Open Source Initiative y con las cuatro libertades del software libre enunciadas por la Free Software Foundation. A pesar de ello la MPL deja abierta la puerta a una posible reutilización comercial no libre del software , si el usuario así lo desea, sin restringir la reutilización del código ni el relicenciamiento bajo la misma licencia. Algunas de las ideas del software libre han inspirado movimientos parecidos entre autores de libros, artículos periodísticos, música o vídeo. Una de las iniciativas más populares es Creative Commons. El objetivo de esta organización sin ánimo de lucro es crear un ecosistema de contenido digital abierto donde los autores puedan ceder parte de los derechos de autor sobre sus obras. Leer en que consisten las licencias de Creative Commons: http://es.creativecommons.org/licencia/ -20- El software libre: distribuciones GNU/Linux 9. Software libre disponible El software es el conjunto de herramientas que permiten al ordenado almacenar, procesar y recuperar información. Podemos hablar de dos tipos de software: 1. software de sistema que controla las operaciones del ordenador en sí, y 2. software de aplicación que resuelve las necesidades de los usuarios del ordenador. El sistema operativo pertenece al primer grupo y es el más importante de todos los programas de sistema ya que controla todos los recursos del ordenador: interpreta los comandos que hacen que el usuario se comunique con el ordenador, coordina la conexión y la desconexión de los periféricos, organiza los archivos que se encuentran en los dispositivos de almacenamiento, gestiona errores de hardware... Entre el software de aplicación, y a modo de ejemplo, encontramos: — Procesadores de textos: ayudan al usuario a hacer funciones tales como la entrada y edición de texto, el formato, la revisión y el almacenamiento del documento en disco y su impresión. — Gestores de hojas de cálculo: que permite el procesamiento de datos numéricos. — Programas de tratamiento de imágenes: para el retoque de fotografías. — Gestores de sitios web: para la creación y el mantenimiento de sitios web. — Navegadores: para acceder a las páginas de hipertexto que hay en la web. — etc. En este apartado mencionaremos algunos de los proyectos libres más conocidos: Linux El sistema operativo Linux es el programa más significativo del movimiento de software libre. Las primeras distribuciones Linux incluyen el núcleo desarrollado por Linus Torvalds además de un conjunto de herramientas GNU. Hoy hay distribuciones enfocadas a usos concretos, tales como hacer de cortafuegos en una red o de servidores de Internet, para ámbitos específicos como por ejemplo, la educación (Linkat, por ejemplo), o de uso general. Entre las distribuciones comerciales de Linux más conocidas se encuentran Ubuntu, Red Hat O Suse. Otra distribución es Debian que no tiene ninguna empresa detrás de su organización que está formada por voluntarios. Otros tipos de distribuciones también muy populares son las de los liveCD. Se trata de distribuciones que se ejecutan directamente desde un CD-ROM y que no requieren ninguna instalación en el disco duro; es suficiente con introducir el CD-ROM en el PC y se ejecutan automáticamente. Firefox Mozilla Firefox es un navegador basado en el código desarrollado dentro del proyecto Mozilla.org. -21- El software libre: distribuciones GNU/Linux El proyecto Mozilla nació en 1998 cuando Netscape Communications anunciaba la distribución gratuita de su navegador web Netscape Communicator 4, hasta entonces un programa de propiedad, así como la publicación de su código fuente con el nombre de Mozilla. Sus características principales son la rapidez así como la facilidad de instalación y utilización. Firefox es una aplicación muy ligera y rápida, a la vez que cumple con los principales estándares de Internet. Firefox incorpora una gran cantidad de funciones que facilitan su utilización: plenamente funcional sólo con el teclado, barra de herramientas personalizable, administrador de marcadores, integración con buscadores de Internet (por ejemplo, con Google), bloqueo de las ventanas emergentes no solicitadas, navegación rápida en pestañas separadas para cada web que se visita, administrador de contraseñas, descarga automática y simple de ficheros. Puede descargarse el programa, en su versión catalana, desde la página de Softcatalà: http://www.softcatala.org La página del proyecto es: http://www.mozilla.org OpenOffice.org OpenOffice es un paquete ofimático disponible en más de 30 idiomas. OpenOffice está compuesto por 6 módulos: 1. Writer, para el procesamiento de textos. 2. Calc, para la gestión de hojas de cálculo. 3. Impress, para la creación de presentaciones multimedia. 4. Draw, para la creación de dibujos. 5. Math, para escribir ecuaciones. 6. Base, para gestionar bases de datos. La página del proyecto es: http://www.openoffice.org Podréis descargar el programa, en su versión catalana desde la página de Softcatalà: http://www.softcatala.org LibreOffice El LibreOffice es un paquete ofimático libre derivado del OpenOffice.org y mantenido por parte de la antigua comunidad. Contiene un procesador de textos (Writer) compatible com Microsoft Word, un gestor de hojas de cálculo (Calc) compatible con Microsoft Excel, un editor de presentacioens (Impress) compatible con Microsoft Power Point, un editor de bases de datos (Base) que puede importar bases de datos Microsoft Access, un editor de dibujos vectoriales y gráficos (Draw) y un editor de fórmulas matemáticas (Math). La página del proyecto es: http://www.libreoffice.org Podréis descargar el programa, en su versión catalana desde la página de Softcatalà: http://www.softcatala.org. -22- El software libre: distribuciones GNU/Linux Gimp Se trata de un programa adecuado para tareas como el retoque fotográfico o creación y diseño de imágenes. La página oficial del proyecto es: http://www.gimp.org Podemos descargar la versión en catalán del programa desde la página de Softcatalà: http://www.softcatala.org Audacity Audacity es un programa de edición de audio. Permite grabar sonidos, reproducirlos, importar o exportar ficheros de los formatos más comunes (por ejemplo, wav, mp3, ogg, o aiff). Podemos utilizarlo para editar con facilidad sonidos, utilizando las herramientas de recortar, copiar y pegar, mezclar pistas o aplicar efectos a las grabaciones. La página oficial del proyecto es: http://audacity.sourceforge.net/ -23- El software libre: distribuciones GNU/Linux 10. Cómo podemos conseguir software libre El software libre se puede conseguir desde las páginas web oficiales de los programas donde encontraremos las últimas versiones así como las instrucciones necesarias para instalación. A disposición de los usuarios hay una gran cantidad de programas para aplicaciones muy diversas. Un listado de software libre lo encontramos en la dirección: http://directory.fsf.org Instalación Los programas de código abierto que podemos encontrar en Internet o distribuidos en CD están normalmente disponibles para las principales plataformas: Linux, Windows, Mac OS X. Para proceder a su instalación en nuestros ordenadores deberemos seguir las instrucciones que encontraremos en los sitios web desde donde realizaremos la descarga. Créditos Para la elaboración de parte de estos apuntes hemos utilizado el libro: Mas y Hernández, Jordi (2005). «Programari lliure: tècnicament viable, econòmicament sostenible y socialment just». [Fecha de consulta: 29/01/12]. <http://www.softcatala.org/~jmas/swl/> Recomendamos su lectura. -24-