Articulo de opinion ¿que os parece?
He escrito un artículo de opinión para una revista de las de Linux (Linux Actual) me
gustaría enviaroslo para ver qué os parece (espero que no os molesteis es cortito) e intenta
poner un poco en contrapunto una de las críticas más frecuentes a Debian, aunque quizás al final
no me ha quedado tan claro (lo tengo que releer).
Os lo envío adjunto... como dicen algunos "Food for thought"
Javi
Artículo para la revista Linux Actual número 19: La veloci
dad de las distribuciones.
Javier Fernández-Sanguino Peña
24 julio 2001
¿Vamos demasiado rápido en el mundo GNU/Linux? Es nuestra evolución
tan rápida como debería ser o es más, ¿es posible que no estemos
parando lo suficiente para dejar madurar las cosas.
11.. LLaa vveelloocciiddaadd eenn llaass ddiissttrriibbuucciioonneess
Antes de nada, para los que no me conozcan, los que lean este
artículo, que al fín y al cabo es de opinión, es que soy un
desarrollador que participa en el proyecto Debian. La intención de
este artículo es la de parar un momento y descansar, la verdad es que
puede ser que algunos lo necesitemos.
Una de las críticas más frecuentes realizadas al proyecto Debian es
que tarda demasiado en sacar una nueva versión de su distribución.
¿Por qué no saca Debian antes una nueva distribución? Oigo esta
crítica a menudo, muchas veces de gente que conoce poco la
distribución. Pero vayamos a la raíz de la pregunta ¿que hacen los
demás? ¿que se exige a Debian? Estamos viendo, en el mercado de las
distribuciones de GNU/Linux (quizás algo más disperso de lo necesario)
como algunos fabricantes sacan constantemente nuevas versiones, por
ejemplo, cada tres meses, los usuarios pueden ver el baile de números
constante, uno pasa de la x.1 a la x.2 a la x.3 y luego la y.0. ¿Cual
es la razón de este cambio? La verdad es que supongo que todos pueden
dar respuesta a ésto, es algo patente en todo el mundo GNU/Linux. El
cambio constante de aplicaciones y la aparición de nuevas herramientas
hace que cada vez el usuario tenga más funcionalidades a su alcance,
soporte para más dispositivos, integración de más herramientas, etc.
Por otro lado, las distintas distribuciones aprovechan para hacer
cambios en su estructura, en la medida de lo posible y facilitar las
distintas tareas que debe realizar el usuario. Los usuarios demandan
nuevas aplicaciones y las distintas compañías comerciales cubren esta
demanda con nuevas distribuciones.
El mundo GNU/Linux lleva ya tiempo en esta carrera, gracias a la cual
tenemos, hoy en día, un buen número de aplicaciones disponibles para
cubrir prácticamente todas las necesidades de los usuarios. Desde
programas de propósito específico a programas genéricos. El objetivo
de todos los que desarrollamos cosas para GNU/Linux es que el sistema
operativo esté a la altura de otros sistemas operativos, que ofrezca
funcionalidades igual de completas y manteniendo la filosofía de
libertad del software libre (valga la redundancia).
Estas ansias de cambio, que ofrecen muchas ventajas, tienen también
sus inconvenientes: se ofrecen al mercado soluciones que todavía no
son totalmente maduras, o que fallan aún demasiado, se hace difícil la
actualización de los sistemas porque muchas veces las librerías
básicas cambian demasiado como para mantener la compatibilidad
requerida, las nuevas funcionalidades introducidas rompen otras
funcionalidades ya estabilizadas, etc.
Esto a veces lleva a que los usuarios prefieran, antes que actualizar
distribuciones partiendo de la distribución anterior, tirar todo esto,
como si dijeramos, "a la basura" y empezar de nuevo con la
distribución última, la más nueva, la que ofrece nueva funcionalidad.
Ahora, quizás pueda responder un poco mejor la pregunta anterior. Hay
varias razones para que Debian no saque distribuciones todos los
meses. Creo que la raíz de estas razones está en el Contrato Social
de Debian (www.debian.org/social_contract), el objetivo de Debian es
entregar un "sistema integrado de alta calidad". De ahí viene el
nombre de la parte principal de la distribución, la rama "estable".
Por supuesto, este sistema tiene fallos, como los tiene cualquier
otro, pero en el momento de liberarse ésta versión estable (la última
es la 2.2 liberada el verano pasado) los fallos más graves están
resueltos. Esta es la versión de Debian como si dijeramos "para
producción". Los lectores pensarán, "ha sido liberada hace un año,
está obsoleta y tiene muchos problemas importantes". A esto tendría
que decir que de esta versión ha habido tres revisiones (la última en
abril de este año) que solventan los problemas graves conocidos,
especialmente los referidos a problemas de seguridad, no tiene
problemas graves (conocidos). Cierto es, esta versión no incluye los
programas más novedosos, ni los más recientes, de hecho puede haber
programas nuevos que resuelvan problemas que no están aquí. Sin
embargo, es importante el concepto de "distribución estable" que va
más allá del hecho de que un determinado programa funcione o no, sino
de que toda la distribución esté bien integrada.
La robustez es una de las razones de mantener una versión estable, a
prueba de fallos. No es la única, en cualquier caso. El trabajo de
estabilizar una versión no es fácil, pero tiene como consecuencia el
obtener algo que funciona como se promete. Debian 2.2 soporta, por
completo, seis arquitecturas distintas: Intel x86, Motorola 680x0,
SPARC, Alpha, PowerPC y ARM. Es más que probable que Debian en la
proxima versión soporte cuatro más: HP PA-RISC, Intel 64bits, MIPS
(estaciones SGI) y Mipsel (estaciones DEC). Posiblemente para cuando
se publique este artículo estará claro qué arquitecturas serán
liberadas. Esto significa que, ya hoy, Debian soporta más
arquitecturas que ninguna otra distribución de GNU/Linux.
De igual forma, Debian GNU/Linux 2.2 ofrece más de cuatro mil paquetes
de software distintos, con licencia libre. Es decir, la versión del
año pasado estaba formada por tres CDs de binarios y otros tres de
fuentes. La siguiente versión de Debian GNU/Linux es posible que
sobrepase los seis mil paquetes de software, podemos hablar de ocho o
más CDs. Reitero, software totalmente libre. Al comparar con otras
distribuciones, por favor, recuerde que muchas entregan software
comercial en período de demo, no me vale.
Una vez puestas las cifras sobre la mesa estamos hablando de diez
arquitecturas y seis mil paquetes, más de diez gigabytes de
información. Y ahora toca contraponer esto con los recursos del
proyecto, cerca de quinientos desarrolladores que trabajan en esto de
forma voluntaria. A la vista está otro problema, para no distribuir
una versión un par de meses antes de lo que sería deseable, la carga
de trabajo es muy grande. No es lo mismo exigir criterios de calidad
sobre cien paquetes que sobre seis mil. Sin embargo aquí suele pasar
algo habitual en el mundo GNU/Linux, mucha gente exige mucho pero no
se dan cuenta de que lo que reciben, un producto muy variado y de gran
calidad, está siendo realizado por muchas personas de forma
colaborativa. Así pues, animo a los lectores que no lo hacen ya, a que
colaboren con el mundo GNU/Linux. No es necesario desarrollar
software, las personas que elaboran documentación, prueban programas e
informan de sus fallos, traducen documentos y hacen sugerencias
_t_a_m_b_i_é_n están contribuyendo al mundo del software libre. Debian se
nutre de estas contribuciones, sin proyectos como GNOME, KDE, Apache,
LuCAS, sería mucho menos de lo que ahora es.
El esfuerzo por las demás distribuciones de ofrecer una versión
actualizada (a veces hasta la última gota) de GNU/Linux y sus
aplicaciones es loable y tiene su mercado en un grupo de usuarios que,
por necesidad o gusto, desean estar a la última. Muchas veces es
necesario tener la última versión actualizada de tal o cual programa
para hacer funcionar nuestro sistema. El caso de los portatiles, como
en el que escribo ahora, es algo habitual. Las distribuciones que
salen de forma constante en las revistas: Mandrake, SuSE, RedHat, etc.
cubren este mercado mucho mejor que Debian.
A veces se puede ver, sin embargo, este mismo hecho de sacar nuevas
versiones hace que tengan que sacarse, de forma inmediata, revisiones
sobre una distribución recién lanzada por problemas de integración
(que podían haberse evitado), problemas de seguridad (que siempre
pueden acechar pero que también se pueden deber a un mal diseño) o
problemas que no se detectaron por tiempos de desarrollo quizás
demasiado ajustados.
Quizás los dos puntos de vista, un punto de vista de liberación
frecuente y otra de liberación más espaciada, puedan ponerse de
acuerdo y llegar a algún punto intermedio. Sería deseable una
distribución estable, robusta, como la que ofrece Debian, con la
posibilidad de incorporar software nuevo actualizado también robusto,
sin necesidad de recompilarlo ni actualizar totalmente el sistema a
una nueva versión.
Debian plantea un punto intermedio, que, aunque no es la solución aún
si es interesante conocer. Existen dos distribuciones intermedias
previas al lanzamiento de una nueva versión, la distribución de
pruebas (_t_e_s_t_i_n_g) y la inestable (_u_n_s_t_a_b_l_e). La primera se diferencia
de la segunda en que el nuevo software que llega se incluye primero en
la distribución inestable y, si no da problemas, pasa a la
distribución de pruebas. Las personas que deseen estar más a la última
pueden elegir o estar a la última, pase lo que pase, en la cresta de
la ola, es decir, en inestable, o estar a la última "sin problemas", e
ir probando la distribución según se incorporan nuevas cosas. Ahora
estamos hablando de actualizaciones de software que no son ya cada
muchos meses, sino semanales o incluso diarias. Tarea que facilitan
las herramientas de actualización automática de paquetes y resolución
de dependencias integradas en Debian, destacando sobretodo apt (que
está siendo portada a otras distribuciones).
Una actualización, sin embargo, de la distribución estable a la
distribución inestable, es hoy en día muy drástico, por la gran
cantidad de cambios de software que involucra. Si se desea sólo una
pieza de software puede no estar justificado.
Quizás lo deseable sería tener la posibilidad de hacerse uno la
distribución a medida, por ejemplo, quiero el sistema estable pero
quiero tal o cual programa en sus últimas versiones porque me es
absolutamente necesario. Esta posibilidad está empezando a ser
introducida con la posibilidad de recompilación automática de paquetes
de software pero no deja de ser un problema a veces irresoluble
(cambian muchas cosas). También uno podría querrer el sistema estable
pero con actualización de todos los programas considerados estables,
es decir, no actualizando a versiones beta o en desarrollo. Esto, aún,
es una posibilidad disponible.
En beneficio de todos los usuarios, las distribuciones deben trabajar
tanto en la forma de ofrecer versiones totalmente estables y versiones
más novedosas (y posiblemente inherentemente inestables) con un grado
variado de matices. No es lo mismo un usuario corporativo que desea
instalar un sistema operativo GNU/Linux en una máquina para un
servicio en producción (que querrá actualizar lo mínimo imprescindible
y sólo cuando sea necesario, para evitar interrumpir el servicio) que
un usuario que tiene su ordenador doméstico y le gusta jugar
constamente con software novedoso. Estos métodos de actualización
deben soportar la posibilidad de ofrecerlos tanto a través de Internet
(la forma más habitual actualmente) como a través de medios físicos,
de tal forma que otros distribuidores (y pienso en revistas) puedan
ofrecer, en lugar de versiones completas totalmente nuevas
"actualizaciones de algunos subsistema para la versión estable X". Hoy
por hoy, o se ofrecen distribuciones completas o fuentes de código que
se deben compilar, con pocas posibilidades de formatos intermedios que
valgan para todas las distribuciones.
22.. SSuummaarriiooss
33.. NNoottaass ddee mmaaqquueettaacciióónn
44.. NNoottaass ddee ccoooorrddiinnaacciióónn
Reply to: