fuentes abiertas - ucm-universidad complutense de...

64
Introducción al software de fuentes abiertas Luis Piñuel Moreno Dep. Arquitectura de Computadores y Automática Universidad Complutense de Madrid [email protected]

Upload: letruc

Post on 12-Oct-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Introducciónal software defuentes abiertas

Luis Piñuel MorenoDep. Arquitectura de Computadores y Automática

Universidad Complutense de [email protected]

Objetivos del curso

Dar a conocer este tipo de software● ¿Qué es?● ¿Qué ventajas/oportunidades ofrece? ● ¿Cuál es su entorno legal?

Promover su uso en la comunidad universitaria● ¿Cómo puedo empezar a usarlo?

¿A quién está dirigido?

Estudiantes de la UCM ...● No necesariamente de ciencias

… con conocimientos elementales de informática a nivel de usuario …● Que sepan usar un navegador, un programa de

correo y aplicaciones ofmáticas

… y que tengan interés por este software

¿Quién lo fnancia y certifca?

¿Qué es CENATIC?● Cento Nacional de Referencia de Aplicación de las

TIC basadas en fuentes abiertas● Fundación Pública Estatal constituida por el

Ministerio de industria, Turismo y Comercio, a través de Red.es

● URL: www.cenatic.es

Guía básica CENATIC

Objetivo● Divulgación masiva del software libre en todo el

territorio nacional

Iniciativa reciente● Presentada en Cáceres el 14 de octubre

¿Qué veremos?

Conceptos básicos● Algunas defniciones● Decálogo OSI

Ventajas● Ventajas del modelo de desarrollo● Diez realidades del software de fuentes abiertas● Oportunidades en los ámbitos público y privado

Entorno legal● Licencias de código abierto

¿Qué veremos?

Primeros pasos a nivel de usuario● Fundamentos de uso● Algunos programas útiles● Sistemas operativos abiertos● Ejemplo de distribución GNU/Linux

Conceptos básicos

¿Qué es el software?

Programa informático● Secuencia de instrucciones que un computador

puede interpretar y ejecutar

Software● Conjunto de programas, documentación y datos

asociados que forman parte de un sistema de computación

(Fuente: Wikipedia / Estandar IEEE 729)

¿Qué es el código fuente?

Estados de un programa● Código fuente● Binario o ejecutable

Código fuente python,editado con Open Komodo

Binarioen ejecución

¿Qué es el código fuente?

Informática vs. gastronomía● Código fuente = receta● Código ejecutable = tarta

¿Qué es el software de fuentes abiertas?

En pocas palabras● Es aquel software que ofrece el código fuente

además de la versión ejecutable de los programas

¿Qué implica el acceso al código fuente?● Entender su funcionamiento● Libertad para modifcarlo *

– Introducir mejoras

– Adaptarlo a nuestras necesidades específcas

● Libertad de uso y copia *

* Condicionadas por el entorno legal

Terminología básica

Términos equivalentes:● Software abierto, programas de fuentes abiertas,

programas de código abierto● Software libre

– Consideraciones flosófcas aparte, este término representa el mismo concepto

Términos antagónicos:● Software propietario o cerrado● Software privativo

– En contraposición al término software libre

Open Source Initiative

Organización dedicada a la promoción del software de fuentes abiertas● Fundada en 1998● Acuño el término “Open Source”en un intento de

aproximar el software libre a las empresas– Reducir la carga ideológica y evitar la confusión del término

anglosajón “Free” (libre/gratis)

● Supuso un cisma con la Free Software Foundation– Precursora de este movimiento desde mediados de los 80

Decálogo OSI

Libre redistribución: el software debe poder ser copiado y vendido o distribuido gratuitamente por los usuarios

Código fuente: el código fuente debe estar incluido o debe ser proporcionado a través de un medio de carácter público

Trabajos derivados: la redistribución de modifcaciones debe estar permitida

Integridad del código fuente del autor: las licencias pueden requerir que las modifcaciones sean redistribuidas sólo como parches

Sin discriminación de personas o grupos: nadie puede dejarse fuera del movimiento de fuentes abiertas

c

Decálogo OSI

Sin discriminación de áreas de iniciativa: no se puede restringir el uso del programa (comercial, científco, militar...)

Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa

La licencia no debe ser específca de un producto: el programa no puede licenciarse sólo como parte de una distribución mayor

La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro software deba también ser de código abierto

La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón

c

Concepto de comunidad

¿A que nos referimos?● Conjunto de personas o entidades que colaboran

para que el software abierto evolucione y mejore

Dos grandes grupos● Usuarios

