[Solar-general] El Proyecto Debian mas que una distro
Roberto G. Puentes Diaz
rober en decarlospaz.com
Vie Oct 1 01:16:11 CEST 2004
Queria comentar sobre este articulo, que me ha resultado muy util para
referirme a Debian y posiblemente a otros les resulte interesantes.
http://espora.org/biblioweb/proyecto-debian.html
El Proyecto Debian: algo más que una distribución de GNU/Linux
Por Miquel Vidal
Los origenes
Debian (www.debian.org <http://www.debian.org/>) fue fundada en agosto
de 1993 por Ian Murdock, por entonces estudiante de la Universidad de
Purdue (en Indiana, EEUU), quien tuvo claro desde el primer momento que
la construiría de acuerdo a las necesidades de la comunidad de usuarios
del sistema y al modelo distribuido de Linux, desvinculado de intereses
comerciales particulares.
Unos meses después, en enero de 1994 el proyecto ya contaba con unas
docenas de entusiastas y publicaba un manifiesto fundacional con su
declaración de intenciones (el "Debian Linux Manifesto"). En el
Manifiesto, se auguraba por un lado que las distribuciones iban a
adquirir un papel estratégico en la difusión de sistemas GNU/Linux, como
así ha sido, y se constataban por otro lado las carencias cada vez
mayores que padecían las distribuciones comerciales: sistemas
descuidados y cada vez más inconsistentes, mezcla de software libre y no
libre, dificultad para que los usuarios pudieran tomar decisiones o
interviniesen en su mejora, etc.
Lo cierto es que la idea de Debian de crear un sistema operativo libre,
basado en Unix, que no requiriese ninguna pieza propietaria tiene su
origen varios años antes, con el proyecto GNU de la Free Software
Foundation (FSF). Debian compartió desde su origen tanto los fundamentos
estratégicos del proyecto GNU como su concepto de "free software" (no en
el sentido de precio, sino de libertad de copia, modificación y
redistribución).
Ian Murdock en seguida contó con el apoyo de la Free Software Foundation
para apoyar la distribución del nuevo sistema y, durante un periodo
clave para su consolidación (1994-1995), la FSF estuvo financiando el
proyecto Debian. Es importante tener en cuenta este hecho para entender
por qué Debian no está vinculada a un kernel determinado, y en ese
sentido decimos que es algo más que una "distribución Linux" . Si bien
hasta ahora Debian ha hecho uso del kernel Linux, hay un grupo de
desarrolladores de Debian y de la FSF trabajando juntos para que en un
futuro próximo se pueda optar paralelamente por otro núcleo diferente:
el GNU/Hurd, del que hablaremos más adelante. Tampoco está limitada a la
arquitectura Intel, y es destacable que woody tiene soporte para nada
menos que once arquitecturas, desde PDAs a superordenadores y, por
supuesto, cualquier cosa intermedia, incluyendo la última generación de
máquinas de 64 bits.
A Ian Murdock le sucede como "líder" (coordinador) del proyecto Bruce
Perens, en 1996. En los dos años posteriores, Bruce Perens tuvo un papel
determinante a la hora de establecer el Contrato Social de Debian y de
que Debian alcanzase prestigio público como sistema muy serio y fiable.
Además, encabezó la iniciativa para crear SPI (Software in the Public
Interest), una organización sin ánimo de lucro que se fundó para dar
viabilidad legal a Debian y canalizar las donaciones al proyecto. SPI se
creó también con la idea de ayudar no solo a Debian sino a otros
proyectos similares que se propusieran crear y distribuir software libre
y hardware libre. Tiempo después, Bruce Perens sería el fundador, junto
a Eric S. Raymond, de la Open Source Initiative (OSI), que se basó
enteramente en las Debian Guidelines para establecer sus concepto de
open source (al cabo de un año, en 1999, Bruce Perens abandonó OSI y
reclamaría de nuevo la denominación "free software" para el movimiento
del software libre).
Hasta 1996 no aparece la versión 1.0 de Debian (en realidad, la 1.1)
pues se dedicaron bastantes esfuerzos a la consolidación del proyecto no
solo a nivel público y legal sino organizativa y técnicamente, para
permitir un crecimiento escalar en desarrolladores y número de paquetes.
Nunca hubo versión 1.0, para evitar la confusión provocada por un
redistribuidor de CD-ROM de Debian que etiquetó erróneamente una versión
congelada previa como Debian 1.0-final. Ese fallo llevó a crear el
concepto de "imagen oficial" del CD-ROM de Debian con idea de ayudar a
los vendedores a evitar este tipo de errores.
A partir de ese momento se suceden las versiones con regularidad (ver
tabla 1), y cada nueva versión adopta el nombre de un personaje de la
película Toy Story (hasta ahora Buzz, Rex, Bo, Hamm, Slink, Potato,
Woody y Sid). Esto último fue idea de Bruce Perens, que por entonces
trabajaba en Pixar, la compañía que produjo la película de Walt Disney.
En enero de 1998, Ian Jackson sustituye a Bruce Perens, poco antes de la
liberación de Debian 2.0; a Jackson le sucederá a su vez Wichert
Akkerman, elegido por dos veces, desde enero de 1999 hasta marzo del
2001. Ben Collins lideró Debian durante el pasado año. En las últimas
elecciones habidas, en abril de 2002, ha sido elegido nuevo líder el
hacker estadounidense Bdale Garbee.
A juicio de muchos analistas, Debian ha alcanzado su masa crítica, es
decir, el número suficiente de usuarios y desarrolladores para
garantizar su continuidad: diez distribuciones comerciales basadas en
Debian lo avalan, así como el hecho de que, al calor de la "moda Linux"
, muchos nuevos usuarios instalan Debian en sus ordenadores; pero, como
contrapartida, al no conocerse los objetivos de Debian por parte de esa
avalancha de nuevos usuarios, se le exige lo mismo que a empresas con
recursos millonarios que cotizan en el Nasdaq con capital-riesgo.
Sin embargo, Debian es construida por sus propios usuarios y es la
comunidad de usuarios la que debe resolver sus problemas y dirigir su
estrategia: nadie pues puede garantizar nada en Debian, como nadie puede
garantizar nada en el software libre. Y sin embargo tenemos una
distribución de una calidad extraordinaria, que en nada tiene que
envidiar, sino todo lo contrario, a distribuciones comerciales como
RedHat, Mandrake, SuSE o Caldera.
Las distribuciones comerciales fijan su estrategia en captar a los
nuevos usuarios, y en vender distribuciones y servicios en torno a sus
productos, para lo cual necesitan deslumbrar con nuevas versiones cada
poco tiempo, novedades permanentes e instalaciones gráficas muy
vistosas. No hay nada malo en ello, pero Debian no es una empresa
comercial y por tanto no está sujeta a los vaivenes que impone el
mercado ni a la necesidad de obtener beneficios: por el contrario, sigue
fiel a su "contrato social" de apoyar el software libre.
Pese a lo que suelen difundir sus detractores, lo cierto es que el
proceso de instalación de Debian ha mejorado extraordinariamente en
estos últimos años. Pero Debian nunca ha tratado de simplificar la
instalación más de la cuenta, ni ha asumido el riesgo de esconder el
proceso de instalación al usuario, estandarizándolo en exceso y tomando
demasiadas decisiones en su lugar, que en algunas distribuciones a veces
llega a impedir una instalación si por ejemplo no se autodetecta el
hardware correctamente.
Debian por el momento no autodetecta hardware, mantiene un interfaz de
instalación sobrio, con menús en modo texto que realizan bastantes
preguntas casi siempre necesarias lo que, bien es cierto, puede
desorientar al usuario primerizo pero permiten una configuración
correcta. Esto es lo que ha forjado la fama de Debian de aridez y falta
de amabilidad, de ser un sistema sólo apto para hackers y usuarios
avanzados. Hoy por hoy, esa fama de dificultad es injusta, y la crítica
rara vez procede de usuarios de Debian, sino de intentos apresurados de
instalación.
Pese a todo, Debian ha preferido centrar sus esfuerzos en producir un
sistema de instalación y mantenimiento de paquetes extraordinariamente
consistente, que permite tener la seguridad de que, si el usuario se
toma el tiempo suficiente para leer la documentación y responder
adecuadamente a las preguntas, dispondrá de un sistema que no tendrá que
volver a reinstalar nunca. La idea es que, mientras la instalación se
realiza una sola vez, con el sistema se trabaja a diario. Y es a la
consistencia del sistema y a su correcto mantenimiento a lo que han dado
prioridad los desarrolladores de Debian, más que a una interfaz gráfica
basada en ventanas para la instalación.
Hay que concluir pues que Debian es perfectamente válido no sólo para
hackers y administradores de sistema, sino también para nuevos usuarios,
que además suelen sentirse rápidamente acogidos por la comunidad de
usuarios: Debian crece escalarmente y funciona así de bien porque sus
usuarios se ayudan mutuamente, intercambian trucos y soluciones y suelen
estar informados de la marcha de la comunidad, de los problemas, retos,
etc. Se trata de un ejemplo notable de comunidad virtual, de trabajo en
red y de inteligencia colectiva distribuida.
El Contrato Social
Como ya hemos mencionado, Debian no es una empresa comercial. Se
mantiene y desarrolla de manera distribuida mediante la cooperación
desinteresada de más de mil hackers de todo el mundo coordinados a
través de Internet. Esos hackers, denominados "desarrolladores" o
"mantenedores", son usuarios que asumen un mayor compromiso con el
proyecto, dedicando su tiempo libre a mantener uno o varios paquetes, o
desempeñando alguna de las múltiples tareas que una organización como
Debian requiere.
Debian dispone además de una comunidad de miles de usuarios coordinados
a través de casi 100 listas de correo públicas extraordinariamente
activas. El núcleo comprometido con el proyecto, esto es, los
"desarrolladores" de Debian, se ha dotado de un "Contrato Social" que
hace las veces de un compromiso público hacia la comunidad de usuarios.
El Contrato Social consta de cinco puntos:
1. Debian Permanecerá 100% Software Libre.
2. Se recompensará a la comunidad del software libre, liberando las
herramientas que Debian desarrolle, difundiendo al máximo el uso
del software libre, comunicando y solucionando bugs y proponiendo
mejoras a los autores de software libre.
3. No se esconderán problemas a los usuarios, manteniendo una base de
datos pública de bugs en la que cualquier notificación de error se
hará inmediatamente visible para el resto.
4. Las prioridades de Debian son sus usuarios y el software libre.
5. No se pondrán dificultades al uso de software no libre en Debian.
Se crean las secciones "contrib" y "non-free" para el software que
no cumpla con el concepto de software libre que Debian utiliza.
Y cuál es ese concepto de software libre? Se establece en las DGFS
(Debian Guidelines, o "Guías de Debian del software libre" ), escritas
en primera instancia por Bruce Perens en 1997 y discutidas y afinadas
entre todos los desarrolladores de Debian. Las "Debian Guidelines" han
sido una notable contribución al software libre, pues han servido
directamente de base para la definición de open source de la Open Source
Initiative y son desde hace tiempo una referencia para el resto de la
comunidad.
Últimamente, ha habido bastante discusión en algunos foros sobre los
criterios de Debian a la hora de incluir o excluir software en su
distribución. Pues bien, las DGFS son el criterio para determinar esto.
Todo software que las cumpla, podrá formar parte de la sección "main" de
la distribución, que es la distribución oficial. Hay que poner énfasis
en que no sólo el software bajo la GPL cumple las DGFS, sino también las
licencias tipo BSD, la XFree/X11, la licencia artística y algunas otras
son perfectamente admisibles para los criterios de Debian.
Como ya se ha mencionado, hay otras secciones que no forman parte de la
distribución oficial, pero que se pueden encontrar en los repositorios
de FTP de Debian y en distribuciones no oficiales y que incluyen
software no libre o con problemas para estar en "main": son las
secciones "contrib" , "non-free" y "non-us" . La sección "contrib"
recoge el software libre que depende para funcionar de otro software que
no cumple las DGFS. La sección "non-free" es para software que se puede
copiar y distribuir pero que por alguna razón no cumple las DGFS (por
ejemplo, por no facilitar el código fuente o no permitir su modificación).
Puede resultar sorprendente que Debian incluya en "non-free" programas
que se pueden copiar y distribuir libremente, pero en Debian la
definición de libre no se refiere solo a la libertad de copiar y
redistribuir, sino también a la libertad de modificar el código fuente.
Y es que, incluso en el caso de que no se sepa programar y no interese
el código fuente para nada, lo importante es que todos y cada uno de los
paquetes de Debian tienen a una persona que lo mantiene. Por tanto, en
cualquier paquete libre integrado en la sección "main" de Debian se
tiene la garantía de que un grupo de programadores independiente e
imparcial ha analizado el código fuente y puede garantizar que no tiene
código oculto (troyanos, por ejemplo) que pueda ir contra la privacidad
o la seguridad del propio sistema.
Cuando un programa se distribuye únicamente en la forma ejecutable, los
programadores de Debian no pueden ofrecer esa garantía, ni pueden hacer
las modificaciones necesarias cuando se descubra algún problema de
seguridad o de conflicto con otros programas. Esto es un "lujo" que
ninguna distribución comercial podría permitirse, si tenemos en cuenta
que son casi diez mil paquetes los que incluye por ejemplo la última
versión estable, conocida como woody. Nadie recopila tanto software
libre y nadie puede asegurar un mantenedor detrás de cada paquete.
Por último la sección "non-us" es para el software que contiene
criptografía sujeta a las leyes de exportación estadounidenses. "Non-us"
, a su vez, contiene las correspondientes subsecciones "main" ,
"contrib" y "non-free" .
Las ramas "estable" e "inestable"
Otro asunto que suele crear confusión es el de los distintos "estados"
en que puede encontrarse una distribución de Debian. Debian sigue unas
fases claramente definidas en el desarrollo y publicación de sus versiones.
En primer lugar, existe una rama en desarrollo, conocida como
"inestable" , a la cual se van incorporando nuevos programas, nuevas
versiones de programas y se van fijando bugs y errores. Tras un cierto
periodo de varios meses, la rama inestable se "congela" , y a partir de
ese momento ya no se aceptan nuevos programas y se dedica todo el
esfuerzo a realizar diversos ciclos de prueba, notificación y corrección
intensiva de bugs o errores.
El sistema de seguimiento de bugs ( "Bug Tracking System" ) permite
reportar fallos a cualquier usuario o desarrollador y establecer su
grado de severidad: crítico, grave, importante, normal y "fijado". Para
hacerse una idea de lo exigente que es este proceso, mencionemos como
ejemplo que Debian considera un bug el que un script de instalación haga
más preguntas de las necesarias o que el interfaz de manejo de paquetes
resulte complicado para muchos usuarios.
Una vez corregidos todos los "bugs críticos" o retiradas aquellas
aplicaciones cuyos errores críticos no ha dado tiempo a corregir, se
"libera" : tenemos entonces la "versión estable" . Actualmente, y tras
la publicación de woody, la versión estable es la 3.0 y la rama
inestable es sid. "Inestable" en Debian no significa "peligroso" o
"inseguro" , sino "en desarrollo" (no es lo mismo por ejemplo que cuando
se habla de un "kernel de la rama inestable" ). Para usos no críticos es
perfectamente utilizable y en general se observará que a menudo la rama
inestable de Debian no lo es más que las versiones definitivas de otras
distribuciones comerciales. No obstante, para servicios críticos es
recomendable utilizar la versión estable, que es la que está probada
intensivamente y depurada.
Hay otro punto muy discutido en torno a Debian: el excesivo tiempo
transcurrido entre versiones, muy superior (al menos aparentemente) al
de las distribuciones comerciales. La media entre versión y versión de
Debian ha sido hasta ahora de nueve meses, pero Potato tardó exactamente
el doble, dieciocho meses, y Woody ha tardado prácticamente dos años.
Los tres ciclos de prueba necesarios dan lugar a sucesivos
aplazamientos, lo que parece haber cargado de razones a quienes dicen
preferir otras distribuciones por estar más actualizadas. Esto, sin
embargo, no es exacto pues cuando se insiste en la excesiva demora entre
versiones estables de Debian se olvida sistemáticamente que la rama
estable de Debian continúa evolucionando activamente durante su tiempo
de vida, al publicarse revisiones cada vez que se considera necesario
(Potato, por ejemplo, ha tenido siete revisiones en estos dos años),
especialmente cuando se descubren problemas de seguridad.
Tampoco se suele tener en cuenta las singularidades de Debian cuando se
insiste en su excesiva demora: en primer lugar, el estricto sistema de
depuración de errores; en segundo, el carecer de urgencias comerciales y
mantenerse con el trabajo sin remunerar y en ratos libres de los
desarrolladores; en tercer lugar, el inmenso número de paquetes que, en
los últimos tiempos, se ha hecho complicado de manejar como un todo.
Conviene advertir, además, que el objetivo de la rama estable de Debian
no es "estar a la última" , sino conseguir un sistema robusto, estable y
consistente al máximo, con los menos fallos posibles. Y el sistema de
desarrollo y corrección de bugs de Debian lo consigue. Quien necesite
tener acceso a las últimas versiones de los programas y a nuevas
aplicaciones puede usar la rama inestable, o bien puede buscar paquetes
no oficiales o incluso realizar uno mismo el paquete o la compilación.
No obstante, a los desarrolladores de Debian les preocupa este asunto y
llevan discutiendo el modo de atajarlo desde hace tiempo. Los package
pools son una de las respuesta técnicas para este problema. Son una
colección de paquetes relacionados, bien integrados entre sí, cuya
actualización no dependerá del resto del sistema, por lo que se podrán
instalar sobre la base de la versión estable para actualizarla o
ampliarla sin tener que esperar a la siguiente versión estable. Un
ejemplo es un package pool de Gnome.
También se rediseñará el sistema de instalación para la próxima versión
de Debian y la idea es que sea modular. Cada módulo podrá ser mantenido
por personas diferentes.
El sistema de paquetes
Debian usa su propio sistema de paquetes y su propio formato con la
extensión .deb. Un sistema de paquetes es algo más que un formato de
archivo, pues lleva detrás toda una política del modo de organizar las
cosas en un sistema. Por eso no es conveniente mezclar paquetes de
RedHat y Debian, por ejemplo, pues siguen una política distinta en
cuanto a la localización de bastantes cosas, como es el caso de los
demonios de arranque.
En concreto, el sistema de paquetes de Debian asegura un sistema
altamente fiable y sencillo a la hora de instalar y desinstalar
programas, previene conflictos con librerías y entre programas, resuelve
dependencias y lleva un control estricto sobre lo instalado en el propio
sistema. Los paquetes deb incluyen los scripts de instalación, las
versiones compiladas de los programas, junto a archivos de
configuración, página del manual, scripts de inicio y parada de demonios
y documentación asociada al programa.
Debian GNU/Hurd
Como ya hemos mencionado, Hurd es la versión del Proyecto GNU del
microkernel Mach, y se encuentra en desarrollo activo un port de Debian
basado en dicho núcleo. De momento, no ha alcanzado la estabilidad
necesaria para poderse publicar una distribución oficial, aunque se
espera pronto, ya se han portado un buen número de paquetes al Hurd y es
posible instalarlo a nivel experimental para ayudar en su desarrollo.
Cuando se publique, se podrá optar por usar el kernel Linux o por el
Hurd, y se utilizará el mismo sistema de paquetes, lo cual entre otras
cosas facilitará la transición al Hurd a los nuevos usuarios que deseen
usarlo.
Debian y la comunidad hispanohablante
Los usuarios hispanohablantes se agrupan y comunican en la lista
debian-user-spanish y en el canal #debian del irc-hispano. Además, hay
un proyecto en marcha llamado La Espiral, orientado a acercar a Debian
al gran público y suplir en alguna medida la falta de información de
primera mano y facilitar las actualizaciones a quienes no les resulta
posible mantener su Debian vía FTP, hasta ahora el camino natural de
acceso a la distribución.
------------------------------------------------------------------------
Miquel Vidal. SinDominio.net
miquel en sindominio.net
Este artículo es una adaptación. El original se publicó con motivo de la
publicación de GNU/Linux Debian Potato, en septiembre del 2000, y puede
leerse en La Espiral <http://www.laespiral.org/>:
http://www.laespiral.org/documentacion/articulos/index.html.
El documento original es libre. Puede copiarse, distribuirse y/o
modificarse bajo los términos de la Licencia GNU Para Documentación
Libre, versión 1.1 o cualquier versión posterior publicada por la Free
Software Foundation.
Más información sobre la lista de distribución Solar-general