• No se han encontrado resultados

1.1. Introducción al Software Libre (9 horas)

N/A
N/A
Protected

Academic year: 2021

Share "1.1. Introducción al Software Libre (9 horas)"

Copied!
41
0
0

Texto completo

(1)

Módulo: 1. Introducción al Software Libre

Curso: 1.1. Introducción al Software Libre (9 horas)

Prof. Kenyer Domínguez - [email protected] @kenyerdominguez

Universidad Simón Bolívar Decanato de Extensión

(2)

CONTENIDO

Sesión 1 (3 horas)

Introducción

Conceptos Básicos

✔ 4 Libertades del Software Libre ✔ 10 principios del Open Source

✔ Diferencias entre Open Source y Software Libre

Siglas Comunes

Categorías de Software Libre

Sesión 2 (3 horas)

Historia y protagonistas más representativos

Evolución de los movimientos GNU y Código Abierto a través de los años.

Sesión 3 (3 horas)

Motivaciones y consecuencias

Servicios relacionados con el Software Libre

Financiamiento en Software Libre

(3)
(4)

“La suma total de los programas de cómputo,

procedimientos, reglas documentación y datos asociados que forman parte de las operaciones de un sistema de cómputo.” IEEE 729.

•Todo aquello que nos permite manipular el hardware • Es un bien intangible.

• Puede Genérico o Personalizado • De programación o de aplicación • Código fuente y código ejecutable.

(5)

El Software como Sistema Trascendental

Según Pressman (2002), el Software abarca programas que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura, documentos que comprenden formularios virtuales e impresos y datos que combinan números, texto y también incluyen representaciones de información de audio, video e imágenes.

Según Sommerville (2005), el Software no son sólo programas, sino todos los documentos asociados y la configuración de datos que se necesitan para hacer que estos programas operen de manera correcta.

Según Wikipedia (2009), la palabra «software» se refiere al equipamiento lógico o soporte lógico de un computador digital, comprende el conjunto de los componentes lógicos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema (hardware).

(6)

El Software como Sistema Trascendental

En la Ingeniería del Software no tenemos los problemas típicos de otras ingenierías como desgaste, roce, corrosión, resistencia de los materiales, etc.

Más aún, los que desarrollamos software nunca tocamos físicamente nuestro trabajo. Nuestro producto es lógico, no físico. Sin embargo, quizá por esa misma razón, los problemas que enfrentemos son tan o más complicados que en el resto de las ingenierías.

Uno de esos problemas en la libertad. Al comprar casi cualquier producto de cualquier ingeniería (automotríz, química, electrónica, civil, etc.) tenemos el derecho de usarlo, modicarlo y compartirlo si queremos.

(7)

Las 4 Libertades del Software Libre

✔La libertad de ejecutar el programa, para cualquier propósito (libertad 0).

✔La libertad de estudiar cómo trabaja el programa, y adaptarlo a sus necesidades (libertad 1). El acceso al código fuente es una condición necesaria.

✔La libertad de redistribuir copias para que pueda ayudar al prójimo (libertad 2).

✔La libertad de mejorar el programa y publicar sus mejoras, y versiones modificadas en general, para que se beneficie toda la comunidad (libertad 3). El acceso al código fuente es una condición necesaria.

todas

Según la última modificación GNU (2009), El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Más precisamente, se refiere a cuatro tipos de libertades para los usuarios del software:

T W A R E L I B R E - D E F I N I C I O N

(8)

Las 4 Libertades del Software Libre – BREVE ANÁLISIS Libertad cero. No hay restricciones de personas, ni de tipos de computadora, de tiempo, ni de cantidad de máquinas, ni de finalidad (comercial, académica, personal, etc), sin estar obligado a comunicarlo a su programador, o alguna otra entidad específica.

Libertad uno. La libertad de estudiar cómo trabaja el programa, y adaptarlo a sus necesidades. El acceso al código fuente es una condición necesaria. En la ingeniería automotriz este libertad resulta obvia, todo aquel que adquiera un automóvil puede abrirlo y ver cómo funciona e inclcuso modificarlo si tiene los conocimientos suficientes.

F T W A R E L I B R E - D E F I N I C I O N

(9)

Las 4 Libertades del Software Libre – BREVE ANÁLISIS Libertad dos. La libertad de redistribuir copias debe incluir las formas binarias o ejecutables del programa, así como el código fuente; tanto para las versiones modificadas como para las no lo están. En la industria culinaria esto es muy común. Incluso puedes vender copias

