01 - fundamentos del software libre revisado (01!09!09)

37
ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 1 de 37 Módulo 1 POSTGRADO EN SOFTWARE LIBRE CURSO I: Introducción al Software Libre Objetivo General Comprender los fundamentos de operación y manejo de las plataformas informáticas de Software Libre. Objetivos Específicos Comprender los fundamentos y filosofía del software libre. Identificar las ventajas y desventajas entre el software libre y el software propietario. Describir al sistema operativo GNU/Linux como principal aporte del software libre. Introducción La Universidad Nacional de Ingeniería (UNI) y el Instituto Nacional de Investigación y Capacitación en las Telecomunicaciones (INICTEL) fusionados mediante Decreto Supremo No. 030-2006-MTC presentan el curso 01 del Postgrado en Software Libre. El INICTEL-UNI es una institución orientada a la Investigación y capacitación en las Telecomunicaciones, presenta en su diseño institucional diferentes campos de acción, promoviendo la innovación y desarrollo tecnológico del país a través de la asesoría y capacitación en las Telecomunicaciones. El INICTEL-UNI presenta en su estructura organizacional dos importantes áreas: La Dirección de Proyectos y Transferencias de Conocimientos y la Dirección de Investigación y Desarrollo Tecnológico. La primera dirección en referencia tiene como uno de sus objetivos fomentar la modalidad de educación a distancia para lograr la capacitación y formación de las profesionales de las diferentes regiones del país y de Latinoamérica. Dentro de este contexto el INICTEL-UNI presenta el curso a distancia “Introducción al Software Libre”. El cual pertenece al siguiente programa: 1. Introducción al Software Libre 2. Administración Básica del Sistema Operativo GNU/LINUX 3. Redes de Computadoras 4. Administración en Redes GNU/LINUX 5. Seguridad en Redes GNU/LINUX 6. Desarrollo de Aplicaciones I 7. Desarrollo de Aplicaciones II

Upload: jarchaz

Post on 24-Jun-2015

1.637 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 1 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

CURSO I: Introducción al Software Libre

Objetivo General

Comprender los fundamentos de operación y manejo de las plataformas informáticas de Software Libre.

Objetivos Específicos

Comprender los fundamentos y filosofía del software libre.

Identificar las ventajas y desventajas entre el software libre y el software propietario.

Describir al sistema operativo GNU/Linux como principal aporte del software libre.

Introducción

La Universidad Nacional de Ingeniería (UNI) y el Instituto Nacional de Investigación y Capacitación en las Telecomunicaciones (INICTEL) fusionados mediante Decreto Supremo No. 030-2006-MTC presentan el curso 01 del Postgrado en Software Libre. El INICTEL-UNI es una institución orientada a la Investigación y capacitación en las Telecomunicaciones, presenta en su diseño institucional diferentes campos de acción, promoviendo la innovación y desarrollo tecnológico del país a través de la asesoría y capacitación en las Telecomunicaciones. El INICTEL-UNI presenta en su estructura organizacional dos importantes áreas: La Dirección de Proyectos y Transferencias de Conocimientos y la Dirección de Investigación y Desarrollo Tecnológico. La primera dirección en referencia tiene como uno de sus objetivos fomentar la modalidad de educación a distancia para lograr la capacitación y formación de las profesionales de las diferentes regiones del país y de Latinoamérica. Dentro de este contexto el INICTEL-UNI presenta el curso a distancia “Introducción al Software Libre”. El cual pertenece al siguiente programa: 1. Introducción al Software Libre 2. Administración Básica del Sistema Operativo GNU/LINUX 3. Redes de Computadoras 4. Administración en Redes GNU/LINUX 5. Seguridad en Redes GNU/LINUX 6. Desarrollo de Aplicaciones I 7. Desarrollo de Aplicaciones II

Page 2: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 2 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Módulo 1: Fundamentos del Software Libre

Objetivo General

Presentar los conceptos y las bases de los fundamentos existentes en el desarrollo del Software Libre, conociendo sus ventajas y desventajas en la aplicación del Sistema Operativo GNU/Linux.

Objetivos Específicos

Conocer los fundamentos básicos y filosofía del Software Libre.

Difundir el uso del Software Libre entre los usuarios como una alternativa de producción y competitividad.

Page 3: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 3 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Introducción

El Software Libre se entiende como el conjunto de muchos esfuerzos en común, para impulsar el desarrollo de la informática en sus inicios. Hoy su concepción sigue vigente y con una mayor trascendencia. Con el advenimiento del Internet, las herramientas que el Software Libre nos ofrece, pone en nuestras manos mecanismos de desarrollo tecnológico, libre y disponible para cualquier comunidad de usuarios en el mundo.

Contenido:

CURSO I: Introducción al Software Libre ...................................................................................... 1 Objetivo General ................................................................................................................................. 1 Objetivos Específicos .......................................................................................................................... 1 Módulo 1: Fundamentos del Software Libre ........................................................................................ 2 Objetivo General ................................................................................................................................. 2 Objetivos Específicos .......................................................................................................................... 2 Introducción ........................................................................................................................................ 3

1.1 Introducción al Software Libre ............................................................................................. 4 1.2 Fundamentos y filosofía del Software Libre ......................................................................... 4

1.2.1 Antecedentes históricos .............................................................................................. 5 1.2.2 Software Libre (Free software) ..................................................................................... 8 1.2.3 Código abierto (Open Source) ..................................................................................... 9 1.2.4 Clasificaciones del software ....................................................................................... 10 1.2.5 Productos de Software Libre más populares .............................................................. 11

1.3 Ventajas y desventajas de utilizar software propietario ...................................................... 13 1.4 Ventajas y desventajas de utilizar software libre ................................................................ 14 1.5 El Sistema Operativo ......................................................................................................... 15

1.5.1 Opciones de sistemas operativos .............................................................................. 16 1.6 Introducción al sistema operativo GNU/Linux .................................................................... 17

1.6.1 Introducción ............................................................................................................... 18 1.6.2 Antecedentes ............................................................................................................. 18 1.6.3 Software y registro de uso ......................................................................................... 19 1.6.4 Estructura Básica de GNU/Linux................................................................................ 20

1.7 Distribuciones de GNU/Linux ............................................................................................. 22 1.7.1 Distribuciones importantes ......................................................................................... 24 1.7.2 Metadistribuciones ..................................................................................................... 27 1.7.3 Mini distribuciones ..................................................................................................... 28

1.8 Ingreso al sistema ............................................................................................................. 29 1.9 Actividades del módulo ...................................................................................................... 31

1.9.1 Autoevaluación .......................................................................................................... 31 1.9.2 Laboratorio ................................................................................................................ 33

1.10 Glosario de términos ......................................................................................................... 35 1.11 Bibliografía y enlaces recomendados ................................................................................ 37

Page 4: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 4 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.1 Introducción al Software Libre

Se puede afirmar que la concepción de Software Libre ha existido en la informática desde sus inicios, la comunidad precursora de programadores desarrollaban su software compartiendo el código fuente de sus programas de una manera totalmente libre. Con el paso del tiempo y con la adopción de criterios totalmente comerciales esta forma de actuar fue desplazada, quedando el desarrollo tecnológico del software a grupos de poder económico de algunas corporaciones y/o empresas. Durante los últimos diez años con el vertiginoso desarrollo de Internet y la popularización de los PC, el movimiento del software libre ha retomado posiciones y ha alcanzado por así decirlo su masa crítica, pues ha dejado de ser sólo cosa de algunos programadores y se ha convertido en un fenómeno plenamente cooperativo.

1.2 Fundamentos y filosofía del Software Libre1

¿Qué es el Software?, el software es una producción inmaterial del cerebro humano y tal vez una de las estructuras más complicadas que la humanidad conoce. De hecho, los expertos en computación aún no entienden del todo como funciona su comportamiento, sus paradojas y sus límites. Básicamente, el software es un plan de funcionamiento para un tipo especial de máquina, una máquina “virtual” o “abstracta”. Una vez escrito mediante algún lenguaje de programación, el software se hace funcionar en ordenadores o PC, que temporalmente se convierten en esa máquina para la cual el programa sirve de plan. El software permite intercomunicar al ser humano y a la máquina y por añadidura a las máquinas entre sí. Sin ese conjunto de instrucciones programadas, los ordenadores serían objetos inertes, como cajas de zapatos, sin capacidad siquiera para mostrar algo en pantalla. Los ordenadores sólo procesan lenguaje binario, pero para las personas este no es un modo válido de comunicarse (salvo a nivel sináptico.) Si bien durante la prehistoria de los primeros ordenadores no quedaba otro remedio que utilizar este lenguaje, hoy el programador no requiere escribir su código en lenguaje binario (“código-máquina”), pues resultaría terriblemente tedioso, improductivo y sujeto a muchos errores. Hoy en cambio los programadores escriben las instrucciones que ha de ejecutar el ordenador mediante lenguajes formales, llamados “de alto nivel”, muy cercanos al inglés; pero con rígidas reglas sintácticas que lo asemejan a los lenguajes lógico-formales. Esto facilita enormemente la tarea de escribir programas; pero, para que esas instrucciones sean comprensibles para el ordenador, deberán ser convertidas antes a código-máquina. Esa conversión se realiza cómodamente con programas especiales, llamados compiladores. Lo que escribe el programador se denomina código-fuente. Al resultado de la “conversión” (compilación) en lenguaje-máquina, se le denomina código-objeto, “binarios” o “ficheros ejecutables”. Lo principal de lo dicho arriba, es que al usuario común sólo le importa el código-objeto, pero conviene tener clara su distinción con el código-fuente, lo que es clave para entender la postura de los partidarios del software libre al querer disponer de él (Ver Figura 1). Pero el software libre es mucho más que el derecho de los programadores y de los hackers2 a disponer de las fuentes del código: significa también la libertad de copiar y redistribuir esos

