El Proyecto Debian: algo más que una distribución de GNU/Linux

Por Miquel Vidal

Los origenes

Debian (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@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/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.


Volver al índice de la Biblioweb Espora.org.