Libertad tres. En algunos casos las regulaciones de control de exportación y las sanciones comerciales pueden limitar sus libertades de distribuir copias de programas intencionalmente. Los desarrolladores de software no tienen el poder de eliminar o pasar por alto estas restricciones, pero lo que pueden y deben hacer es rechazar imponerlas

T W A R E L I B R E - D E F I N I C I O N

(10)

Según Wikipedia (2009), Código abierto (del inglés Open Source) es el término por el que se conoce el software distribuido y desarrollado libremente. Este término se comenzó a utlizar en 1998 algunos usuarios de la comunidad del software libre, tratando de usarlo como reemplazo al ambiguo nombre original en inglés del software libre (free software).

La filosofía del Open Source centra su atención en la premisa de que al compartir el código, el programa resultante tiende a ser de calidad superior al software propietario, es una visión meramente técnica. Según Stallman (1998), la retórica del [movimiento] Open Source se concentra en la posibilidad de crear un software de alta calidad y capacidad, pero rehuye las nociones éticas de libertad, comunidad y principios.

O P E N S O U R C E - D E F I N I C I O N

(11)

La Open Source Initiative (OSI) establece 10 normas que debe cumplir un sistema para poder llamarse Open Source:

1. Libre redistribución

2. Acceso al Código fuente

3. Trabajos derivados distribuibles

4. Integridad del código fuente del autor 5. Sin discriminación de personas o grupos 6. Sin discriminación de áreas de iniciativa 7. Distribución de la licencia

8. La licencia no debe ser específica de ningún producto 9. La licencia no debe restringir otro software

10. La licencia debe ser tecnológicamente neutral

P E N S O U R C E - D E F I N I C I O N

(12)

Libre Redistribución: la licencia del software no restringirá la venta de alguna parte del programa, o la repartición del software como un componente agregado de un programa que contenga diferentes fuentes. La licencia de código abierto tampoco requerirá honorarios por concepto de estas ventas.

Código abierto: el programa debe incluir el código fuente original, o al menos indicar una dirección en Internet en donde se pueda acceder gratuitamente al mismo, y debe permitir la distribución y modificación de este código y de su forma compilada.

Trabajos derivados del original: la licencia del software debe permitir modificaciones y trabajos derivados del original, de modo que estos puedan ser distribuidos bajo los mismos términos o condiciones del software original.

Integridad del código original del autor: la licencia puede restringir la distribución de modificaciones al código original sólo en el caso de parches o pedazos de código agregados. La licencia debe permitir explícitamente este tipo de modificaciones. En estos casos la licencia puede requerir que las modificaciones sean identificadas con nombres o números de versión distintos a los originales. Esta parte de la definición es permisiva pero no obligatoria. Se contempla este criterio para proteger el trabajo y la reputación de los creadores del código original.

O P E N S O U R C E - D E F I N I C I O N

(13)

Ninguna discriminación contra personas o grupos: la licencia del software no debe discriminar de su uso a ningún grupo o persona.

Ninguna discriminación contra campos de trabajo: la licencia no debe restringir el uso del software a ningún campo de trabajo específico, de modo que pueda ser utilizado desde un negocio hasta investigaciones genéticas.

Distribución de la licencia: los derechos relativos al programa deben aplicarse a todo aquel a quien el programa es redistribuido, sin necesidad de generar una licencia adicional.

La licencia no debe ser específica a un producto: los derechos relativos al programa no deben depender del software que es parte de una distribución de particular. Si el programa es extraído de aquella distribución y usado o distribuido dentro de los términos o condiciones de la licencia del programa, todos aquellos a quienes el programa es redistribuido, deberían tener los mismos derechos que aquellos que se conceden en la conjunción con la distribución de software original.

P E N S O U R C E - D E F I N I C I O N

(14)

La licencia no debe restringir otro software: la licencia no debe colocar restricciones contra otro software que es distribuido con el software autorizado. Por ejemplo, la licencia no debe insistir que todos los otros programas distribuidos sobre el mismo medio sean software abierto de la misma fuente.

La licencia debe ser de tecnología neutral: Ninguna provisión de la licencia puede ser afirmada sobre cualquier tecnología individual o estilo de interfaz.

O P E N S O U R C E - D E F I N I C I O N

(15)

Según la Wikipedia en español, desde el punto de vista de una "traducción