1 Texto recopilado y adaptado de http://www.gnu.org/philosophy/philosophy.es.html#AboutFreeSoftware. 2 Concepto de hacker: persona que pertenece a una de estas comunidades: 1) Gente apasionada por la seguridad informática. 2)

Comunidad caracterizada por el lanzamiento del movimiento de software libre. 3) Comunidad de aficionados a la informática doméstica,

centrada en el hardware posterior a los setenta y en el software (juegos de ordenador, crackeo de software, la demoscene) de entre los ochenta/noventa. En la actualidad se usa de forma corriente para referirse mayormente a los criminales informáticos . Tomado de: http://es.wikipedia.org/wiki/Hacker.

Page 5: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 5 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

programas. Esos derechos o su ausencia, condicionan a cualquiera que use un ordenador y han configurado la industria del software y de la informática tal y como la conocemos hoy en día. También ha dado lugar a un movimiento social, el del software libre, cuyos antecedentes referiremos en los siguientes párrafos.

Figura 1. Objetivos del software libre

1.2.1 Antecedentes históricos 3

En la informática de los años sesenta y setenta y en la “cultura hacker” que surgió en torno a ella, se disponía libremente de las herramientas necesarias y del código fuente de la gran mayoría de los programas. La colaboración forma parte de los hábitos de la comunidad científica y además, ante la diversidad de plataformas, era necesario disponer del código cuando se adquiría el programa para poder implantarlo en el hardware de cada cual. Era tan normal como compartir recetas de cocina y ni siquiera se hablaba de “software libre”, pues todo el que quería programar se beneficiaba de ello y veía lógico que los demás se pudiesen beneficiar a su vez. Los hackers4 copiaban los programas, intercambiaban sus fuentes, podían estudiarlas, evaluarlas, adaptarlas a sus necesidades y a su hardware, reutilizaban una parte del código para hacer nuevos programas. El desarrollo de bienes públicos basados en ese modelo fue exponencial hasta el punto de que gran parte de la tecnología en la que se basa hoy Internet --desde el sistema operativo UNIX hasta los protocolos de red-- procede de aquellos años. Pero, a principios de los años ochenta, ese modelo entra en crisis, y rápidamente comienza a emerger un modelo privatizador y mercantilista. Los ordenadores, hasta entonces escasos, caros y poco potentes, se hacen asequibles, cada vez más baratos y potentes y aparece un nuevo negocio, el de los fabricantes de software. Los programas se empezaron a vender como productos comerciales independientes de las máquinas y sólo con el código objeto, para ocultar las técnicas de programación a la competencia. La nueva industria del software comienza a apoyarse en la legislación sobre propiedad intelectual. El mundo del software dominado por el UNIX se fragmenta en diversas versiones privatizadas y progresivamente incompatibles entre sí, que los programadores ya no pueden modificar. Lo que era práctica habitual, se convirtió en un delito: el hacker que compartía el código y cooperaba con otras personas, pasó a ser considerado un “pirata”. Al tiempo que los sistemas van haciéndose incompatibles entre sí, la comunidad de investigadores se va desmembrando poco a poco. Muchos hackers ficharon por empresas y firmaron contratos en los que se comprometían a no compartir con nadie de fuera de la empresa los “secretos de fabricación” (es decir el código fuente). Por su parte, los laboratorios de investigación comenzaron a hacer lo mismo y obligaban a sus hackers a suscribir el mismo tipo de cláusulas. Para cerrar el círculo, los compiladores, los depuradores, los editores y demás herramientas imprescindibles para

3 Fuente http://www.gnu.org/gnu/gnu-history.es.html.

Desarrollar

Fomentar el uso del

Difundir la filosofía del

SOFTWARE

LIBRE

Page 6: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 6 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

programar eran propietarios y se vendían a precios respetables: se trataba de que la programación “de verdad” sólo estuviese en manos de la naciente industria de software. Hubo hackers que no aceptaron esta nueva situación y continuaron con sus prácticas pero parecía solo cuestión de tiempo que la industria del software propietario arrinconara y dejara definitivamente fuera de la ley la cultura cooperativa y confiada de las primeras comunidades de hackers. Este contexto sirve de base y explica el auge posterior del imperio económico de Microsoft y similares: estaba naciendo el negocio del software propietario y la próspera industria de los ordenadores personales. Durante los años ochenta, algunos de esos programadores que habían conocido la vieja cultura hacker de los años setenta y que no se plegaron a los designios privatizadores de la industria del software, consideraron la privatización como un verdadero atentado a los mismos cimientos del proceso de conocimiento. Por lo tanto se cuestiona que la propiedad intelectual sea un derecho natural, y se percibe como una práctica socialmente indeseable. Con ese planteamiento nace el Proyecto GNU (acrónimo recursivo que significa GNU's Not UNIX, o sea, “GNU No es UNIX”) de la mano de Richard M. Stallman (Ver Figura 2), un hacker del emblemático Laboratorio de Inteligencia Artificial del Massachussets Institute Technology (MIT). Era el año 1984, Stallman abandona el MIT para que no interfiera en sus planes y junto a otros hackers interesados en el proyecto GNU, crea la Free Software Foundation (FSF) en 1985: comienza una labor metódica y discreta, guiada por una asombrosa visión estratégica. El proyecto GNU se propuso a la sazón una tarea titánica: construir un sistema operativo completo y totalmente libre (Ver Figura 3). No es sencillo expresar en pocas palabras la enorme dificultad que comporta un proyecto así, sólo al alcance de unas cuantas empresas con miles de programadores a sueldo. Stallman tuvo que empezar casi desde cero, sin modelos que usar como base, pues aun no existía Internet tal y como hoy la conocemos; tampoco existía una comunidad de desarrolladores lo suficientemente grande y ni siquiera se disponía de un compilador libre para empezar el trabajo. Una analogía es construir una casa sin disponer apenas de herramientas, por lo que primero hay que fabricarlas: desde picos y palas hasta ladrillos y cemento. Eso sí, contaba con algún material reciclable de “otras casas” (fragmentos de código UNIX y la habilidad para reutilizar código.) Stallman y la FSF merecen por tanto un reconocimiento especial en esta historia, pues sin compilador, depurador y editor libres no habría sido posible lo que vino después, incluyendo el propio Linux. Con todo lo importante que eran esas herramientas, no fue ni mucho menos la principal aportación de la FSF. Y es que los hackers que impulsaron el Proyecto GNU (Ver Figura 3) en aquellos años no se conformaron con su trabajo de desarrolladores, ya de por sí formidable. Se dieron cuenta de que necesitaba algo más que crear herramientas de software que dieran libertad a los programadores.

Figura 2. Richard Matthew

Stallman

Page 7: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 7 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Figura 3. Página oficial de Proyecto GNU

Para que el trabajo no fuera estéril y fácilmente asimilado por intereses privados, precisaban además defender esa libertad en el terreno político y jurídico. El Manifiesto GNU (1985), escrito por el propio Richard Stallman, es la declaración de principios e intenciones del proyecto; inspirada en sus principios. E 1989 se lanza la primera versión de lo que fue posiblemente el mejor logro de la FSF y significativamente no en el terreno informático, sino en el ámbito jurídico: la GPL (General Public License) o Licencia Pública General. A continuación (Figura 4) WEB de GNU en la actualidad:

Page 8: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 8 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Figura 4. Página actual de GNU

1.2.2 Software Libre (Free software)

En principio ¿qué se entiende por software libre ? En nuestra condición de usuarios de computadoras personales, “Software Libre” se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades para los usuarios del software:

La libertad de usar el programa, con cualquier propósito (libertad 0).

La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1.) El acceso al código fuente es una condición previa para esto.

La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2.)

La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie (libertad 3.) El acceso al código fuente es un requisito previo para esto.

“Software libre” no significa “no comercial”. Un programa libre debe estar disponible para uso, desarrollo y distribución comercial. El desarrollo comercial del software libre ha dejado de ser inusual, pero sigue siendo importante.

Page 9: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 9 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.2.3 Código abierto (Open Source)5

