Porque vas a cerrar. Pon linux. Te lees este manual y acorrer. que le den a mocosoft Manual básico Ubuntu GNU/Linux 1 Versión (BETA) Breezy 25/10/2005 Sergio Blanco Cuaresma marblestation.com Índice de contenido Introducción al Software Libre....................................................................................................1 Historia...................................................................................................................................1 Definición................................................................................................................................4 Ventajas..................................................................................................................................5 Desventajas.............................................................................................................................7 Ubuntu....................................................................................................................................7 Ubuntu LiveCD............................................................................................................................8 Instalación de Ubuntu...............................................................................................................11 Arranque...............................................................................................................................11 Idioma...................................................................................................................................12 Red........................................................................................................................................12 Particiones............................................................................................................................13 Zona horaria.........................................................................................................................15 Creación de un usuario.........................................................................................................15 Gestor de arranque...............................................................................................................15 Primer inicio.........................................................................................................................15 Resolución de pantalla..........................................................................................................16 Escritorio Gnome......................................................................................................................16 Panel inferior........................................................................................................................17 Panel superior.......................................................................................................................17 Applets..................................................................................................................................19 Traducciones y ayuda online.................................................................................................19 Fondo de escritorio...............................................................................................................19 Gestor de ventanas...............................................................................................................20 Navegador de disco Nautilus................................................................................................20 Estructura de directorios.................................................................................................22 Localidades especiales.....................................................................................................22 Trabajando con ficheros y carpetas..................................................................................22 Propietarios y permisos...............................................................................................22 Borrar..........................................................................................................................24 Seleccionar..................................................................................................................24 Copiar..........................................................................................................................24 Mover...........................................................................................................................24 Copiar y mover arrastrando.........................................................................................24 Copiar y mover con combinaciones de tecla................................................................25 Renombrar...................................................................................................................25 Ficheros ocultos...........................................................................................................25 Plugin "Abrir en un Terminal"......................................................................................25 Configuración.......................................................................................................................25 Escritorio Gnome..............................................................................................................25 Acerca de mí................................................................................................................25 Administración de archivos..........................................................................................26 Aplicaciones preferidas................................................................................................26 Combinaciones de teclas..............................................................................................26 Dispositivos PalmOS....................................................................................................26 Escritorio remoto.........................................................................................................26 Fondo de escritorio......................................................................................................27 Foto de entrada............................................................................................................27 Menús y barra de herramientas...................................................................................27 Proxy de la red.............................................................................................................27 Ratón...........................................................................................................................27 Resolución de la pantalla.............................................................................................27 Salva pantallas.............................................................................................................27 Selector de sistemas multimedia.................................................................................28 Sesiones.......................................................................................................................28 Sonido..........................................................................................................................28 Soporte para tecnología de asistencia.........................................................................28 Teclado.........................................................................................................................28 Tema............................................................................................................................29 Tipografía.....................................................................................................................29 Unidades y soportes extraíbles....................................................................................29 Ventanas.......................................................................................................................29 Sistema.............................................................................................................................30 Añadir programas........................................................................................................31 Carpetas compartidas..................................................................................................31 Configuración de la pantalla de entrada......................................................................33 Device Manager...........................................................................................................33 Discos...........................................................................................................................33 Gestor de actualizaciones de Ubuntu...........................................................................34 Gestor de paquetes Synaptic........................................................................................35 Hora y fecha.................................................................................................................39 Impresoras...................................................................................................................39 Language Selector.......................................................................................................40 Red...............................................................................................................................40 Servicios......................................................................................................................41 Usuarios y grupos........................................................................................................41 Aplicaciones..............................................................................................................................42 Navegador web Mozilla Firefox............................................................................................42 Extensiones......................................................................................................................45 Páginas seguras................................................................................................................46 Ventanas emergentes o Popups........................................................................................46 Plugins..............................................................................................................................47 Macromedia Flash plugin.............................................................................................47 Acrobat Reader (PDFs) plugin.....................................................................................47 Java plugin...................................................................................................................47 Totem plugin................................................................................................................47 Mplayer plugin.............................................................................................................48 Cliente de correo Evolution..................................................................................................48 Configuración de una cuenta de correo............................................................................48 Cuenta Gmail...............................................................................................................48 Cuenta en servidor Exchange......................................................................................49 Configuración general......................................................................................................50 Uso habitual.....................................................................................................................52 Correo: Buzones cuentas POP......................................................................................52 Correo: Buzones cuentas Exchange.............................................................................52 Correo: Listar, responder, catalogar.............................................................................53 Contactos.....................................................................................................................53 Calendario....................................................................................................................54 Tareas..........................................................................................................................55 Estilo de respuesta de mails.............................................................................................55 Mensajería instantánea con Gaim.........................................................................................55 Protocolos.........................................................................................................................55 Jabber..........................................................................................................................55 MSN Messenger..........................................................................................................57 Uso general......................................................................................................................57 Configuración general......................................................................................................58 Notificador de correo Gmail.................................................................................................59 Vídeo conferencia con GnomeMeeting..................................................................................59 Personalizar el escritorio con Gnome Art.............................................................................61 Ofimática con OpenOffice.org...............................................................................................61 Procesador de texto "OpenOffice.org2 Writer"................................................................62 Funciones básicas........................................................................................................62 Imágenes......................................................................................................................64 Tabla de contenidos o índice........................................................................................64 Encabezamiento y/o pie de página...............................................................................64 Autocompletado...........................................................................................................64 Hoja de calculo "OpenOffice.org2 Calc"...........................................................................65 Operaciones entre celdas.............................................................................................65 Diagramas....................................................................................................................65 Presentaciones "OpenOffice.org2 Impress".....................................................................66 Bases de Datos "OpenOffice.org2 Base"..........................................................................66 Tablas...........................................................................................................................67 Consultas.....................................................................................................................67 Formularios..................................................................................................................68 Informes.......................................................................................................................69 Dibujos "OpenOffice.org2 Draw"......................................................................................69 Fórmulas matemáticas "OpenOffice.org2 Math"..............................................................69 Más información...............................................................................................................70 Diagramas con Dia................................................................................................................70 Editor de imágenes Gimp......................................................................................................70 Imágenes vectoriales con Inkscape.......................................................................................70 Diseño 3D con Blender.........................................................................................................71 Maquetación con Scribus......................................................................................................72 Edición Web..........................................................................................................................72 Screem.............................................................................................................................72 Bluefish............................................................................................................................73 NVU..................................................................................................................................73 Planos con QCAD..................................................................................................................74 Scanner con xsane................................................................................................................75 Edición de sonido con Audacity............................................................................................75 Cliente de Terminal Server...................................................................................................75 Planificaciones con Planner..................................................................................................76 gFTP.....................................................................................................................................76 XChat....................................................................................................................................77 Herramientas del sistema.....................................................................................................77 Reproducir audio y/o vídeo...................................................................................................78 Codecs..............................................................................................................................78 Reproductor de audio y vídeo Totem................................................................................78 Reproductor de audio Rhythmbox....................................................................................79 Reproductor audio Amarok..............................................................................................79 Integración con Nautilus..................................................................................................79 Redes P2P con aMule............................................................................................................79 Codificar DivX a VCD............................................................................................................80 Compresión de archivos con File Roller...............................................................................81 Terminal................................................................................................................................82 Firewall con Firestarter........................................................................................................83 Cámaras digitales y visor de fotografías...............................................................................85 Grabación CDs/DVDs............................................................................................................85 Otras aplicaciones recomendadas.........................................................................................86 Aceleración 3D.................................................................................................................87 Juegos...............................................................................................................................87 Instalación de programas externos...........................................................................................87 Instalación del lector PDFs Acrobat Reader.........................................................................87 Instalación de soporte Java...................................................................................................88 Instalación del cliente bittorrent Azureus.............................................................................88 Instalación reproductor RealPlayer......................................................................................89 Instalación de Skype.............................................................................................................90 Avanzado...................................................................................................................................90 Scripts de arranque del sistema...........................................................................................90 Configuración de la shell bash..............................................................................................90 Configuración del editor Vim................................................................................................91 Alternativas a Synaptic: apt-get y aptitude...........................................................................91 Gestor de arranque Grub......................................................................................................92 Más información........................................................................................................................92 Bibliografía................................................................................................................................92 Agradecimientos En primer lugar quisiera agradecer a la empresa Maxima OKE (http://www.maximaoke.es), y su subdivisión Maxima Linux (http://www.maximalinux.com), el haber hecho posible el desarrollo de este manual gracias a su patrocinio. Me siento enormemente agradecido a la comunidad el Software Libre por todo aquello que ha aportado a mi vida. Cualquier usuario de aplicaciones libres, con el tiempo, se siente en deuda con la comunidad y necesita aportar su granito de arena para intentar compensar todos los beneficios que ha obtenido, y éste es mi caso. Sobre el autor Sergio Blanco Cuaresma, ingeniero informático, analista programador, profesor en cursos sobre GNU/Linux (iniciación, avanzado y programación) para universitarios / profesionales y apasionado por el Software Libre/Open Source en general. Actual presidente de la asociación GPL Tarragona que intenta reunir a seguidores del Software Libre con el objetivo de potenciar la filosofía en general, y GNU/Linux en particular, en la provincia de Tarragona. Más información en marblestation.com Sobre el editor/distribuidor Maxima OKE (http://www.maximaoke.es), y su subdivisión Maxima Linux (http://www.maximalinux.com). A quien va dirigido el manual Este manual va dirigido a toda aquella persona que quiera iniciarse con el sistema operativo GNU/Linux de forma sencilla y rápida. Ha sido pensado para el usuario más novel, intentando utilizar aplicaciones gráficas e intuitivas. No es el típico manual donde se enseña GNU/Linux desde una perspectiva administrativa, con cientos de comandos y archivos de configuración a editar. Es un manual que pretende ser útil a aquellas personas que simplemente desean disponer de un ordenador para trabajar, sin necesidad de conocer al detalle las características más avanzadas y complicadas. Con la ayuda de este manual, el lector podrá obtener todos los beneficios del Software Libre junto a la estabilidad y potencia de GNU/Linux de una forma sencilla y amena. Creative Commons Este manual se encuentra protegida por la licencia libre Creative Commons denominada Reconocimiento-NoComercial-CompartirIgual 2.1 España. Usted es libre de: • Copiar, distribuir y comunicar públicamente la obra. • Hacer obras derivadas. Bajo las condiciones siguientes: Reconocimiento. Debe reconocer y citar al autor original. No comercial. No puede utilizar esta obra para fines comerciales. Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. • Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. • Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Esto es un resumen legible del texto legal (la licencia completa) disponible en: Castellano: creativecommons.org/licenses/by-nc-sa/2. … legalcode.es Catalán: creativecommons.org/licenses/by-nc-sa/2. … legalcode.ca Póngase en contacto con el autor para cualquier aclaración: marblestation.com Introducción al Software Libre Además de aprender a utilizar Ubuntu (objetivo de este manual), es interesante conocer los orígenes del Software Libre y GNU/Linux. De esta forma podremos entender el modelo de desarrollo libre a partir de su definición. Esta sección esta dedicada a cubrir ese aspecto tan importante. Se invita al lector a saltar al apartado de instalación de Ubuntu, y retomar esta sección durante los momentos de espera de la instalación. Historia Allá por el 1971, cuando la informática todavía no había sufrido su gran boom, las personas que hacían uso de ella, en ámbitos universitarios y empresariales, creaban y compartían el software sin ningún tipo de restricciones. Con la llegada de los años 80 la situación empezó a cambiar. Las computadoras más modernas comenzaban a utilizar sistemas operativos privativos1, forzando a los usuarios a aceptar condiciones restrictivas que impedían realizar modificaciones a dicho software. En caso de que algún usuario o programador encontrase algún error en la aplicación, lo único que podía hacer era darlo a conocer a la empresa desarrolladora para que esta lo solucionara. Aunque el programador estuviese capacitado para solucionar el problema y lo desease hacer sin pedir nada a cambio, el contrato le impedía que mejorase el software. Esta situación provocó la destrucción de comunidades cooperativas donde el software era compartido y cualquiera podía mejorarlo sin restricciones. El modelo de desarrollo de aplicaciones propietarias, a pesar de generar situaciones anti-sociales, se impuso con tal fuerza que en la actualidad hay aún personas convencidas de que no hay otra forma de hacer negocio. 1 Software privativo o propietario es aquel que impone fuertes restricciones al usuario final. Antónimo de Software Libre. Durante la etapa de transición al modelo privativo, Richard M. Stallman, trabajador del laboratorio de Inteligencia Artificial del MIT (Massachusetts Institute of Technology), se percató que la sociedad estaba cambiando peligrosamente. El mismo Richard Stallman cuenta que por aquellos años, en el laboratorio habían recibido una impresora donada por una empresa externa. El dispositivo, que era utilizado en red por todos los trabajadores, parecía no funcionar a la perfección dado que cada cierto tiempo el papel se atascaba. Como agravante, no se generaba ningún aviso que se enviase por red e informase a los usuarios de la situación. La perdida de tiempo era constante, ya que en ocasiones, los trabajadores enviaban por red sus trabajos a imprimir y al ir a buscarlos se encontraban la impresora atascada y una cola enorme de trabajos pendientes. Richard Stallman decidió arreglar el problema, e implementar el envio de un aviso por red cuando la impresora se bloqueara. Para ello necesitaba tener acceso al código fuente2 de los controladores de la impresora. Pidió a la empresa propietaria de la impresora lo que necesitaba, comentando, sin pedir nada a cambio, que era lo que pretendía realizar. La empresa se negó a entregarle el código fuente. En ese preciso instante, Richard Stallman se vio en una encrucijada, debía elegir entre aceptar el nuevo software privativo firmando acuerdos de no revelación y acabar desarrollando más software privativo con licencias restrictivas, que a su vez deberían ser más adelante aceptadas por sus propios colegas. Richard Stallman se negó a aceptar el nuevo software privativo, dado que este le obligaría a firmar acuerdos de no revelación. Quería evitar acabar contribuyendo a la expansión de ese tipo de software, el cual solo conseguía generar una sociedad más dividida y con menos libertades. Abandonó el MIT en 1984, para evitar 2 Haciendo una analogía con la cocina, los binarios o ejecutables serian un plato cocinado mientras que el código fuente corresponde a la receta de cocina, esta es necesaria para poder modificar y mejorar. 1 Ubuntu GNU/Linux problemas de propiedad del software, e inició un proyecto para intentar formar una comunidad de personas, en las que compartir el código volviese a ser algo natural. El proyecto fue denominado GNU (GNU's Not Unix), su finalidad era la construcción de un sistema operativo compatible con UNIX pero completamente libre. Más tarde construiría junto a diversos hackers de su entorno lo que se conoce actualmente como la Free Software Foundation, una fundación sin ánimo de lucro que tiene como objetivo proteger y defender el software libre y sus usuarios/programadores. El primer programa desarrollado fue GNU Emacs, un editor extensible mediante LISP. Richard Stallman, inspirándose en algunos emails donde observó que se utilizaba el copyright para permitir a otros usuarios realizar copias del contenido, decidió elaborar una licencia de uso, que estableciera ciertas reglas para asegurar la libertad de su editor Emacs. De este modo se podrían evitar problemas con programadores no solidarios que decidiesen coger código libre, modificarlo, distribuirlo en formato binario y no compartir dichos cambios después. La licencia fue llamada GNU Emacs License (desarrollada en consulta con el especialista en leyes de propiedad intelectual Mark Fischer en el 1985), la cual establecía un contrato en el que se ofrecía el programa garantizando las mayores libertades posibles y animaba a otros programadores a adoptar dicha licencia. El segundo programa desarrollado fue el depurador GNU Debugger. Este también necesitaba una licencia y GNU Emacs License encajaba a la perfección. Por tanto decidió renovar dicha licencia dotándola de un nombre más genérico (cosa que ya había sido demandada por diversos usuarios que querían usar la licencia en sus creaciones), así nació la GNU General Public License (GPL) que en 1989 vio la luz con la versión 1.0. Sobre la misma época (1989), en el Computer Science Research Group (CSRG) de la Universidad de California en Berkeley poseían toda una serie de aplicaciones, desarrolladas con el objetivo de mejorar UNIX, que formaron lo que se conoce como "BSD Unix". Esas aplicaciones y mejoras fueron desarrolladas mediante contratos con DARPA pero depuradas y mantenidas por hackers comunicados por red. Sin embargo, hasta finales de los 80 no fue liberado parte del código con licencia BSD (licencia libre con matices diferentes a la GPL). No obstante, en ese primer periodo aún existían herramientas propietarias vitales para el sistema y no podían ser redistribuidas (sólo se entregaban a los poseedores de una licencia de UNIX original). Estas fueron reescritas más adelante bajo una licencia libre. Durante los años 90 empezaron a surgir muchas iniciativas libres. Gracias a la diversificación de Internet se dieron grandes facilidades para construir comunidades con estas características. Es especialmente interesante el caso de X Window System, cuyo código fue el primer caso de software libre fundado por un consorcio de empresas y el cual aún perdura. Entre 1991 y 1992 dos nuevos proyectos marcaron el rumbo del software libre: 386BSD En California, Bill Jolitz estaba implementando las partes que faltaban de la distribución Net/2 (distribución resultado del intento de CSRG de Berkeley de disponer de una versión de BSD Unix libre de licencias propietarias). El resultado de Bill obtuvo el nombre de 386BSD el cual incluía un completo núcleo más diversas utilidades bajo licencia BSD. Más tarde, el código de 386BSD daría lugar a NetBSD, FreeBSD y OpenBSD. Linux En Finlandia, Linus Torvalds, estudiante de informática de la universidad de Helsinki, decidió realizar la cuantiosa inversión de 3500$ para adquirir un nuevo PC 386 (33 Mhz, 4MB de RAM). El pago lo realizaría a plazos pues no disponía de tal cantidad de dinero en efectivo. 2 Como sistema operativo descartó un DOS limitado que incorporaba y pidió un Minix por 168$, la variante de Unix para estudiantes de Andrew Tanenbaum. Habitualmente utilizaba su ordenador para acceder a la computadora de su universidad, pero por desgracia no le gustaba nada el emulador de terminal (entre otras cosas) incorporado en el sistema operativo Minix, así que decidió crear uno el mismo. Como realmente le interesaba aprender el funcionamiento de su nuevo 386, decidió aprovechar esta oportunidad para realizar un programa a bajo nivel prescindiendo de este sistema operativo. En los primeros intentos consiguió arrancar el ordenador y ejecutar dos threads que mostraban por pantalla "AAAAABBBBB". Uno lo utilizaría para leer del módem y escribir en pantalla, mientras que el otro leería del teclado y escribiría en el módem. Con el tiempo acabó el programa y lo utilizaba frecuentemente arrancando desde disquete. La siguiente necesidad que tuvo fue la de poder descargar y subir archivos de su universidad, pero para implementar eso en su emulador de terminal era necesario crear un controlador de disco. Así que después de un trabajo continuo y duro creó uno compatible con el sistema de ficheros de Minix. En ese momento se percató que estaba creando algo más que un simple emulador de terminal, así que, descontento con su sistema Minix, emprendió la aventura de crear un sistema operativo partiendo de cero. Su primer paso fue pedir en las NEWS las especificaciones POSIX para implementarlas y poder hacer funcionar el compilador GCC del proyecto GNU, no obtuvo respuesta así que se bajó diversa documentación de la versión Unix de Sun Microsystems. Ari Lemke, profesor de la universidad de Helsinki, vio el mensaje de Linus en busca de las especificaciones POSIX y se interesó por su trabajo. Le proporcionó una cuenta de FTP en la universidad para que pudiese publicar versiones de su software. De forma privada, Linus nombraba "Linux" a su nuevo sistema, pero cuando decidió hacer una release pública oficial (pues ya era capaz de mostrar una shell y ejecutar el compilador gcc) pensó que era demasiado egocéntrico llamarlo así y propuso llamarlo Freax (Freaks + X de Unix). El ya citado profesor Ari Lemke lo desanimó ya que le parecía más atractivo Linux. Después de anunciar en las NEWS (25 Agosto del 1991) su intención de seguir desarrollando su sistema para construir un reemplazo de Minix, el 17 de septiembre de 1991 sube al FTP proporcionado por su universidad la versión 0.01 de Linux con 10.000 lineas de código (en la actualidad tiene más de 10 Millones). A partir de ese momento Linux empezó a evolucionar rápidamente. En sus inicios la gente que probaba el código le preguntaba a Linus si iba a pedir dinero por su trabajo, Linus negó que tuviese dicha intención y animó a todos aquellos que probaban Linux a que le enviaran postales como recompensa. Al cabo de semanas llegó a tener el buzón lleno de postales de lugares tan dispersos como Japón o Nueva Zelanda. Linus quería plasmar el espíritu científico en su trabajo, ya que se estaba basando en las ideas de otros. Como dijo Sir Isaac Newton, estaba montado en las espaldas de gigantes. Lo que más apreciaba era la ayuda de otros para mejorar su trabajo. Quizás esta decisión de no dar importancia al dinero vino influenciada por su abuelo académico y su padre de tendencias comunistas. Como su intención era conseguir que otras personas lo ayudasen a mejorar Linux, era necesario que toda modificación hecha por terceros tuviese que ser pública, evitando así que alguna compañía vendiese código modificado sin aportar nada. Una de las herramientas que utilizaba su sistema, el compilador GCC tenía una licencia (elaborada por Richard Stallman como ya se ha comentado) que especificaba todas las condiciones de uso que Linus quería. Así que en la versión 0.12 decidió adoptar la licencia GNU GPL. La decisión no fue por motivos éticos (tal y como defiende Richard Stallman), sino que fue puramente práctica. 3 Ubuntu GNU/Linux Linus desarrolló el kernel Linux pero se apoyó en las herramientas implementadas por el proyecto GNU como el compilador GCC, el depurador GNU Debugger, etc... Es por este motivo que cuando se tiene un sistema completo (kernel + utilidades básicas) es llamado GNU/Linux. En 1993 tanto 386BSD (más tarde daría lugar a NetBSD, FreeBSD y OpenBSD) como GNU/Linux se encontraban en un estado razonablemente maduro. Se constituyeron diversas distribuciones GNU/Linux (las diferencias entre estas son simplemente la forma de organizar/empaquetar las aplicaciones y las diferentes ayudas para la configuración) siendo RedHat una de las primeras en comercializar su producto. Durante los años 90 se desarrollaron grandes proyectos libres tales como Apache (servidor web con mayor mercado hoy en día), Xfree86 (la implementación X11 más utilizada en la actualidad), GNOME y KDE (escritorios que proporcionan facilidades a los usuarios medios para interactuar con el sistema), Mozilla (navegador construido a partir de la liberación del código de Netscape en 1998 y que marcó una nueva tendencia en el mundo empresarial). Desde finales de los 90 hasta la actualidad el mundo del software libre ha visto un creciente apoyo por parte de empresas (IBM, Sun Microsystems, Novell...) y gobiernos (Brasil, Alemania o casos más cercanos como: Extremadura, Andalucía y Valencia) de todo el mundo. Definición A priori puede resultar complejo definir el Software Libre debido a diferentes variantes y visiones existentes. Vamos a centrarnos en las dos mayores tendencias actuales: la visión de la Free Software Foundation (http://www.fsfeurope.org) y la visión de la Open Source Iniciative (http://www.opensource.org). Software Libre en Inglés es "Free Software", cosa que puede llevar a confusión dado que "Free" significa tanto gratis como libre. Sin embargo el Software Libre no tiene porque ser gratuito, es posible hacer negocio con este modelo. Debido a estos problemas de lenguaje, Eric S. Raymond junto a Todd Anderson, Chris Peterson (del Feresight Institute www.foresight.org/), John "maddog" Hall, Larry Augustin (ambos de Linux International www.li.org/) y Sam Ockman (del Silicon Valley Linux User's Group) el 3 de Febrero de 1998 en Palo Alto (California) decidieron buscar una nueva forma de nombrar este tipo de Software, con el objetivo de no llevar a confusión y que fuese un término más sencillo de usar por empresas. De esa reunión nació el termino Open Source. Bruce Perens ofreció la marca "Open Source" y espacio para alojar información sobre este nuevo término. Linus dio su apoyo a la idea pero Richard Stallman se mostró en contra argumentando que este no denota libertad y carece del espíritu fundamental del Software Libre. Finalmente OSI o la Open Source Iniciative se establece como una organización sin ánimo de lucro, la cual tiene una tendencia más bien práctica en la defensa de la metodología, mientras que la Free Software Foundation afirma que el software debe ser libre por derecho social/universal. Según la Free Software Foundation (respaldado por el proyecto GNU), un programa libre debe ofrecer las siguientes 4 libertades: • Libertad para ejecutar el programa, con cualquier propósito y sin restricciones. No es posible obligar a ejecutarlo sólo en un número determinado de máquinas o en unas condiciones especificas. • Libertad para modificar el programa para adaptarlo a sus necesidades o para estudiar su funcionamiento. Como cualquier programador sabe, para que esta libertad sea efectiva, se debe tener acceso al código fuente, intentar modificar un programa sin disponer de él es muy complejo. • Libertad para redistribuir copias, tanto gratis como cobrando por ellas. • Libertad para distribuir versiones modificadas del programa, de tal manera 4 que todo el mundo pueda beneficiarse con sus mejoras. En todo caso hay que tener en cuenta que son libertades y no obligaciones, el usuario puede hacer uso de ellas siempre que lo considere necesario pero no tiene porque utilizarlas forzosamente (excepto si hace una modificación y distribuye el ejecutable, entonces debe publicar los cambios). Además debe entenderse que el software comercial no queda excluido de dicha definición. La definición de Open Source es muy similar aunque más explicita. La distribución de software Open Source debe cumplir los siguientes criterios: • Redistribución libre, no es posible restringir la venta o copia del software a terceros. No es posible cobrar royalties por ventas. • Debe ser permitida la distribución del código fuente y del compilado. El código fuente debe poder ser modificado fácilmente, este no debe ser ofuscado mediante técnicas para tal efecto. • Debe ser permitida la creación de trabajos derivados, los cuales podrán ser distribuidos bajos los mismos términos de la licencia. • Es posible restringir la distribución de código modificado siempre y cuando se permita la distribución de parches que modifiquen el código en tiempo de compilación. La licencia puede pedir que los trabajos derivados tengan nombre y versiones diferentes a la original. El objetivo es poder asociar siempre un responsable que mantiene el software que usamos y marcar, de forma independiente, todos los parches con funcionalidades no oficiales. (Punto diferente a la definición de la FSF) • No es posible discriminar personas o grupos. • No es posible discriminar ningún campo de esfuerzo (e.g. Investigación, Negocios...) • Las condiciones son aplicadas a quien reciba el software sin que puedan ser afectadas por acuerdos de no publicación (non-disclosure agreement). • La licencia no debe ser especifica de una distribución, las condiciones se aplicaran fuera de dicha distribución de igual forma. • La licencia no debe restringir Software de terceros, no es posible obligar a distribuir dicho software junto a otro con licencias especificas (no afecta a la GPL ya que esta no puede ser utilizada/enlazada por software con licencia diferente pero si distribuida). • La licencia debe ser tecnológicamente neutral, no es posible forzar a utilizar un medio concreto para la distribución / ejecución / compilación. Ventajas Habitualmente la primera ventaja que se percibe del software libre es que puede adquirirse a bajo precio o gratuitamente, sin embargo esta característica no es exclusiva ya que existen productos privativos que también son ofrecidos así (e.g. Microsoft Internet Explorer). Las ventajas reales vienen originadas por todas y cada una de las características del Software Libre, estas nos hacen obtener unos beneficios que son difíciles (por no decir imposibles) de encontrar en otros modelos: • La disponibilidad del código fuente y la libertad para modificarlo activan un proceso ilimitado de mejoras del software. Software Libre no es equivalente a software de calidad, pero si ofrece un mejor camino para alcanzar dicha calidad. Incluso la vida del programa se ve afectada si se carece del código fuente, de hecho no existe ninguna aplicación sólo binaria que haya durado más de 10 años, sin embargo existen proyectos libres que se iniciaron alrededor del 1980 y siguen vigentes hoy en día con sus correspondientes adaptaciones y mejoras. • El derecho a redistribuir modificaciones, mejoras y reusar otros códigos libres permite compartir los beneficios entre toda la comunidad de desarrolladores o usuarios.