estrictamente literal", el significado textual de "código abierto" es que "se puede mirar el código fuente", por lo que puede ser interpretado como un término más débil y flexible que el del software libre. Sobre esta base, se argumenta que un programa de código abierto puede ser software libre, pero también puede ser semilibre o incluso completamente no libre. Sin embargo, por lo general, un programa de código abierto puede ser y de hecho es software libre, como igualmente un programa Software Libre es Open Source. Esto ocurre dado que ambos movimientos reconocen el mismo conjunto de licencias y mantienen principios equivalentes.

20 minutos

A nivel grupal: Piense, escriba y comparta.

¿Se puede afirmar que los términos Software Libre y

Open Source son equivalentes?

(16)
(17)

¿Cuántos de estos conceptos conoces?

BUG: Insecto. Cuenta la leyenda que una polilla quedó atrapada en uno de los primeros ordenadores del mundo causando un error en el funcionamiento.

FUD: Del inglés, Fear, Uncertainty and Doubt, «miedo, incertidumbre y duda»

GNU: Acrónico recursivo que significa GNU no es Unix.

GPL: Licencia Pública General de GNU

Demonio: Deamon de sus siglas en inglés Disk And Execution Monitor, es un proceso que se ejecuta en seguno plano

Trol: Es un mensaje u otra participación que intencionalmente sólo busca crear

controversia, denominándose así también, por extensión, a quien envía esos mensajes

Flame: mensaje deliberadamente hostil o insultante enviado sin ningún propósito

constructivo; en consecuencia, flaming (a veces españolizado como flamear) es el acto de publicar flames, usualmente en el contexto social de un foro o una

(18)

¿Cuántos de estos conceptos conoces?

Cracker: Persona que viola la seguridad de un sistema informático con fines de beneficio personal o tan sólo para hacer daño

Hacker: experto en una o varias ramas técnicas relacionadas con las tecnologías de la información y las telecomunicaciones.

Geek: Persona con una gran fascinación por la tecnología e informática, abarcando los diferentes niveles, desde fascinación normal hasta niveles obsesivos..

Distribución: es una variante de ese sistema operativo que incorpora determinados paquetes

de software para satisfacer las necesidades de un grupo específico de usuarios

BSD: del inglés Berkeley Software Distribution

KDE: del inglés K Desktop Environment

GIMP: del inglés GNU Image Manipulation Program

(19)
(20)

¿Cuál es el principal aporte de los siguientes personajes?

Richard Stallman

Linus Torvals

Bruce Perence

Eric Raymond

Christine Pearson

Mark Anderson

(21)

20 minutos

A nivel grupal: Piense, escriba y comparta.

Trate de representar

gráficamente

, a través de

un

mapa conceptual

, los diferentes

términos

definidos hasta el

momento e incluso aquellos

nombrados en Revolution OS.

(22)
(23)
(24)
(25)

¿Por qué un Ñu?

Un Ñu es el animal representativo del proyecto GNU, además en algunos idiomas como el italiano, la ñ es sustituida por gn, ejemplo: Pessagno, Bologna. Además según el mismo Richard Stallman, es común entre los hackers darle nombres graciosos y recursivos a sus creaciones, incluso le gustó la idea de que GNU sonara en inglés como NEW.

(26)

¿Por qué un Pingüino?

El pingüino logotipo/mascota de Linux se debatió a principios de 1996 por varios desarrolladores de linux-kernel mailing list, aunque la idea de esta mascota vino de Alan Cox en primer lugar. Entre las muchas sugerencias para este logotipo, vinieron tiburones, águilas, etc… En algún momento parece que Linus Torvalds casualmente, mencionó su afición por los pingüinos mediante un correo electrónico. James Hughes fue la primera persona en llamar al pingüino “Tux”, quien dijo que su nombre venía de “(T)orvalds (U)ni(X)”.

Tux nació en un concurso de logotipos de Linux… de hecho hay mucha confusión en esto, ya que realmente fueron tres los concursos en busca del logotipo de Linux, y parece ser que Tux no gano ninguno de ellos, es esta la razón por la que Tux es oficialmente conocido como la mascota de Linux, no el logotipo.

(27)

Free / Libre Open Source Software

Para evitar dilemas etimológicos, se definió el término FLOSS, para algunos no es más que la unión de los términos anteriores. Sin embargo, según AlMarzouq et al (2005), FLOSS es más que software y código abierto (Hein, 2004), es una filosofía de trabajo que propone una dinámica de desarrollo constituida por cuatro elementos:

Licencia Comunidad Proceso de

Desarrollo Software

(28)

Categorías de Software Libre

Software de dominio público: Es aquel que no está protegido por derechos de autor. En

algunos casos, un programa ejecutable puede ser de dominio público sin que su código fuente esté disponible. Este software no es software libre, porque para que lo sea es preciso que el código fuente sea accesible. Por su parte, la mayoría del software libre no es software de dominio público; está protegido por derechos de autor, y los poseedores de éstos han dado permiso legal para que cualquiera lo emplee libremente usando una licencia de software libre.

XFree86 es una implementación del sistema X Window System. Un cambio de licencia

producido en Febrero de 2004 a partir de la versión 4.4.0 (anteriormente se distribuía bajo la licencia MIT) provocó la creación de la bifurcación X.Org Server, apoyada por empresas y desarrolladores descontentos con presuntas incompatibilidades con la popular licencia GPL. Esto ha provocado una caída en la popularidad de XFree86, siendo reemplazado por X.Org en prácticamente todas las distribuciones de GNU/Linux y en algunos sistemas BSD.

(29)

Categorías de Software Libre

Software protegido con copyleft es aquel cuyos términos de distribución aseguran que todas

las copias de todas las versiones son software libre. Esto significa, por ejemplo, que las licencias copyleft no permiten a terceros agregar ningún requisito adicional (a excepción de un conjunto limitado de requisitos para aumentar su protección) y exige que que el código fuente sea público. Algunas licencias copyleft, como la tercera versión de la GPL, impiden otras formas de convertir en privativo el software.

Software libre no protegido con copyleft es aquel que incluye la autorización del autor para

redistribuir y modificar el software, así como el permiso para añadirle restricciones adicionales. El que un programa sea libre pero no esté protegido con copyleft, implica que algunas copias o versiones modificadas del mismo pueden no ser completamente libres. Una compañía de software podría compilar el programa, con o sin modificaciones, y distribuir el archivo ejecutable como un producto de software privativo. El Sistema X Window es un

(30)

Categorías de Software Libre

Freeware: no tiene una definición clara aceptada, pero es usado comúnmente para referirse a

paquetes que se pueden distribuir pero no modificar (y cuyo código fuente no está disponible). Estos paquetes no son software libre. Por lo tanto, por favor, no use el término «freeware» para referirse al software libre.

Shareware: software del que se permite redistribuir copias, pero que por cada copia utilizada,

el usuario debe pagar un cargo por licencia. El shareware no es software libre, ni siquiera semilibre. Esto es así por dos razones:

- Para la mayoría del shareware, el código fuente no está disponible; por lo tanto, usted no puede modificar el programa de ninguna manera.

- No se puede hacer una copia de shareware e instalarla sin pagar un cargo por licencia, incluso en el caso de individuos que lo utilicen para actividades sin ánimo de lucro (en la práctica, los usuarios ignoran con frecuencia los términos de distribución y lo hacen de todas formas, pero estos términos no lo permiten).

(31)

Categorías de Software Libre

Software privativo es aquel que no es libre ni semilibre. Su uso, redistribución o modificación

están prohibidos, requieren que solicite una autorización, o está tan restringido que de hecho no puede hacerlo libremente.

Software privado es aquel desarrollado para un usuario (generalmente una organización o

una compañía). Este usuario lo tiene en su poder y lo utiliza, y no lo libera al público ni como código fuente ni como binario. Un programa privado es software libre en un sentido trivial si su único usuario tiene plenos derechos sobre él. Sin embargo, al considerar la cuestión con más profundidad, el preguntarse si tal programa es o no libre pierde su sentido. En general no creemos que desarrollar un programa y no liberarlo sea un error. Hay ocasiones en las que un programa es tan útil que acapararlo para sí constituye un perjuicio para la humanidad. Sin embargo, la mayoría de los programas no son tan maravillosos, y no liberarlos no resulta particularmente dañino. Por lo tanto, no hay ningún conflicto entre el desarrollo de software privado o a medida y los principios del movimiento de software libre.

(32)

Categorías de Software Libre

Software cerrado o propietario no

existe consenso en la literatura, sin embargo se entiende que un software es cerrado cuando absolutamente todos los derechos son de una compañía la cual limita su uso, distribución y modificación, e incluso cualquier violación implica sanciones legales en contra del usuario.

(33)

20 minutos

A nivel grupal: Piense, escriba y comparta.