Es el término por el que se conoce al software distribuido y desarrollado en una determinada forma. Este término empezó a utilizarse en 1998 por 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). "Free software" puede significar diferentes cosas (gratuidad y libertad). Por un lado, permite pensar en "software por el que no hay que pagar", y se adapta al término de forma igualmente válida que el significado que se pretende (software que posee ciertas libertades). El término no resultó apropiado como reemplazo para el ya tradicional free software, pues eliminaba la idea de libertad (incluso hay quien usa --en inglés-- el término Libre Software para evitar la ambigüedad de free). En la actualidad Open Source (Ver Figura 5) es utilizado para definir un movimiento nuevo de software (Open Source Initiative), diferente al movimiento del Software Libre, aunque no completamente incompatible con este, de modo que es posible (como de hecho ocurre) que ambos movimientos trabajen juntos en el desarrollo práctico de proyectos. El significado obvio del término "código abierto" es "se puede mirar el código fuente", lo cual es un criterio más débil y flexible que el de software libre; un programa de código abierto puede ser software libre, pero también puede serlo un programa semilibre o incluso uno completamente no libre. El software de código abierto (OSS por sus siglas en inglés) es software para el que su código fuente está disponible públicamente, aunque los términos de licenciamiento específicos varían respecto a lo que se puede hacer con ese código fuente. La Open Source Initiative utiliza la Definición de Open Source para determinar si una licencia de software de computadora puede o no considerarse software abierto. La definición se basó en las Directrices de software libre de Debian, fue escrita y adaptada primeramente por Bruce Perens. Es similar pero no igual a la definición de licencia de software libre. Bajo la Definición Open Source, las licencias deben cumplir diez condiciones para ser consideradas licencias de software abierto:

a) Libre redistribución: el software debe poder ser regalado o vendido libremente. b) Código fuente: el código fuente debe estar incluido u obtenerse libremente. c) Trabajos derivados: la redistribución de modificaciones debe estar permitida. d) Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones

sean redistribuidas solo como parches. e) Sin discriminación de personas o grupos: nadie puede dejarse fuera. f) Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos. g) Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el

programa h) La licencia no debe ser específica de un producto: el programa no puede licenciarse solo

como parte de una distribución mayor. i) La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro

software que sea distribuido con el software abierto deba también ser de código abierto. j) 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 o de otra forma específica del medio de soporte del software.

5 Recopilado y adaptado de Wikipedia

Page 10: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 10 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Figura 5. Página oficial Open Source

1.2.4 Clasificaciones del software

De acuerdo con su costo: o De costo cero: también conocido como software gratis o gratuito o “freeware”. Es

aquel software cuyo costo de adquisición es nulo, es decir, no hace falta efectuar un desembolso de dinero para poder usarlo.

o De costo mayor a cero: también se conoce como software “comercial o de pago” o shareware. Es el software desarrollado por una entidad que tiene la intención de hacer dinero con su uso.

De acuerdo a la apertura de su código fuente: o De código fuente abierto: también llamado “de fuente abierta” u “open source”. Es

aquel software que permite tener acceso a su código fuente a través de cualquier medio (ya sea acompañado con el programa ejecutable, a través de Internet, a través del abono de una suma de dinero, etc.)

o De código fuente cerrado: también llamado “software cerrado”. Es el software que no tiene disponible su código fuente disponible por ningún medio, ni siquiera pagando. Generalmente tiene esta característica cuando su creador desea proteger su propiedad intelectual.

Page 11: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 11 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

De acuerdo a su protección: De dominio público: es el software que no está protegido por ningún tipo de licencia.

Cualquiera puede tomarlo y luego de modificarlo, hacerlo propio. Protegido por licencias: es el tipo de software protegido con una licencia de uso.

Dentro de este grupo tenemos: Protegido con copyright: es decir, con derechos de autor (o de copia). El

usuario no puede adquirirlo para usarlo y luego vender copias (salvo con la autorización de su creador).

Protegido con copyleft: es aquel cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional. Quiere decir que cada copia del software, aún modificada, sigue siendo como era antes.

De acuerdo a su “legalidad”: Legal: es aquel software que se posee o circula sin contravenir ninguna norma. Por

ejemplo, si tengo un software con su respectiva licencia original y con su certificado de autenticidad, o si lo tengo instalado en una sola computadora (porque la licencia solo me permite hacer eso).

Ilegal: es el software que se posee o circula violando una norma determinada. Por ejemplo: tengo licencia para usarlo en una sola computadora pero lo instalo en mas de una, no tengo la licencia pero lo puedo utilizar mediante artificios (cracks, patchs, loaders, key generators, números de serie duplicados, etc)

De acuerdo a su “filosofía”: o Propietario: es aquel software que refleja el hecho de que su propiedad absoluta

permanece en manos de quien tiene sus derechos y no del usuario, quien únicamente puede utilizarlo bajo ciertas condiciones. Su uso, redistribución y/o modificación están prohibidos o restringidos de modo tal que no es posible llevarlos a cabo. Es decir, este tipo de software le da al usuario derecho limitado sobre su funcionamiento, cuyo alcance establece el autor o quien posea ese derecho. Por ejemplo, ese derecho puede ser el de ejecutar el programa “tal como es” en una determinada computadora.

o Libre: es el tipo de software que le da al usuario la libertad de usarlo, estudiarlo, modificarlo, mejorarlo, adaptarlo y redistribuirlo, con la única restricción de no agregar ninguna restricción adicional al software modificado, mejorado, adaptado o redistribuido. Vale aclarar que debe permitir el acceso al código fuente, debido a que ello es una condición imprescindible para ejercer las libertades de estudiarlo, modificarlo, mejorarlo y adaptarlo.

1.2.5 Productos de Software Libre más populares

El Software Libre es también conocido como Free Software y entra dentro de la familia del software de fuentes abiertas (Open Source) poniendo énfasis en ofrecer libertades en vez de poner restricciones. Las aplicaciones más famosas producidas por los equipos de Software Libre son: (Ver Figura 6)ç¡

El sistema operativo GNU/Linux, FreeBSD.

El servidor de Web Apache.

El manejador de bases de datos objeto-relacional PostgreSQL, MySQL.

El navegador Mozilla, Mozilla Firefox.

El entorno de escritorio y suite de aplicaciones de productividad de GNOME

El entorno de escritorio y suite de aplicaciones de productividad de KDE

La suite de compiladores GCC.

El servidor de correo Sendmail, Postfix.

El servidor de nombres Bind.

Page 12: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 12 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

La suite de aplicaciones de escritorio OpenOffice. Internet mismo se basa en los estándares abiertos que fueron desarrollados por estas aplicaciones. Es indicativo que el servidor de páginas Web más utilizado en Internet es Apache, ya que más del 60% de los servidores en Internet lo utilizan, según la estadística mensual publicada en Netcraft (http://news.netcraft.com/). En dicho sitio se ha publicado un conteo que señala que la tercera parte de los sitios activos en Internet están soportados en GNU/Linux.

Figura 6. Algunos proyectos de Software Libre y/o Código Abierto

Page 13: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 13 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.3 Ventajas y desventajas de utilizar software propietario6

Sobre las ventajas del software propietario en general se puede afirmar lo siguiente:

Las compañías productoras realizan un control de calidad sobre sus productos.

Existe una inversión previa en la investigación sobre la utilidad del producto.

Es desarrollado por una plantilla de programadores muy capaces y con mucha experiencia.

Dada su difusión es relativamente fácil encontrar a alguien que lo sepa usar.

Existe software propietario diseñado para aplicaciones muy específicas que no existe en ningún otro lado más que con la compañía que lo produce.

La totalidad de los centros de enseñanza a distinto nivel tiene un marcado enfoque al uso de herramientas propietarias y las compañías fabricantes ofrecen a los centros de enseñanza planes educativos de descuento muy atractivos. Como consecuencia se forma un público de consumo para el futuro.

Existe gran cantidad de publicaciones, ampliamente difundidas, que documentan y facilitan el uso de las tecnologías proveídas por compañías de software propietario.

Si bien las anteriores razones representan muy atractivas para los usuarios, se debe tener en cuenta también que hay varias desventajas:

Para utilizar eficientemente el software propietario se requiere asistir a costosos cursos de capacitación (certificaciones).

El funcionamiento del software propietario es un secreto que guarda celosamente la compañía que lo produce. Por lo que el soporte que el usuario requiera ante un problema o falla del producto, dependerá exclusivamente del servicio contratado con el fabricante.

En la mayoría de los casos el soporte técnico es brindado es insuficiente o tarda demasiado tiempo en ofrecer una respuesta satisfactoria.

A causa de la legislación existente sobre los derechos intelectuales de autor, es ilegal extender una pieza de software propietario para adaptarla a las necesidades particulares de un problema específico. En caso de que sea vitalmente necesaria tal modificación, es necesario pagar una elevada suma de dinero a la compañía fabricante, para que sea esta quien lleve a cabo la modificación a su propio ritmo de trabajo y sujeto a su calendario de proyectos.

La innovación es derecho exclusivo de la compañía fabricante. Si alguien tiene una idea innovadora con respecto a una aplicación propietaria, tiene que elegir entre venderle la idea a la compañía dueña de la aplicación o escribir desde cero su propia versión de una aplicación equivalente, para una vez logrado esto poder aplicar su idea innovadora.

Es ilegal hacer copias del software propietario sin antes haber contratado las licencias necesarias.

Si una dependencia de gobierno tiene funcionando exitosamente un sistema dependiente de tecnología propietaria no lo puede compartir con otras dependencias a menos que cada una de estas contrate todas las licencias necesarias.

Si la compañía fabricante del software propietario deja de operar o es absorbida por otra, existe la posibilidad de que el soporte técnico desaparezca; con lo que ya no se podrían contar con versiones mejoradas de dicho software y tampoco se contaría las correcciones de dicho software. Los clientes que contrataron licencias para el uso de ese software quedarán completamente abandonados a su propia suerte.

6 Recopilado y adaptado de http://manifiesto.cofradia.org/propietario.html, Manifiesto de software libre por la comunidad de usuarios de

México.

Page 14: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 14 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Figura 7. Ejemplo en el uso de licencias para software

En la mayoría de los casos las instituciones gubernamentales se hacen dependiente de un solo proveedor. El costo de las licencias es muy elevado para un público masivo y de bajos ingresos (Ver Figura 6). Es necesario contratar paquetes de soporte técnico para la resolución de problemas (su costo es muy elevado.)

1.4 Ventajas y desventajas de utilizar software libre7

La gran mayoría del Software Libre se ha desarrollado con la presunción de que el usuario no es un iletrado computacional. Parte del hecho de que confía en los conocimientos y habilidad del usuario para lograr su objetivo. Esta situación se observa desde el diseño del Sistema Operativo: decenas de pequeños comandos que hacen una tarea específica y se pueden conectar entre sí para realizar tareas más complejas. Este punto de partida otorga gran poder y flexibilidad para los usuarios capaces y con ánimo de aprender, pero limita al resto de las personas que solo quieren facilitarse una tarea de manera inmediata.

Ventajas

Escrutinio Público: Al ser muchas las personas que tienen acceso al código fuente, conlleva a un proceso de corrección de errores muy dinámico; no hace falta esperar que el proveedor del software desarrolle una nueva versión.

Independencia del proveedor: Al disponer del código fuente, cualquier persona puede continuar ofreciendo soporte, desarrollo u otro tipo de servicios para el software. No estamos supeditados a las condiciones del mercado de nuestro proveedor, es decir que si este se va del mercado porque no le conviene y discontinúa el soporte, nosotros podemos contratar a otra persona.

Manejo de la Lengua: Traducción: cualquier persona capacitada puede traducir y adaptar un software libre a cualquier lengua. Corrección ortográfica y gramatical: una vez traducido el software libre puede presentar errores de este tipo, los cuales pueden ser subsanados con mayor rapidez por una persona capacitada.

7 Recopilado y adaptado de http://manifiesto.cofradia.org/propietario.html, Manifiesto de software libre por la comunidad de usuarios de

México (no carga esta página)

Page 15: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 15 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Mayor seguridad y privacidad: Los sistemas de almacenamiento y recuperación de la información son públicos. Cualquier persona puede ver y entender como se almacenan los datos en un determinado formato o sistema. Existe una mayor dificultad para introducir código malicioso como: espía de teclas (p/ej. spyware), de control remoto o troyano (p/ej. trojan), de entrada al sistema o puerta trasera (p/ej. backdoor), etc.

Garantía de continuidad: el software libre puede seguir siendo usado aún después de que haya desaparecido la persona que lo elaboró, dado que cualquier técnico informático puede continuar desarrollándolo, mejorándolo o adaptándolo.

Ahorro en costos.- En cuanto a este tópico debemos distinguir : Costo de adquisición. Costo de implantación (este a su vez se compone de costos de migración y de

instalación) Costo de soporte o mantenimiento; y Costo de interoperabilidad. El software libre principalmente disminuye el costo

de adquisición ya que al otorgar la libertad de distribuir copias la puedo ejercer con la compra de una sola licencia y no con tantas como computadoras posea (como sucede en la mayoría de los casos de software propietario.) Cabe aclarar que también hay una disminución significativa en el costo de soporte, no ocurriendo lo mismo con los costos de implantación y de interoperatividad.

Desventajas.

Si observamos la situación actual, es decir la existencia mayoritaria de Software Propietario, tenemos que considerar lo siguiente:

Dificultad en el intercambio de archivos: ocurre generalmente con los documentos de texto, ya que si los queremos abrir con un producto de Software Libre (por ejemplo OpenOffice.org), nos da error o se pierden datos.

Mayores costos de implantación e interoperabilidad: dado que el software constituye “algo nuevo”, ello supone afrontar un costo de aprendizaje, de instalación, de migración, de interoperabilidad, etc., cuya cuantía puede verse disminuida por: mayor facilidad en las instalaciones y/o en el uso, uso de emuladores (p/ej. Si el usuario utiliza Microsoft Windows, la solución seria instalar alguna distribución de GNU/Linux y luego un emulador de Windows, como Wine, VMWare. Terminal X, Win4Lin). Vale aclarar que el costo de migración está referido al software, ya que en lo que hace a Hardware generalmente el Software Libre no posee mayores requerimientos que el Software Propietario.

1.5 El Sistema Operativo

El sistema operativo es el componente de software que, en un sistema electrónico, administra la utilización de los recursos disponibles y provee la base sobre la cual operan los diversos servicios al usuario, desde utilerías para la administración del sistema hasta las aplicaciones más complejas. (Ver Figura 8). El sistema operativo para los negocios, hoy en día, cumple una operación simultánea de diversos ordenadores en los cuales, cada uno de ellos cuenta con un sistema operativo. Estos ordenadores en su mayoría son de arquitectura Intel o compatibles y operan, en términos generales, bajo sistema operativo propietario en sus distintas versiones, en tanto que los sistemas informáticos centralizados de una empresa, existen una variedad de alternativas siendo la mayor parte UNIX. No se puede negar la existencia para ciertas aplicaciones la presencia de otros sistemas operativos como puede ser el de la arquitectura Apple Macintosh el cual es muy usado en aplicaciones de diseño gráfico y publicidad.

Page 16: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 16 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

SISTEMA OPERATIVO

CONTROLADOR DE

VIDEO

CONTROLADOR DE

WEBCAM

CONTROLADOR

DE RATON

CONTROLADOR DE

IMPRESORA

Figura 8. El software administra los diferentes componentes del computador

En el ámbito de negocios es importante crear estándares para el uso interno de sistemas operativos, con el fin de utilizar determinadas aplicaciones. Así mismo, es importante mantener un control de versiones de las mismas, con el objeto de incrementar la facilidad de mantenimiento de las instalaciones y garantizar un adecuado grado de compatibilidad entre sistemas internos en la empresa o entidad.

1.5.1 Opciones de sistemas operativos8

Dentro de las opciones de sistemas operativos a usar dentro del negocio contamos con las siguientes: Sistemas Operativos Microsoft. Los sistemas operativos Microsoft desde MS-DOS hasta las diversas versiones de Windows (3.x, 95, 98, NT, ME, 2000, XP) se han convertido en un estándar de facto en los sistemas de oficina. Una gran ventaja de los sistemas operativos de Microsoft es que, gracias a la excelente mercadotecnia existente detrás de estos productos, su base instalada es enorme y cuentan con una gran variedad de aplicaciones de todo tipo. Los sistemas operativos de clase Windows, son sistemas propietarios y de código cerrado. El fabricante Microsoft presenta mejoras de versión a versión, el derecho de propiedad y de actualización de dichas versiones tiene un costo fijado por el mismo. Sistemas Operativos Comerciales de tipo UNIX. UNIX inició como un producto de AT&T quien a su vez, licenció la tecnología y la marca a proveedores diversos. Hoy día, la marca UNIX pertenece a una institución denominada “X/Open” y el código fuente original de UNIX es propiedad de “The Santa Cruz Operation”, quien a su vez, fue recientemente adquirida por Caldera Inc., empresa integradora de una distribución de Linux, convirtiéndose, a la fecha, en efectivamente el propietario del código de UNIX. Dentro de las ventajas de los sistemas UNIX podemos mencionar:

Excelente conectividad: El sistema operativo UNIX es el sistema operativo base y fundamental

de lo que hoy conocemos como Internet, el World Wide Web, el correo electrónico y demás servicios “en línea”. Probando con este hecho su confiable capacidad de comunicaciones y de interoperabilidad.

8 Recopilado y adaptado de http://manifiesto.cofradia.org/propietario.html, Manifiesto de software libre por la comunidad de usuarios de

México

Page 17: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 17 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Estabilidad: Con más de treinta años en el mercado, los sistemas UNIX han probado ser extremadamente confiables, operando en todo tipo de ambientes, sistemas, plataformas y ubicaciones.

Escalabilidad: La tecnología UNIX ha operado desde las mini computadoras de los 70s, pasando

por la venerable PC basada en el procesador Intel 8086, hasta en supercomputadoras Cray con valor de varios millones de dólares. Cabe destacar que, desafortunadamente, un mismo proveedor de hardware podría no ofrecer toda la escala de equipos que se puedan requerir en el proyecto lo que obligará a contar con una base de hardware multiplataforma.

Multi-usuario y multi-tarea: UNIX desde sus primeras versiones fue creado para ser capaz de

ejecutar de manera 100 % concurrente múltiples procesos diferentes y atender a múltiples usuarios.

Sistemas Operativos Libres de tipo UNIX. Existen alternativas desarrolladas por la comunidad global de Internet de sistemas operativos tipo UNIX las cuales no están sujetas a costos de adquisición basándose en plataformas o por número de usuarios más, sin embargo, contando con empresas de escala global inclusive, que proporcionan soporte en todos los aspectos a dichos sistemas. Dentro de esta categoría podemos mencionar a la familia *BSD (NetBSD, FreeBSD, OpenBSD) y a Linux. Linux será materia estudio inicial en las siguientes secciones. (Ver Tabla 1)

Sistema Operativo

Estabilidad Escalibilidad Multiusuario Multiplataforma Propietario

MS-DOS Mala Baja No No Si

Windows 95/98/ME

Regular Baja Inseguro No Si

Windows NT/2000

Regular Media Inseguro Parcial Si

UNIX Excelente Muy Alta Si Sí múltiple Si

BSD Excelente Alta Si Si No

Linux Excelente Muy Alta Si Sí múltiple No

Tabla 1. Comparación de Sistemas Operativos

1.6 Introducción al sistema operativo GNU/Linux

Page 18: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 18 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.6.1 Introducción

Las características más comunes de los sistemas operativos son la gestión de archivos, aplicaciones software y la interacción del usuario con los recursos de una PC. GNU/Linux añade dos características adicionales: es multiusuario y multitarea. Como sistema multitarea se puede pedir al sistema que realice varias tareas al mismo tiempo en forma eficiente. Por ejemplo, se puede editar un archivo mientras se imprime otro. Como sistema multiusuario, admite que varios usuarios trabajen con él simultáneamente, cada uno interactuando con el sistema por medio de su propio terminal. Originalmente, los sistemas operativos fueron diseñados para optimizar la eficiencia del uso del hardware, teniendo en cuenta a este último y no al usuario, por lo cual tenían tendencia a ser inflexibles. GNU/Linux es todo lo contrario, considera al sistema operativo

como un medio para proporcionar al usuario un juego de herramientas altamente efectivas, es decir, se puede programar y configurar el sistema para adecuarlo a las necesidades especificas de cada uno; podríamos decir que pasa a ser un entorno operativo. La potencia y flexibilidad que posee GNU/Linux lo distingue de los demás sistemas operativos tradicionales como DOS o Windows.

1.6.2 Antecedentes

GNU/Linux es una versión de UNIX de libre distribución, inicialmente desarrollada por Linus Torvalds (Ver Figura 10) en la Universidad de Helsinki, en Finlandia. Su primera intención era mejorar la capacidad del Sistema Operativo Minix10 (un Unix pequeño para procesadores Intel), progresivamente en el tiempo fue desarrollado con la ayuda de muchos programadores y expertos de Unix a lo largo y ancho del mundo, gracias a la presencia de Internet. Cualquier habitante del planeta puede acceder a GNU/Linux y desarrollar nuevos módulos o cambiarlo a su antojo. El núcleo de GNU/Linux no utiliza ni una sola línea del código del UNIX de AT&T o de cualquier otra fuente de propiedad comercial y buena parte del software para GNU/Linux se desarrolla bajo las reglas del proyecto de GNU de la Free Software Foundation, Cambridge, Massachusetts. Hoy GNU/Linux es ya un clónico de UNIX completo, capaz de ejecutar X Window, TCP/IP, Emacs, UUCP y software de correo y News. Mucho software de libre distribución ha sido ya portado a GNU/Linux, y hay una gran variedad de distribuciones comerciales

9 Historia de la mascota del kernel Linux http://es.wikipedia.org/wiki/Tux

10 Mayor información en: http://es.wikipedia.org/wiki/Minix

Figura 9. Tux

9

Mascota del kernel Linux

Figura 10. Linus Benedict

Torvalds Foto tomada de la Wikipedia en

inglés

Page 19: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 19 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

y no comerciales. El hardware soportado es mucho mayor que en las primeras versiones, contando hoy en día con soporte Plug and Play.

1.6.3 Software y registro de uso

La mayoría del software para GNU/Linux tiene registro de Copyright bajo una licencia pública de GNU proporcionada por la Free Software Foundation, por lo que se conoce como software de GNU. El software de GNU se distribuye de forma gratuita, siempre que el que lo reciba acepte distribuirlo libremente a otros. Entre las aplicaciones de software de GNU se incluyen muchas de las utilidades populares de GNU/Linux, tales como los compiladores de C, shells y editores. En los últimos tiempos algunas empresas principales de software han estado desarrollando versiones para GNU/Linux de sus más populares aplicaciones. Por ejemplo, Netscape proporciona una versión de GNU/Linux de su navegador Web, también hay una versión para GNU/Linux de Java, incluso se encuentra disponible una versión para GNU/Linux de Wordperfect, y Caldera proporciona una versión para GNU/Linux de Novell. La documentación de GNU/Linux también se desarrollado en la Internet. La documentación incluye un manual para el usuario, una introducción y guías para su administración. También puede encontrar unas explicaciones más breves en los documentos que se conocen como documentos

Figura 11. Pagina oficial del Proyecto de Documentación de Linux

Page 20: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 20 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

HOWTO. Se encuentran disponibles documentos HOWTO sobre distintos temas tales como

instalación, impresión y e-mail. (Ver Figura 11). Un gran porcentaje del software para GNU/Linux tiene que ver con la parte de redes ya que se creó para esto; pero también posee software que nos permite trabajar en cualquier campo. Uno de los más utilizados es X-Window, que es un administrador gráfico y facilita mucho el uso de GNU/Linux. Uno puede elegir el estándar de escritorio para X-Windows que quiera, los más utilizados son Gnome y KDE.

1.6.4 Estructura Básica de GNU/Linux

De la misma manera que el Unix, el GNU/Linux se puede dividir generalmente en cuatro componentes principales: el núcleo (kernel), el shell, el sistema de archivos y las utilidades. El núcleo es el programa medular que ejecuta programas y gestiona dispositivos de hardware tales como los discos y las impresoras. Página oficial: www.kernel.org (Ver Figura 12).

Figura 12. Pagina oficial del Kernel de GNU/Linux

El shell proporciona una interfaz para el usuario. Recibe órdenes del usuario y las envía al núcleo para ser ejecutadas.

Page 21: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 21 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

El sistema de archivos, organiza la forma en que se almacenan los archivos en dispositivos de almacenamiento tales como los discos. Los archivos están organizados en directorios. Cada directorio puede contener un número cualquiera de subdirectorios, cada uno de los cuales puede a su vez, contener otros archivos.

El núcleo, el shell y el sistema de archivos forman en conjunto la estructura básica del sistema operativo. Con estos tres elementos puede ejecutar programas, gestionar archivos e interactuar con el sistema.

Además, GNU/Linux cuenta con unos programas de software llamados utilidades que han pasado a ser considerados como características estándar del sistema. Las utilidades son programas especializados, tales como editores, compiladores y programas de comunicaciones, que realizan operaciones de computación estándar. Incluso uno mismo puede crear sus propias utilidades.

El Shell. El shell proporciona una interfaz entre el núcleo y el usuario. Se puede describir como un intérprete: interpreta las órdenes que introduce el usuario y las envía al núcleo. (Ver Figura 13)

Figura 13. Estructura básica de GNU/Linux

La interfaz del shell es muy sencilla. Normalmente consiste en un inductor desde el que se teclea una orden y después se pulsa <enter>. En cierta forma, se está tecleando una orden en una línea. A menudo, esta línea se conoce como la línea de órdenes o de comandos. Como una alternativa a la interfaz de la línea de órdenes, GNU/Linux proporciona una interfaz gráfica de usuario (GUI) llamada X-Window, que cuenta con varios administradores de ventanas que puede utilizar. Dos de los administradores de ventanas más populares son el Free Virtual Window Manager (fvwm) y el Open Look Window Manager (olwm). Aunque un administrador de ventanas constituye una interfaz flexible y vistosa, hay que tener presente que tan solo es un añadido al shell. El administrador de ventanas simplemente le pasa al shell las órdenes que recibe, este las interpreta y las envía de nuevo al núcleo, para ser ejecutadas. A lo largo de los años se han ido desarrollando varios tipos de diferentes de shell. En la actualidad, hay tres shells principales: Bourne, Korn y C-shell. El shell Bourne fue desarrollado en el Laboratorio Bell para el sistemaV. El C-shell fue desarrollado para la versión BSD del Unix. El shell Korn es una mejora y ampliación del shell Bourne. Linux usa versiones mejoradas o de dominio público de estos shells: el shell Bourne Again, el TC-shell y el shell Korn. Una vez que inicie su sistema Linux, se encontrará en el shell Bourne Again; donde se podrá acceder a los demás. El Sistema de Archivos. La base del sistema de archivos de Linux, es obviamente el archivo, que

no es otra cosa que la estructura empleada por el sistema operativo para almacenar información en

HardwareNúcleo

Kernel

Shell

Aplicaciones

Page 22: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 22 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

un dispositivo físico como un disco duro, un disquete, un CD-ROM o un DVD. Como es natural un archivo puede contener cualquier tipo de información, desde una imagen en formato PNG o JPEG a un texto o a una página WEB en formato HTML. El sistema de archivos es la estructura que permite que Linux maneje los archivos que contiene. Todos los archivos de Linux tienen un nombre, el cual debe cumplir unas ciertas reglas:

Un nombre de archivo puede tener entre 1 y 255 caracteres.

Se puede utilizar cualquier carácter excepto la barra inclinada / y no es recomendable emplear los caracteres con significado especial en Linux, que son los siguientes:

Para emplear ficheros con estos caracteres o espacios hay que introducir el nombre del fichero entre comillas.

Se pueden utilizar números exclusivamente si así se desea. Las letras mayúsculas y minúsculas se consideran diferentes, y por lo tanto no es lo mismo carta.txt que Carta.txt ó carta.Txt

Como en Windows, se puede emplear un cierto criterio de “tipo” para marcar las distintas clases de ficheros empleando una serie de caracteres al final del nombre que indiquen el tipo de fichero del que se trata. Así, los ficheros de texto, HTML, las imágenes PNG o JPEG tienen extensiones .txt, .htm (o .html), .png y .jpg (o .jpeg) respectivamente. Pese a esto Linux sólo distingue tres tipos de archivos:

Archivos o ficheros ordinarios, son los mencionados anteriormente.

Directorios (o carpetas), es un archivo especial que agrupa otros ficheros de una forma estructurada.

Archivos especiales, que son la base sobre la que se asienta Linux, puesto que representan los dispositivos conectados a un ordenador, como puede ser una impresora. De esta forma introducir información en ese archivo equivale a enviar información a la impresora. Para el usuario estos dispositivos tienen el mismo aspecto y uso que los archivos ordinarios.

Los directorios están organizados en una estructura jerárquica de árbol, que empieza en un directorio raíz (root) inicial. Todos los demás directorios se derivan, en última instancia, de este primer directorio raíz.

1.7 Distribuciones de GNU/Linux

GNU/Linux, sólo hay uno, básicamente GNU/Linux es su núcleo. Pero cuando cierto grupo de personas se encargan de "bajar" de Internet todos los programas GNU o no, que acompañan al núcleo (X-Window, Netscape, KDE, GNOME, AplixWare, Agendas, programas de administración, Apache, SendMail, Open Office, etc.) organizan la información, crean programas de instalación, añaden documentación y/o sus propios programas, etc., lo meten todo en disquetes o en CD-ROM(s) crean una DISTRIBUCIÓN. (Ver Figura 14)

= \ ^ ~ ' " ` * ; - ? [ ] ( ) ! & ~ < >

Page 23: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 23 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Figura 14. Distribución GNU/Linux

Las distribuciones se diferencian por la composición de:

La versión del núcleo (kernel) del sistema operativo. ultima versión estable 2.6 ultima versión estable 2.4 ultima versión estable 2.2

Significado de la estructura de las cifras que corresponden a las versiones del núcleo, p.e 2.4.31 (Ver Figura 15)

Figura 15. Significado de la versión del núcleo.

Page 24: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 24 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Si el número correspondiente al nivel es impar se trata de un kernel que está en desarrollo pudiendo ser inestable (Versión Beta) y si es par se trata de un kernel estable.

Cada distribución GNU/Linux tiene su propio sistema de versión que es diferente a la versión del kernel (p.e. Debian 3.1, Suse Linux Enterprise Server 9)

La combinación de utilerías que la acompaña. Un listado de distribuciones de acuerdo a ciertas características se puede encontrar en: http://www.linux.org/dist/index.html

1.7.1 Distribuciones importantes

Slackware Linux

Figura 16. Logo Slackware

Actualmente está basado en la serie de kernel 2.4 y librerías GNU C 2.3.5 (libc6). La nueva versión es Slackware 10.2 incluye el kernel Linux 2.4.31, con Linux 2.6.13 disponible en el directorio /testing. (Ver Figura 16 - Logo de Slackware)

Fácil instalación

Documentación en línea

Página oficial: o http://www.slackware.org

Debian Linux

Figura 17. Logo Debian

Punto más importante la gratuidad de la totalidad del software que ofrece. (Ver Figura 17 - Logo de Debian)

La última versión estable de Debian es la 3.1, llamada Sarge.

Los componentes se cargan por Internet.

Los componentes del software están agrupados en conjuntos, pero reciben nombres comprensibles.

Existe mucho trabajo de retroalimentación.

Los errores conocidos son enumerados en su página web.

Esta versión es una de las más robustas de GNU/Linux.

Página oficial: o http://www.debian.org o http://www.esdebian.org

Page 25: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 25 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Gentoo Linux

Figura 18. Logo Gentoo

La piedra angular de Gentoo es Portage, un sistema de distribución de software basado en Ports de BSD. (Ver Figura 18 - Logo de Gentoo).

Una ventaja es que las versiones de software se actualizan de forma continua.

Una desventaja es que poner en marcha un sistema completo, o actualizarlo puede requerir una gran cantidad de tiempo.

Página oficial: o http://www.gentoo.org o http://www.gentoo-es.org

Ubuntu Linux

Figura 19. Logo Ubuntu

"Ubuntu" es una antigua palabra africana que significa "bondad, amor y compasión hacia los demás" (ergo, humanidad). Ubuntu también significa "soy lo que soy debido a lo que todos somos". La distribución Ubuntu Linux trae el espíritu del concepto Ubuntu al mundo informático. (Ver Figura 19 - Logo de Ubuntu)

Ubuntu es un sistema operativo Open Source que inicialmente se baso en Debian.

Disponible para las computadoras Intel, AMD64 y PowerPC.

El proyecto se encuentra patrocinado por Canonical Ltda.

Página oficial: o http://www.ubuntulinux.org o http://www.ubuntu-es.org

Vector Linux

Figura 20. Logo Vector

Es un pequeño y rápido sistema operativo Linux para sistemas Intel, AMD y compatibles x86, basado en una de las distribuciones Linux originales, Slackware. (Ver Figura 20 - Logo de Vector)

Incluye una configuración automática de hardware, herramientas de configuración únicas y una gestión de paquetes sencilla vía el sistema Gslapt/slapt-get.

Página oficial: o http://www.vector.com

Page 26: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 26 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Red Hat Linux

Figura 21. Logo RedHat

Constituye la base de implementaciones más comerciales de GNU/Linux (p.e. Caldera). (Ver Figura 21 - Logo de Red Hat)

Utiliza un programa de instalación y un formato de datos propios

RPM (RedHat Package Manager).

Disponible para las computadoras Intel, Alpha y SPARC

Uno de sus puntos fuertes es seguridad: La casi totalidad de las utilerías fueron probadas

en el ambiente de seguridad y eventualmente modificadas.

No es necesario cargar todos los archivos, a medida que se necesitan pueden utilizarse.

Se cuenta con documentación de ayuda.

Página oficial: o http://www.redhat.com o http://www.redhat.es o http://www.europe.redhat.com/documentation/

Proyecto Fedora

Figura 22. Logo Fedora

El Proyecto Fedora es un proyecto apoyado por una comunidad y la empresa Red Hat. Es también la base de pruebas para nuevas tecnologías que pueden eventualmente incorporase en los productos Red Hat. (Ver Figura 22 - Logo de Fedora)

No es un producto soportado por Red Hat Inc.

Página oficial: o http://www.fedora.redhat.com o http://www.fedora-es.com

Suse Linux

Figura 23. Logo Suse

De procedencia alemana con sede en Nuremberg.

Es uno de los proveedores líderes a escala mundial de soluciones integrales basadas en el sistema operativo de código abierto Linux. (Ver Figura 23 - Logo de Suse)

Es la única distribución certificada por Oracle.

Recientemente fue adquirida por Novell.

Página Oficial: o http://www.novell.com/linux/suse/ o http:// www.novell.com/es-es/linux/suse/

Mandriva Linux

Figura 24. Logo Mandrake

Distribución resultante de la fusión de Mandrake Linux y Conectiva Linux. (Ver Figura 24 – Logo Mandriva)

Fácil de instalar y configurar.

Distribución pensada en los usuarios de ofimática.

Página oficial: o http://www.mandriva.com o http://www.mandrivalinux.com

Page 27: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 27 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.7.2 Metadistribuciones

Una metadistribución es una distribución a medida de grupos concretos de usuarios. Un punto importante es aclarar que las metadistribuciones no son “distribuciones live” es decir distribuciones capaces de funcionar desde un dispositivo de sólo lectura o desde un dispositivo externo (CD, un disquete, llavero usb, etc.) de lo cual se entiende que una “distribución live” no necesita ser instalada con anterioridad para poder ser utilizada. Dado que una metadistribución es algo global, se pueden usar estas como “distribuciones live”. Knoppix

Es un CD arrancable con una colección de programas GNU, detección automática de hardware y soporte de muchas tarjetas gráficas, tarjetas de sonido, dispositivos SCSI y USB y otros periféricos. KNOPPIX puede ser usado como una demo de GNU/Linux, CD educacional, sistema de rescate, o adaptado y usado como plataforma comercial de demos de productos. No es necesario instalar nada en el disco duro. Debido a la descompresión en demanda, el CD tiene casi 2 GB de programas ejecutables instalados en él.

Página oficial: o http://www.knoppix.org o http://metadistros.hispalinux.es/tiki-index.php?page=knoppix_esp

Guadalinex

Guadalinex nace como una distribución destinada a dar cumplimiento al Decreto 72/2003, en el que la Junta de Andalucía opta por el Software Libre como instrumento para el impulso de la Sociedad del Conocimiento en Andalucía.

Se requiere una distribución concreta porque: No se puede promocionar una idea abstracta cuando se trata de dar instrumentos de

acceso a la Sociedad del Conocimiento. Independientemente de esto, la Junta de Andalucía potencia el uso y producción del Software Libre en términos genéricos en otros ámbitos.

El servicio de soporte al ciudadano a que se compromete necesita un marco de referencia concreto.

La Administración no debe favorecer intereses empresariales concretos proponiendo una distribución comercial de las ya existentes.

La Junta de Andalucía necesita establecer sus propios referentes para el uso interno que se haga del Software Libre (guadalinex-edu, p. ej.).

Página oficial: o http://www.guadalinex.org

Linex

GNU/LinEx nació para llegar a toda la sociedad en general. Por eso desde su presentación se ha distribuido de modo masivo. La distribución se ha realizado por dos sistemas complementarios: copias en soporte CD y descarga del programa a través del portal www.linex.org

Página oficial: o http://www.linex.org

Pequelin

El objetivo de este proyecto es el de crear una Metadistribución del Sistema Operativo GNU/Linux dedicada especialmente a los niños, los jóvenes y la educación.

Página oficial: o http://www.pequelin.org

Page 28: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 28 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Condorux – Metadistro Peruana

Figura 25. Logo Condorux

Es una distribución del sistema operativo GNU/Linux basada en Debian. Esta distribución ha sido adaptada para ser distribuida con software de uso común en nuestro medio, está orientada a cualquier persona que por alguna razón necesite usar un computador para sus labores cotidianas o de otra índole. Versión actual killa. (Ver Figura 25).

killa es la palabra quechua para luna. Esta versión de Condorux toma el nombre de nuestra madre luna invocando su espíritu unificador e iluminador para, a través del software libre, hacer nuestra de nuestra sociedad un mejor lugar para vivir en armonía. ¡otro mundo es posible!.

Página oficial: o http:// www.apesol.org/condorux/

Tumix – Metadistro Peruana

Figura 26. Logo Condorux

Tumix GNU/Linux es una distribución de software libre que se desarrolla en el Perú, incluye el kernel Linux 2.6.10 y está basada en la distribución Slackware. (Ver Figura 26).

TumiX es una combinación de palabras y significados, entre Tumi (Cuchillo de sacrificio ritual, utilizado en la Cultura Chimú Perú) y la terminación "X" por el sistema X Window (X es el encargado de visualizar la información gráfica y es totalmente independiente del sistema operativo) que utilizan Linux y UNIX, TumiX nace en la ciudad de Tacna, pero ve la Luz por

primera vez en la ciudad de Piura (ciudad al norte de Perú, donde se desarrollo la Cultura Chimu).

Página oficial: o http://tumix.softwarelibre.org.pe/

1.7.3 Mini distribuciones

Considerar los siguientes enlaces:

Tomsrtbt o http://www.toms.net/rb/

Diskette de Rescate o http://www.sai.msu.su/~er/rescue.html

FdLinux o http://www.fdlinux.com/

Page 29: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 29 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.8 Ingreso al sistema

Para conectarse al sistema, necesita conocer y suministrar tanto su nombre de usuario como su contraseña. En este momento está frente a la pantalla siguiente (Ver Figura 27) por supuesto, la misma puede aparecer ligeramente diferente debido a que los nombres de usuario que se muestran probablemente sean distintos.

Figura 27. Ventana de conexión

El procedimiento de conexión toma lugar en cuatro etapas simples:

a) Haga clic sobre el icono que corresponde a su nombre de conexión.

b) Teclee su contraseña secreta una vez que se muestra el campo de contraseña. (Ver Figura 28).

Notará que las letras no aparecen a medida que las teclea en el campo de contraseña. Las mismas se reemplazan por pequeñas estrellas (*), de forma tal que nadie que esté detrás suyo pueda ver su contraseña secreta. Este es un comportamiento muy común en el mundo de las computadoras cada vez que Usted ingresa una contraseña. Debido a esto, debe asegurarse que teclea sobre las teclas correctas ya que no puede verificarlo visualmente. Recuerde: las contraseñas en GNU/Linux distinguen entre mayúsculas y minúsculas. Eso significa que si su contraseña es Muy_Secreta y Usted ingresa Muy_secreta, ¡se le negará el acceso!

c) Elija su entorno gráfico favorito en la Tipo de sesión. De manera predeterminada se elige el que uso más recientemente.

Este paso es opcional y le permite elegir un entorno gráfico específico. Si bien lo alentamos a probar las distintas opciones disponibles de manera tal que pueda elegir la que prefiere, le recomendamos encarecidamente que comience con KDE.

Page 30: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 30 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Figura 28. El campo de contraseña y la lista desplegable de tipos de sesión

d) Finalmente, haga clic sobre el botón Conectar para comenzar su sesión.

Page 31: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 31 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.9 Actividades del módulo

1.9.1 Autoevaluación

1. Según lo leído en el presente módulo, ¿Qué entiende por software? a) Lo que existe en una PC b) Un plan de funcionamiento para una PC c) Lo que hay en la mente del usuario d) Lo que esta escrito en los libros.

2. Lo que escribe un programador se llama: a) Código objeto b) Código de escritura c) Código de lenguaje d) Código fuente

3. ¿Qué propugna el Proyecto GNU? a) Construir computadoras gratuitas b) Construir un Sistema operativo completo y libre c) Construir una sociedad de programadores d) Construir un nuevo tipo de software propietario.

4. ¿Qué está implícito para todo software con copyright? a) Que su uso solo es para quien lo adquirió b) Que puede ser usado por todos a partir de una sola copia c) Que podemos usarlo para construir nuevos productos d) Que podemos revenderlo a otras personas.

5. ¿Cuál de las siguientes afirmaciones describe una ventaja del Software Libre? a) Se depende de un solo fabricante. b) No se puede conocer el código fuente del software c) Normalmente se requiere de una certificación para un manejo optimo de un producto d) El soporte puede obtenerse de varios fabricantes.

6. Administra la utilización de los recursos disponibles del computador y provee la base sobre la cual operan los diversos servicios al usuario:

a) El software libre b) La licencia GNU c) El Sistema operativo d) El código fuente

7. El GNU/Linux es sistema operativo tipo: a) Microsoft b) UNIX c) Propietario d) BSD

Page 32: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 32 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

8. ¿Qué es Open Source? a) Programa que realiza una modificación sobre otro software. b) Término por el que se conoce a software distribuido y desarrollado en una determinada forma. c) Conjunto de programas relacionados con el hardware. d) Texto simple, capaz de ser leído por cualquier sistema.

9. ¿Qué es una distribución? a) Es el kernel mas programas b) Es el kernel y los módulos c) Es el kernel y el shell d) Es el kernel, los módulos y el shell.

10. Dentro del contexto de desarrollo del Linux, ¿Cuál de las siguientes calificaciones resulta más adecuada para definir su origen?

a) Es una plataforma desarrollada por su comunidad de usuarios b) Es producto de varias compañías c) Es producto de una sola compañía d) Es una plataforma creada por un programador para un tipo determinado de usuarios.

Page 33: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 33 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.9.2 Laboratorio

Experiencia práctica 1 – Explorando GNU/Linux

Duración

30 minutos

Objetivos

Brindar al participante un primer contacto con el sistema operativo GNU/Linux: modo de activar el sistema, iniciar una sesión, cerrar una sesión, apagar el sistema.

Seleccionar el entorno gráfico de operación. Antecedentes