– Probar el software, demandar mejoras, informar de errores

● Desarrolladores– Producir programas e introducir mejoras teniendo en

consideración a los usuarios

Todos podemos formar parte● No son necesarios conocimientos de programación

Ventajas

Ventajas del modelo de desarrollo

Mayor capacidad de evolución● Sigue el principio global de “la unión hace la fuerza”

Decisiones descentralizadas● El software evoluciona según los intereses de una

comunidad de usuarios y no de una determinada empresa/organización

Las ventajas de este modelo se concretan en 10 realidades tangibles

Diez realidades

Primera: estabilidad del sistema operativo● Los SO cerrados son “cajas secretas”

– Errores revisados por pocas personas

– Actualizados con poca frecuencia

● Los SO abiertos son “cajas públicas”– Revisados constantemente por muchas personas

– Cualquiera puede informar de un error e incluso corregirlo

– Actualizados con una elevada frecuencia

– Mayor calidad del software

Diez realidades

Segunda: su seguridad ● En un SO cerrado los virus y otros programas

maliciosos son más perniciosos: – No se es consciente de su presencia

– El usuario no puede hacer nada para evitarlo

– El tiempo de reacción de los desarrolladores es mayor

● Los sistemas de fuentes abiertas son por su naturaleza más seguros que los sistemas cerrados

Diez realidades

Tercera: su coste● El software de fuentes abiertas tiene un menor coste ● Para el productor:

– Menor esfuerzo de desarrollo (reutilización de código)

– Menor coste de mantenimiento (comunidad desarrolladores)

– Menor coste de distribución (descarga por internet)

● Para el usuario:– Licencias más baratas o incluso gratuitas debido al ahorro

en la producción

– Mayor competencia entre proveedores de software y servicios

Diez realidades

Cuarta: su libertad para modifcarlo● Es difícil que un software satisfaga todas las

necesidades de una organización ● Adaptar el software propietario es difícil y caro● Adaptar el software abierto es sencillo

– No presenta trabas legales

– Se dispone de toda la información

– Se pueden reutilizar adaptaciones de otras organizaciones

Diez realidades

Quinta: su sencillez de instalación● Actualmente el software abierto es tan sencillo de

instalar como el cerrado● Además, ante cualquier duda se puede consultar a la

comunidad de usuarios– Menor tiempo de respuesta que los servicios de soporte del

software propietario

Diez realidades

Sexta: los estándares abiertos● Para asegurar interoperabilidad entre programas, los

datos deben gestionarse siguiendo un conjunto de reglas predefnido: estándar o formato

● Los estándares abiertos (públicos) garantizan el acceso a la información y facilitan la interoperabiliad

● El software de fuentes abiertas promueve este tipo de estándares– Ejemplo: formato Ogg de archivos multimedia

Diez realidades

Séptima: las ventajas a nivel jurídico● El marco legal del software cerrado se ha concebido

pensando en el productor● El marco legal del software abierto tiene en cuenta al

consumidor, aunque sin dañar los derechos del propietario– Se puede usar en varios equipos, copiar, distribuir sin

necesidad de consultar a los abogados

Diez realidades

Octava: capacidad para generar innovación● El análisis, las revisiones y las mejoras del software

de fuentes abiertas son llevadas a cabo por multitud de personas de forma distribuida

● El método empleado es similar al que emplea el mundo académico y científco

Diez realidades

Novena: benefcios para la industria local● El software de fuentes abiertas

– Reduce el gasto en licencias

– Otorga independencia del proveedor

– Facilita la adaptación del software

● Genera un mercado local de servicios– Instalación

– Soporte

– Adaptación

– Formación

Diez realidades

Décima: posibilidad de diferentes lenguas● La decisión de traducir un software no depende de

los intereses del productor sino de los usuarios– Tantas traducciones como usuarios quieran

http://es.wikipedia.org/wiki/Windows_XP

Microsoft Windows XP

92 idiomas

https://translations.launchpad.net/ubuntu/hardy

Ubuntu 8,04 Hardy Hero

192 idiomas

Oportunidades

Nuevo ecosistema empresarial en torno al software de código abierto● Fomentado por empresas, instituciones y usuarios● Las empresas locales del sector pueden benefciarse

– Adaptación del software

– Despliegue y mantenimiento

– Formación

– ...

● Especialmente importante para España debido a la cantidad de PYMES

Oportunidades

La migración masiva a este software permitiría● Reducir la dependencia de la tecnología exterior

– Menor fujo exterior de contratación

– Menor fujo exterior de renovación

– Ambos suponen una cifra considerable de la economía

● Generar empleo, riqueza y oportunidades para la economía local

● Impulsar la I+D+I

Oportunidades

Este software es el que mejor se adapta a las necesidades de las administraciones públicas● Seguridad y confdencialidad de los datos● Perdurabilidad y garantía acceso a la información

– Gracias al uso de estándares abiertos

● Optimización del gasto público● Fomento de la innovación tecnológica

Diversos informes lo atestiguan● EEurope 2002 entre otros

Oportunidades

Los particulares son los más reacios al cambio● La falta de información es un obstáculo

Argumentos a favor● No es necesario infringir la ley o gastar mucho dinero

para poder sacarle provecho al PC● Siempre dispondremos de la última versión del

software● Menor exposición a software malintencionado● La comunidad de usuarios puede ayudarnos

¿Quién lo usa?

Usan y colaboran en su desarrollo● Instituciones públicas● Universidades● Empresas

– Como …

– … y muchas más

Entorno legal

Licencias software

¿Qué es un licencia software?● Autorización formal con carácter contractual que el

autor un software otorga a un usuario para que pueda ejercer “actos de explotación” legal

¿Restricción o garantía de libertades?● Depende de los términos de la licencia

Código Abierto

Tipos de software

Taxonomía en función del tipo de licencia

Dominio público

BSD-MPL

Copyleft

GPL

Propietario

Freeware

Shareware

Gratis

Probar antes de comprar

El autor ha renunciadoa los derechos

Sincódigo

Copyleft

¿Qué es?● Regla/cláusula de una licencia software que

garantiza que sus términos se preservan

¿Qué implica?● El software se puede modifcar/distribuir siempre que

esté sujeto a licencia equivalente– Efecto “Rey Midas”

Copyleft estricto vs. relajado● La versión relajada permite “enlazar” código y

distribuir el programa con una licencia distinta

GPL

General Public License● Diseñada por la Free Software Foundation● Conserva los derechos de autor y otorga 4 libertades

al usuario del software– Libertad 0: Utilizarlo con cualquier propósito

– Libertad 1: Acceder a su código fuente y estudiarlo

– Libertad 2: Distribuirlo libremente

– Libertad 3: Mejorarlo y adaptarlo

● Estas libertades se protegen mediante copyleft

BSD

Berkeley Software Distribution● Otorga las mismas libertades que GPL● No está protegida por copyleft● Por copia y modifcación puede convertirse en

software propietario

Primeros pasos

Fundamentos de uso

Algunos programas útiles

Firefox(Navegador)

Thunderbird(Correo)

Pidgin(Mensajería instantánea)

OpenOffice.org(Paquete ofimática)

Azureus(Cliente P2P)

VLC(Reproductor video)

GIMP(Editor gráfico)

Songbird(Reproductor música)

Criterio = multiplaforma

Adium(Alternativa a pidgin en OS X)

¿Cómo puedo usarlos?

No es necesario cambiar de SO● Paso intermedio de migración hacia software abierto● Solución de compromiso si el PC es compartido con

otros familiares

¿Cómo instalarlos?● Acceder a la web de cada software (ver guía)

– Para Songbird http://getsongbird.com

● Descargar el programa de instalación● Seguir las instrucciones

Windows

Mac OS X

Firefox

Navegador web● Características:

– Pestañas

– Bloqueo de pop-ups

– Múltiples extensiones

– …

● Ejercicios:– Abre las páginas de CENATIC y tu universidad en 2 pestañas

– Abre mozilla-hipano y examina la documentación

– Cierra frefox bruscamente y recupera todas las ventanas

– Examina los complementos

Thunderbird

Cliente de correo y noticias● Características:

– SMTP, POP, IMAP, NNTP

– Correo HTML

– Filtro anti-spam

– Lector RSS

– Cifrado PGP

– Múltiples extensiones

● Ejercicio:– Confgura tu cuenta de correo y prueba a enviarte un correo

a ti mismo

Pidgin

Mensajería instantánea● Características

– Posibilidad de conectarse a varias redes: MSN, ICQ, Google Talk, Jabber, etc.

– Conversaciones en pestañas

– Avisos sonoros

– Transferencias de fcheros

● Ejercicio– Confgura pidgin para conectarte a una red en la que estés

registrado (MSN, ICQ, Jabber, ...)

OpenOfce.org

Paquete ofmática● Características:

– Formatos abiertos de documentos (odt, odp, ods)

– Similitud con Microsoft Ofce 2003

– Compatibilidad con formatos de Microsoft (aunque no 100%)

– Generación de documentos PDF efcaz y rápida

● Ejercicio:– Abre un fchero DOC y conviértelo a ODT

– Genera un fchero PDF a partir del fchero anterior

– Abre un fchero XLS y conviértelo a ODS

– Crea tus propios fcheros ODT y XLS

Azureus

Cliente P2P● Características:

– Compatible con la red BitTorrent

– Selección de velocidades de subida/bajada

– Reproducción de música/video

– Distintos modos de uso (principiante, intermedio, avanzado)

● Ejercicio:– ¡Si las condiciones de la red lo permiten!

– Bajar un fchero de música de tamaño reducido

– Bajar un fchero de video de tamaño reducido

– Reproducirlos los fcheros

VLC

Reproductor de video/multimedia● Características:

– Soporta un gran número de CODECS de audio/video,subtítulos,etc.

– Soporta DVD, CD y streaming

– Puede ser usado como servidor multicast

– Dispone de plugin para el navegador

● Ejercicio:– Abre el fchero de video descargado con Azureus

– Abre la URL de Radio3 ● http://195.55.74.108:80/rtve/radio3.mp3

– Abre la URL de Antena3 Nova ● http://nova.stream.fumotion.com/antena3/nova.asf.m3u

Songbird

Reproductor de música● Características:

– Soporta múltiples formatos (mp3, ogg, acc, wma, …)

– Interfaz similar a iTunes

– Permite gestionar una biblioteca de música, añadir carátulas, etc.

– Sincronización de dispositivos tipo iPod (mediante plugin)

● Ejercicio:– Escucha una radio en internet

– Abre el fchero de música descargado con Azureus

Gimp

Editor gráfco● Características:

– Alternativa libre al Photoshop

– Soporta múltiples formatos gráfcos (JPG, GIF, TIFF, …)

– Dispone de un gran conjunto de herramientas, fltros, etc.

– Permite la automatización mediante fcheros de comandos

● Ejercicios:– Saca un pantallazo del escritorio, guardalo como .png,

edítalo y redúcelo al 75%

– Incrústalo en el documento OOWriter anterior

– Bajate una foto de http://www.fickr.com y rótala 180º

¿Qué es GNU/Linux?

Es ...● Un sistema operativo de código abierto● La suma de entorno GNU y el núcleo Linux● Compatible con sistemas UNIX

GNU + LINUX

¿Qué es una distribución?

Una colección de software libre● Núcleo + drivers (módulos)● programas + extras + utilidades● ¿Soporte? + ¿Documentación?

Distribuciones

UbuntuDebian Slackware Gentoo

RedhatFedora Mandriva Suse

Ubuntu Linux

Principales características● Distribución basada en Debian● Desarrollada por Canonical Ltd. (Sudáfrica)● Ubuntu:

– Filosofía zulú: “Humanidad hacia otros”, “yo soy porque nosotros somos”

– Slogan Ubuntu: “Linux for human beings”

● Sin duda alguna es la más fácil de instalar/usar

Ubuntu Linux

¿Cómo usar Ubuntu?● LiveCD: sin instalarlo en el disco duro● Instalado en el disco duro

– Es la opción más efciente, pero hay que tener cuidado si hay otros sistemas operativos instalados

● Instalado en un disco USB o pendrive● Instalado en una máquina virtual

Ubuntu Linux

Paso previo: confgurar la BIOS para que arranque de CD● Suele haber una tecla para entrar en la confguración

– Normalmente: DEL, F2, ESC, ....

● Una vez dentro, buscamos la secuencia de arranque (Boot, Boot device)

Ubuntu Linux

Mejor verlo en uso ...

¿Preguntas?

Curso “INTRODUCCIÓN AL SOFTWARE DE FUENTES ABIERTAS”Versión 1,2

17 de diciembre de 2008

© David Barragán MerinoCentro de Recursos de Información y Software Libres (http://crisol.uc3m.es)

© Alfonso López MurciaUniversidad de Murcia (http://www.um.es)

© Jaime Crespo y Guillermo PalacioOfcina Software Libre Universidad de Zaragoza (http://osluz.unizar.es)

© Luis Piñuel y Manuel Prieto Aula SUN/UCM de Software Libre (http://www.ucm.es/info/aulasun)

También se han usado documentos de:Grupo de Software Libre de la UPV (http://itsas.ehu.es)

Imagen de matrix: © 1999-2003 by Jamie Zawinski

Algunos derechos reservados. Este artículo se distribuye bajo la licencia Creative Commons 3.0 Reconocimiento-No comercial-Compartir, disponible en

http://creativecommons.org/licenses/by-nc-sa/3.0/

Este documento (o uno muy similar) esta disponible enhttp://forja.rediris.es/projects/form-foss-univ/