SERVIDORES CON SOFTWARE
LIBRE.
3.1 INTRODUCCIÓN
Como individuo, el software libre me da la opción
de decidir libremente si lo quiero utilizar o bien escoger una opción
propietaria. Si escojo la primera tendré muchas ventajas, pero si decido la
segunda opción pagaré las consecuencias de una decisión que tomé libre y
soberanamente, conociendo de antemano que existían otras opciones. No fuí
obligado a escoger la opción propietaria, ejercí mis derechos.
Como gobierno, yo tengo la obligación de escoger la
opción que sea mejor para el país. Hace unos años, el software libre no era
viable, pero ahora es una realidad. Como gobierno tengo la libertad de escoger
entre dos opciones. Yo soy gobierno y voy a tomar las decisiones que no dañen a
la sociedad civil ni a las instituciones. El software libre da libertad al
gobierno para tomar decisiones conscientes y soberanas. Con el software
propietario, sabemos que existen graves riesgos en la seguridad nacional, en el
bienestar social y en la educación. Con el software libre, además de evitarse
los riesgos anteriores, tenemos la oportunidad de trascender tecnológicamente y
sobre todo, de tomar libre y soberanamente las decisiones.
La realidad en la que se encuentran envueltas las
diferentes personas, empresas, entidades gubernamentales e instituciones es
sumamente compleja y restringida. Afortunadamente ha surgido una alternativa
que permite la existencia de nuevos esquemas de desarrollo cultural y técnico
basado en un nuevo modelo abierto y libre.
El esquema que explicaremos a continuación no solo
pretende abarcar aspectos técnicos, sino que también puede ser implementado en
cualquier actividad cotidiana. El espíritu que orienta esto es la
"colaboración" y la "ayuda comunitaria". El ansia de
continuo aprendizaje y ante todo la persecusión de ideales que pueden ser
concretados.
El modelo de Software Libre radica en el deseo de
ayudar y ser ayudado. Por ejemplo, al escribir una novela, un escritor puede
sentirse confundido y necesita ayuda, entonces le deja leer a sus gentes
cercanas un capítulo para que le ayuden, en el proceso sus amigos aportan ideas
e inclusive le ayudan a corregir su trabajo y es más, si su temática es
atractiva le ayudan a escribir un nuevo segmento.
En el mundo del desarrollo informático pasa algo
similar. Una persona escribe un programa para resolver una necesidad
específica, la comenta con otros y estos al ver que dicho programa también los
beneficia, le ayudan a realizarlo. En el proceso, la propiedad intelectual no
se vuelve una lucha de "egos", se transforma en un trabajo de todos y
para todos; se generan líderes naturales con autoridad moral sobre el proyecto,
pero nunca dueños.
Un proceso tan diferente es difícil de asimilar. Es
complicado asimilar que un puñado de locos quieren regalar el resultado de su
esfuerzo, sus horas de vida, su talento en algo para los demás. Imagine por un
momento que todos pensáramos enloquecidamente y regaláramos parte de nuestro
trabajo. Imagine que ese trabajo se transforma en algo que beneficia a su país,
imagine ahora que esa locura le permite a los pequeños empresarios y
emprendedores tener herramientas que no tengan restricción de uso; que tengan
los códigos fuentes (la esencia del cómo fueron hechos) a la mano; que si ven
algún problema, lo corrijan; que al ver que su corrección sirve, lo devuelvan a
la comunidad y continúen el ciclo sin fin de esta esquizofrénica aventura...
3.1.1. SOFTWARE (LIBRES
CARACTERÍSTICAS).
Definamos antes que es un software libre y un software propietario:
El software libre es un programa o secuencia de
instrucciones usada por un dispositivo de procesamiento digital de datos para
llevar a cabo una tarea específica o resolver un problema determinado, sobre el
cual su dueño renuncia a la posibilidad de obtener utilidades por las
licencias, patentes, o cualquier forma que adopte su derecho de propiedad sobre
él (o sea, el software libre puede estar licenciado, o protegido por una
patente autoral), por lo que puede utilizarse o transferirse sin pago alguno al
licenciante, o a su creador. Otra característica es que se encuentra disponible
el código fuente del software, por lo que puede modificarse el software sin
ningún límite, y sin pago a quien lo inventó o lanzó al mercado.
El opuesto del Software libre es el denominado
software propietario, aquel que es imposible de utilizar en otro hardware, o
terminal modificar, o transferir sin pagar derechos a su inventor o creador.
Para ello, quienes han patentado software libre, lo
han hecho permitiendo las actividades recién nombradas. Así nace el Copyleft
(el opuesto del Copyright de los derechos autorales), que es básicamente el
principio de que cualquier modificación o cambio (“derivative works”), debe
quedar disponible para el resto de la comunidad bajo el mismo licenciamiento
original. Con ello se fomenta el trabajo colaborativo en el desarrollo de la
informática.
También es importante recalcar algunos puntos
importantes para un buen desarrollo del mismo:
·
El software se desarrolla o construye; no se
manufactura en el sentido clásico. A pesar de que existen similitudes entre el
desarrollo del software y la manufactura del hardware, las dos actividades
serian diferentes en lo fundamental. En ambas la alta calidad se alcanza por
medio del buen diseño, la fase de manufactura del hardware puede incluir
problemas de calidad existentes en el software.
· El software no se desgasta. El software es
inmune a los males ambientales que desgasten el hardware. Por lo tanto la curva
de tasas de fallas para el software debería tener la forma de la “curva
idealizada”. Los defectos sin descubrir causan tasas de fallas altas en las
primeras etapas de vida de un programa. Sin embargo, los errores se corrigen y
la curva se aplana: el software no se desgasta, pero si se deteriora.
· A pesar de que la industria tiene una tendencia
hacia la construcción por componentes, la mayoría del software aun se construye
a la medida. Un componente de software se debe diseñar e implementar de forma
que puede utilizarse en muchos programas diferentes.
Características de un buen software
·
Corrección.
·
Fiabilidad.
·
Eficiencia.
·
Integridad.
·
Facilidad de uso.
·
Facilidad de mantenimiento.
·
Flexibilidad.
·
Facilidad de prueba.
·
Portabilidad.
·
Facilidad de reuso.
·
Interoperabilidad.
3.1.2. HISTORIA Y EVOLUCIÓN.
El Software Libre es el software que se caracteriza
por proporcionar en sus licencias el permiso para usarlo en cualquier máquina y
en cualquier situación, para modificarlo, mejorarlo o corregirlo y para
redistribuirlo libremente. Software libre no es software gratis, sino aquel que
cumple con estas condiciones, si bien, no parece posible obtener
contraprestación económica por él, como de hecho ocurre, siendo de coste cero
la obtención de la práctica totalidad del software libre. Así pues, tenemos un
concepto de software opuesto al software propietario con el que no se
distribuye el código fuente, impidiendo así su modificación, y en cuyas
licencias se indican los términos y las restricciones de uso y distribución, en
ocasiones bastantes fuertes.
Lo que diferencia el software libre del software
propietario no es el que dispongamos del código fuente del mismo, si bien esta
es una condición necesaria para tener las libertades descritas anteriormente, ni
el precio, la diferencia está en los términos de la licencia.
Para comprender el nacimiento de este tipo de
software nos tenemos que remontar al año 1979, cuando la Universidad de
Berkeley distribuyó código de programas que ha desarrollado para el sistema
operativo UNIX bajo una licencia denominada BSD (Berkeley Software
Distribution), es la primera aparición en escena de lo que más tarde se
denominará software libre. Estos primeros programas distribuidos bajo licencia
BSD son utilidades para UNIX y entre ellas se encuentra una implementación de
un protocolo de comunicaciones, el TCP/IP.
En 1980 la NSF (National Science Foundation) mejora
el protocolo TCP/IP y comienza a utilizarlo para el intercambio de información
entre ordenadores de universidades e investigadores de todo el mundo. Esta
mejora de TCP/IP era abierta y se distribuía con el código fuente de su
implementación, es el nacimiento de la red de Internet.
En 1984 aparece en escena una de las figuras más
importante dentro del software libre, Richard Stallman, que lidera en este año
un proyecto científico denominado GNU dentro del Instituto Tecnológico de
Massachussets. Al año siguiente, aparece la primera versión de un sistema
operativo denominado igual que el proyecto lanzado, GNU (Gnu’s not Unix). Este
sistema operativo es gratuito y se distribuye junto con su código fuente bajo
una licencia denominada Gnu Public License (GPL).
En este mismo año 1985, Richard Stallman crea la
Free Software Foundation, y aparece la primera definición formal de Software
Libre, proporcionada por la FSF:
Un software es software libre cuando el usuario del
mismo tiene estas cuatro libertades:
·
Libertad 0. Libertad de uso con cualquier
propósito.
·
Libertad 1. Libertad de adaptación a sus
necesidades.· Libertad 2. Libertad para distribuirlo.
· Libertad 3. Libertad de mejora y libre distribución de estas mejoras.
No se dice explícitamente, pero para tener estas
cuatro libertades el usuario debe disponer del código fuente de los programas.
En 1991, Linus Torvalds, un estudiante sueco de la
universidad de Helsinky crea un kernel de sistema operativo denominado Linux, y
un año más tarde, fruto de la colaboración con el proyecto GNU, aparece el
sistema operativo GNU/Linux, que se denominó Linux, si bien, la mayor parte del
código procedía del proyecto GNU de Stallman.
La siguiente fecha importante en la historia del
software libre es 1997, cuando Eric Raymond publica el artículo “The Cathedral
and the Bazaar”, en el Raymond explica con detalle como una serie de
programadores trabajando en colaboración en su tiempo libre (Bazaar) pueden
producir software de mayor calidad que los producidos por los talentos
contratados por las grandes compañías de software (Cathedral). Las teorías
expuestas en este artículo como las de liberar versiones del programa a menudo
de forma que los usuarios puedan probar los programas y se obtengan pronto
respuestas sobre su funcionamiento y que con un grupo muy amplio de
programadores y usuarios, los problemas se identificarán con rapidez y la
solución será obvia para alguien, hacen que las grandes compañías (IBM,
Netscape, Sun, etc.) se fijen en el fenómeno del software libre y empiecen a
colaborar con él. Raymond crea la OpenSource Inciative (OSI)
(www.opensource.org). Con la aparición de la OSI aparece también una nueva
definición de lo que se conoce como OpenSource (software de fuente abierta),
mucho más elaborada, y que está en continua evolución, existiendo ya la versión
1.9 de esta definición.
No existe una definición única de lo que
denominamos software libre, tenemos la de la FSF, la de la OSI, también otras
como la de la comunidad de Debian (DFSG). Todas estas definiciones se traducen
en licencias de uso que llegan a un mayor o menor compromiso con uno u otro de
los dos objetivos contradictorios en los que se basan todas sus licencias:
·
Garantizar a los usuarios una total libertad
sobre el software distribuido.
·
Establecer restricciones de forma que se
garantice que el software derivado o integrado siga siendo software libre.
Aunque cuando hacemos referencia a Software Libre
no distinguimos entre si es Free Software u OpenSource, pero existen pequeñas
diferencias entre las definiciones de la FSF, de la OSI y de Debian, derivadas
del compromiso acordado entre los dos conceptos expuestos anteriormente, lo que
hace que existan licencias aceptadas por uno pero no aceptadas por el otro.
Pero estas diferencias son muy pequeñas, y en la práctica se pueden considerar
similares los conceptos.
Hoy en día existe una división radical entre los
partidarios y los no partidarios del software libre, existiendo posturas
totalmente radicalizadas en ambos bandos que hace que los debates, artículos y
ponencias acerca de las debilidades y fortalezas en los proyectos de software
libre se vean empañados por esta lucha. Eric Raymond ha insistido en que el
debate no debe ser si Windows o Linux o Microsoft o Red Hat, Suse, Debian, que el
verdadero debate debe ser software de fuente cerrada frente a software de
fuente abierta.
3.1.3. ESTRUCTURAS DEL
SISTEMA OPERATIVO.
La organización de los sistemas operativos se puede
establecer por capas , dependiendo de las funciones que el sistema operativo
puede realizar.
Las funciones que puede realizar el sistema son:
·
Ejecución y control de aplicaciones o programas.
·
Gestión, Control y Administración de
dispositivos o periféricos. · Gestión, Control y Administración de los usuarios.
· Control de procesos.
· Control de errores del sistema y programas.
· Control y Gestión de la seguridad
Las capas en las cuales se puede estructurar
básicamente un sistema son las siguientes:
· Gestión del procesador (Nivel 1)
Una parte del sistema operativo esta
encargada de la gestión de la unidad central de proceso. El sistema operativo
se encarga de gestionar la prioridad entre procesos.
· Gestión de la memoria (Nivel 2)
Una parte del sistema operativo esta
encargada de la gestión y asignación de la memoria a los procesos o
aplicaciones, impidiendo que las zonas de memoria ocupadas por aplicaciones no
sean ocupadas por otras aplicaciones.
· Gestión de procesos (Nivel 3)
Una parte del sistema operativo esta
encargada de la gestión de procesos, iniciando, deteniendo y finalizando los
mismos dependiendo del usuario o de las ordenes recibidas por el sistema
operativo.
· Gestión Entrada/Salida y Almacenamiento (Nivel
4)
Una parte del sistema operativo esta
encargada de la gestión de los procesos que establecen acciones con los
dispositivos de almacenamiento o dispositivos de entrada y salida.
· Gestión de información (Nivel 5)
El sistema operativo gestiona archivos,
directorios, atributos de los anteriores y otras características para
identificar la información con la que trabaja el sistema operativo.
3.2. REQUERIMIENTOS DE
INSTALACIÓN
3.3.1. MÉTODOS DE
INSTALACIÓN.