GNU/Linux es un Sistema Operativo desarrollado para gestionar operaciones de comunicación de datos y recursos de red. Por ello la forma de trabajar con GNU/Linux se asemeja a la interacción de un usuario con una terminal de red, puesto que para acceder al entorno operativo requerimos de un nombre de usuario y de una contraseña de acceso. Una vez activo el entorno de trabajo, disponemos de una gran variedad de posibilidades de operaciones a realizar, desde complejos procesos de gestión para redes y comunicación de datos hasta funciones avanzadas de estación de trabajo. Con GNU/Linux podremos trabajar de dos formas diferentes la más amigable y cómoda a través de un entorno gráfico o la más avanzada y árida a través de una línea de comandos. En este curso nos abocaremos a interactuar con los entornos gráficos de GNU/Linux, mucho más amigables y fáciles comprender para los usuarios novicios. Este primer laboratorio le enseñará a como iniciar una sesión de operaciones con el sistema, a reconocer los principales elementos de control del sistema y a cerrar de forma correcta una sesión del sistema. Recursos a utilizar Una PC con GNU/Linux de una distribución determinada, un nombre de usuario y contraseña para el alumno. Proceso de ejecución

Entrada y salida del sistema.

Encienda el ordenador, por medio del interruptor de encendido ubicado generalmente en la parte frontal del mismo. Espere unos instantes a que el ordenador ejecute el proceso de carga del sistema operativo, este se hace automáticamente y demorara de acuerdo al nivel de rendimiento del equipo. En estos momentos usted vera pasar ante su vista, una serie consecutiva de líneas que denota el orden en que se van ejecutando los procesos de activación del sistema.

Terminado el proceso anterior usted vera un cuadro de dialogo. Observe los dos campos vacíos.

Nombre de conexión: (Haga clic sobre el icono que corresponde a su nombre de conexión).

Page 34: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 34 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

Ahora en esta ventana usted podrá escoger el entorno de operación (gráfico) que prefiera en la lista desplegable Tipo de Sesión. Seleccione uno de los disponibles.

Contraseña: (Se teclea la contraseña, solo se mostrara un carácter “ * “ por cada carácter ingresado en la pantalla)

o Por motivos de seguridad la contraseña debe cumplir ciertas condiciones tales como:

Contener al menos seis caracteres Contener al menos un carácter numérico o especial y dos alfabéticos. Ser diferente del nombre de conexión. La primera vez que se accede al sistema la contraseña empleada será la

proporcionada por el administrador del sistema. Existen diversas formas para terminar la sesión de trabajo en GNU/Linux, dependiendo de si estamos en modo gráfico o de texto.

Espere unos instantes más hasta que el entorno gráfico se despliegue ante su vista. Este entorno gráfico generalmente se compondrá de un fondo de pantalla, una barra de control (en la parte inferior) y varios iconos de acceso a componentes del sistema.

Para cambiar de entorno gráfico, solo tendremos que cerrar nuestra sesión y regresar al cuadro de dialogo de entrada, y repetir el primer paso para realizar el cambio.

Page 35: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 35 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.10 Glosario de términos

Windows NT

Sistema operativo desarrollado a partir de 1992, para brindar seguridad a redes basadas en sistemas personales Windows, por lo cual requiere mantener compatibilidad y coherencia de interfaz con estos. Se desarrolló alrededor del esquema de red SMB (Windows para grupos/red Microsoft), y posteriormente se le agregó soporte para TCP/IP.

GNU Es un acrónimo recursivo que significa “GNU No es Unix”. GNU es un proyecto iniciado en 1984 por Richard M. Stallman, que tiene como objetivo desarrollar un sistema operativo tipo UNIX* 100% libre y operacional.

UNIX

Sistema Operativo desarrollado desde hace 30 años, manteniendo el mismo diseño y forma de uso, añadiendo diversas mejoras a lo largo de los años, pero manteniéndose sobre la línea de seguridad y alto rendimiento sobre la cual fue diseñado. TCP/IP, el protocolo básico de Internet, fue construido alrededor de UNIX, por lo tanto la integración de los servicios de Internet en un ambiente UNIX es perfecta.

Usuario Es aquella persona que emplea el software

Copyright Es el derecho legal de un autor que obtiene por el resultado creativo de un trabajo original. Es una forma de protección garantizada por la ley.

Licencia Es la forma en que un autor permite el uso de su creación por otras personas, de la manera que él cree aceptable. Es el instrumento que regula las maneras en que el usuario puede utilizar el software.

Programa Es un conjunto de instrucciones lógicas que tienen la finalidad de llevar a cabo una tarea especifica

Software Es el conjunto de programas, procedimientos y documentos relacionados con el sistema hardware.

Código fuente

Texto simple, capaz de ser leído por cualquier editor de textos. En él están escritas las instrucciones que deberá realizar la computadora, según la sintaxis de un lenguaje de programación. Tener el código fuente es de gran importancia si se necesita modificar un programa

Código objeto

Es el código resultante de la compilación del código fuente, por lo general está codificado en código de máquina y distribuido en varios archivos resultantes de la compilación de cada archivo de código fuente. Para obtener un archivo ejecutable se han de enlazar todos los archivos de código fuente con un programa llamado enlazador

Hacker

Término proveniente del inglés hack - recortar. Tradicionalmente se considera Hacker a una persona con profundos conocimientos de informática que busca defectos y puertas traseras para entrar en los sistemas, con fines de satisfacción personal.

UNIX

Sistema operativo creado en la empresa AT&T por Ken Thompson y Dennis M. Ritchie. Sus creadores lo bautizaron así por el fallido sistema operativo Multics en el cual se inspiró. En un principio lo llamaron Unics(UNiplexed Information & Computing Service), término que acabó derivando en Unix.

FSF Organización creada a partir del esfuerzo de Richard Stallman y otros entusiastas del Software Libre con el propósito de difundir este movimiento.

GPL Licencia creada por la Free Software Foundation y orientada principalmente a los términos de distribución, modificación y uso de software. Su propósito es declarar que el software cubierto por esta licencia es Software Libre.

Page 36: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 36 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

SMB Server Message Block. Protocolo de red para el compartir archivos e impresoras utilizada en redes Microsoft Windows. Recientemente fue renombrado por Microsoft a CIFS, o Common Internet File System.

Código abierto

Código abierto (open source en inglés) es el término por el que se le conoce a software distribuido y desarrollado en una determinada forma. Este término empezó a utilizarse en 1998 por usuarios de la comunidad del software libre, tratando de usarlo como reemplazo al ambiguo nombre original del software libre (free software)

Navegador

Un hojeador web, navegador o web browser es una aplicación de software que permite al usuario recuperar y reproducir documentos hipertexto, comúnmente descritos en HTML, desde servidores Internet de todo el mundo. Esta red de documentos es conocida como la Telaraña Mundial o World Wide Web (WWW). Los navegadores actuales permiten mostrar o ejecutar: gráficos, secuencias de vídeo, sonido, animaciones y programas diversos además del texto y los hipervínculos o enlaces.

Crack

Programa o software que realiza una modificación permanente o temporal sobre otro o en su código, para obviar una limitación o candado impuesto a propósito por el programador original. Algunas legislaciones consideran a este tipo de códigos informáticos ilegales por atentar contra del derechos de autor de códigos no públicos o comerciales

Page 37: 01 - Fundamentos Del Software Libre Revisado (01!09!09)

ÁREA DE TRANSFERENCIA DE CONOCIMIENTOS 37 de 37 Módulo 1

POSTGRADO EN SOFTWARE

LIBRE

1.11 Bibliografía y enlaces recomendados

Textos.

Linux por David Bandel y Robert Napier, Ed Prentice Hall 2000

Red Hat Linux, The Bible por Christopher Negus, Hungry Minds Inc. 2002 Enlaces.

http://www.gnu.org/doc/doc.es.html base oficial de la FSF, cuenta con varios sub-enlaces para diferentes tópicos de documentación.

http://curso-sobre.berlios.de/ curso expositivo sobre los fundamentos de software libre, se pueden bajar archivos en formato PDF con las presentaciones.

http://souerceforge.net/ El más grande almacén del mundo de desarrollo y descarga de Código Abierto y aplicaciones. Proporcionando servicios libres para los desarrolladores de Software Libre.

http://es.wikipedia.org La enciclopedia libre en más de cien idiomas que todos podemos modificar. Descubre los 61.628 artículos de la versión en español.

http://www.linux.org Sitio web diseñado para actuar como una fuente central de información de Linux y como una voz para la promoción y defensor del sistema operativo de Linux.

http://www.kernel.org Sitio web desde donde puede descargar las últimas versiones del kernel Linux.

http://somoslibres.org/ Sitio de origen peruano.

http://www.sindominio.net/biblioweb/telematica/catedral.html The Cathedral and the Bazaar, escrito por Eric S. Raymond. Este artículo ha ayudado fuertemente a impulsar al software libre en el ámbito comercial, y es una de las mejores explicaciones disponibles del modelo de desarrollo.

www.tldp.org Proyecto de Documentación de Linux.

Grupos de usuarios de Linux:

www.debianperu.org www.slackware-peru.org