Trate de representar

gráficamente

, a través de

conjuntos e intersecciones

, las

diferentes

categorias

de Software

Libre y no Libre descritas hasta

el momento.

(34)

SOLUCIÓN: Categorías de Software Libre

(35)

Servicios

Relacionados

con el

(36)

5 formas de contribuir en proyectos FLOSS sin programar

1. Aporta calidad:

Ayuda a mejorar un proyecto, mejor aspecto y con nuevas caracteristicas.

- Envía informes de bugs.

- Sugiere nuevas caracteristicas y opciones.

- Sugiere formas de mejorar el framework (quizá

comparandolo a otro proyecto OpenSource o comercial) - Aporta algo de arte (iconos, fondos de escritorio, logos) para usar en la aplicación.

- Corrige los errores ortográficos y gramaticales en la documentación.

(37)

5 formas de contribuir en proyectos FLOSS sin programar

2. Aporta documentación:

Algunos proyectos OpenSource tiene una pobre o insuficiente documentación.

- Ayuda a escribir buena documentación.

- Traduce la documentación (y los textos de la aplicación) a otro idioma. - Lee la documentación existente, sigue los ejemplos y haz correcciones. - Crea diagramas, capturas de pantalla, y gráficos para la documentación. - Desarrolla convenciones ortográficas y un estilo grámatico para los documentalistas.

- Construye un glosario de términos técnicos (así los no geeks podrán entender)

(38)

5 formas de contribuir en proyectos FLOSS sin programar

3. Aporta Soporte:

Todo el mundo lo necesita al menos una vez. Permite al programador hacer su trabajo mientras tu ayudas a otras personas.

- Responde preguntas en foros, listas de correo o canales de IRC. - Contribuye a (o comienza) un grupo de soporte online.

- Ayuda a otra gente a aprender a como usar el programa (o la libreria de programación)

(39)

5 formas de contribuir en proyectos FLOSS sin programar

4. Aporta dinero:

Muchos proyectos OpenSource tiene un botón de donación o una tienda donde puedes comprar productos relacionados, pero hay otras maneras de contribuir con dinero.

- Envíale al desarrollador, proyecto o compañía algún dinero. - Compra un producto de Software Libre, o productos asociados. - Contrata desarrolladores de Software Libre.

- Contribuye con hardware.

- Contribuye con Ancho de Banda.

- Anunciate en su web si muestras anuncios.

(40)

5 formas de contribuir en proyectos FLOSS sin programar

5. Aporta publicidad:

Si el proyecto se vuelve popular habrá más gente queriendo contribuir - Empaqueta la aplicación para una distribución de Linux en particular (u otro Sistema Operativo).

- Convence a la gente para que eligan productos de Software Libre cuando sea posible.

- Escribe criticas de los productos.

(41)

¿Cuáles son los principales protagonistas del Software Libre y del

Open Source?

¿Por qué un Pingüino?

¿Por qué un Ñu?

¿Qué significan las siglas: BSD, KDE, GIMP, RPM, APT, GPL, FUD,

FSF, OSI, GNU, RMS, FLOSS?

¿Cómo se puede contribuir en un Proyecto FLOSS sin programar?

Referencias

Documento similar

Para el autor Miguel de Icaza, el software libre es propiedad de todos: cada persona en el mundo tiene derecho a usar el software, modificarlo y copiarlo de la misma manera que

1 6 (Sistemas de Algebra Computacional con Geometría Dinámica y tratamiento estadístico desarrollado en la Universidad de Amberes, Suiza; como software libre) en el PEA

Atendiendo a las necesidades de la comunidad de tener el portal de manera funcional lo antes posible, que además permitirá realizar pruebas con los propios usuarios,

GIMP es quizás la primera gran aplicación libre para usuarios finales, también es considerado como una prueba de es posible crear aplicaciones para usuarios no

El Objetivo General es desarrollar componentes y utilitarios para la impresión de documentos de identificación de personas en software libre, así como un

Se ha hecho el análisis de una selección de Herramientas de Autor existentes en el mercado y soportadas en software libre, para presentar una propuesta de diseño de una

a) Evaluar el tipo de usuarios que participará en el proceso y el impacto corporativo que tienen en el plan de migración a Software Libre. b) Analizar el estado actual de la

- Empresas Contratistas de Software. Este fue el primer tipo de empresa y forma de comercialización y entrega de software. Se desarrolló desde mediados de los 1950, orientadas