Las distribuciones derivadas Linux y otras hierbas.

Distribuciones GNU / Linux las hay en grandes cantidades continuamente aparecen nuevas, y claro a un ritmo similar desaparecen otras. Muchos de los que gustamos de este software continuamente nos topamos con términos como: distribuciones madres, originarias, derivadas, forks, spins e incluso el más moderno remix. ¿Qué significan en realidad cada uno de estos palabros y como afectan nuestra decisión al momento de elegir esta o aquella distro? Lo primero que hay que entender es que es una distribución propiamente hablando.

Cuando Richard Stallman inició el movimiento del software libre tenía en mente crear un sistema operativo equiparable a Unix. Por ello aún antes de entender que es una distribución hay que comprender que es un sistema operativo.

El S.O. es un software que se encarga de servir de puente de uso y comunicación (interfaz) entre el usuario humano y los fierros que componen las computadoras (hardware). Nada mas y nada menos. Las computadoras (actualmente) solamente pueden ejecutar instrucciones en forma binaria, es decir todas y cada una de ellas atiende en cada momento a grupos ordenados y en secuencia de unos y ceros.

Las primeras computadoras eran pavorosamente sencillas en su construcción y se operaban introduciendo en forma manual estas secuencias, como resultaba atroz hacerlo desde el principio una y otra y otra vez se crearon los primeros programas que podían ser guardados y posteriormente ser ejecutados y modificados una y un millón de veces. Sin embargo estos primeros programas aún eran muy complejos para construir y más aún para modificar. De ahí que los primeros hombres y mujeres que trabajan con computadoras debían cumplir como requisito previo el haber obtenido al menos un doctorado.

Muy pronto las computadoras comenzaron a hacerse más y más complejas, y además se les comenzaron a añadir nuevos dispositivos que debían operarse en forma armoniosa con la computadora: unidades de almacenamiento, lectoras de tarjetas, impresoras, puertos de comunicación, etc. En forma natural debían crearse programas que se encargaran de estas tareas, que resultaban imposibles de realizar en tiempo y secuencia correcta para sus humanos creadores.

Los primeros sistemas operativos surgieron entonces como un programa que estaba siempre “corriendo” en la computadora y se encargaba de atender a estas tareas, además por supuesto de estar listo a responder a las instrucciones de sus humanos operadores. Estos primeros S.O. eran en realidad un solo programa que contenía todo lo necesario para realizar sus tareas. Los ejemplo más recientes de estos S.O. mono programáticos son el CPM que usaron las primeras Apple y las primeras versiones del DOS.

Pero las computadoras seguían en su loca carrera de progreso tecnológico y pronto fue evidente que este modelo resultaba en extremo ineficiente. En las grandes computadoras con cientos de usuarios y tareas el S.O. se iba convirtiendo en un programa inmenso que por si solo copaba la totalidad de los recursos del equipo. Sobra decir que cuando un proceso fallaba, se llevaba por delante a todos los otros causando el colapso del equipo.

Así nació el primer S.O. moderno: Unix. Y una de sus principales novedades (hecho poco reconocido) es que separó el S.O. en partes, que incluso podían ser llamadas y liberadas a la memoria y al procesador central de acuerdo a la demanda de uso que tenían en un momento dado. Entonces el S.O. pasó de ser un programa para convertirse en un software.

Richard Stallman entonces se dio a la tarea de ir creando, uno a uno los programas que darían forma al sistema operativo GNU; como se trataba de software libre, otros programadores, distribuidos por toda la faz de la tierra siguieron a RMS primero mejorando sus creaciones y casi inmediatamente creando las propias, incluso herramientas análogas. Así a diferencia de un SO creado por una empresa, donde todo el código y los binarios se encuentran juntos y bien resguardados dentro de sus instalaciones, las partes componentes del S.O. GNU se ubicaron (y lo siguen haciendo) prácticamente en cualquier parte del planeta, obviamente gracias a la existencia de la por entonces muy novedosa, lenta y escasa Internet.

En algún momento a principios de los años noventa, apareció la última pieza indispensable para poder poner a funcionar el S.O. GNU: El kernel (núcleo) Linux y entonces surgió el problema de decidir cuales de las ya por entonces muchas piezas de programación deberían ser usadas para crear un sistema operativo real y funcional. Cada cabeza es un mundo se dice y en consecuencia los programadores interesados por todo el mundo, se dieron a la tarea de recopilar todas las partes (programas) que consideraban necesarios para materializar su idea de un sistema operativo libre.

Obviamente cada uno de estos pioneros creo algo ligeramente distinto a los otros y una vez que tenían listo su sistema operativo y como se trataba de software libre pasaron copias a otros. Dicho de otra forma comenzaron a distribuirlo, de ahí el término “Distribuciones”.

No hay por supuesto ningún dato fidedigno acerca de cuantas de estas distribuciones primitivas se crearon, ni mucho menos de quienes las usaron. Lo único cierto es que unas pocas, 3 para ser exactos, se decidieron a realizar un trabajo mucho mas serio y profesional y que además aglutinaron a su esfuerzo a una comunidad.

Estas tres distribuciones crearon como base de su trabajo los llamados paquetes y sus respectivos gestores como una forma de poder armar y distribuir las partes componentes de su sistema operativo. A estas tres primeras distribuciones son a las que conocemos como “Distribuciones Madre”: Red Hat, Debian y Slackware.

Algo que distingue a estas distribuciones es que además son “Originarias”, es decir sus programadores recopilan por todas partes las piezas de software y programas que requieren desde los lugares donde los ponen a disposición de la comunidad sus programadores originales. Y entonces realizan (o no) las modificaciones que consideran pertinentes, compilan (crean binarios a partir del código fuente), empaquetan los resultados, armonizan el conjunto y por último ponen a disposición de los interesados el resultado final, tanto en forma de paquetes individuales como en forma de un sistema operativo completo.

Es de entender que este es un trabajo ingente, que por lo general implica largos periodos de trabajo, muchos meses, incluso años. Basta imaginar que cualquiera de estas distros madre tiene mas de 20,000 (Debian tiene mas de 40,000) piezas de software disponibles, y cada una de ellas se actualiza, modifica o de plano se abandona a su propio ritmo e idea.

Para poder manejar este mar de programas, además de los repositorios estándar (estables) de la versión actual, las distros Originarias suelen tener otros que muestran los diversos grados de “maduración” de toda la nueva paquetería que se va incorporando a lo que serán las futuras versiones del sistema operativo. En Debian por ejemplo estos repositorios son: Testing (en prueba) e Unstable (Inestable), en Mageia es Cauldron en referencia al caldero druida y en Mandriva (Open Mandriva) es Cooker: la cocina. Otras como Arch siguen pautas similares.

Aunque solamente hay tres distros “Madre” hay varias otras que son Originarias, es decir que no dependen de alguna otra distribución y son ellas mismas las que recopilan, compilan y empaquetan sus programas. En este apartado hay dos tipos de distribuciones: Las que no tienen su origen en otra distribución, es decir han sido creadas desde cero (al igual que las distros Madre) y las que en su origen partieron de otra distribución.

Del primer tipo hay solo unas pocas más y suelen ser muy apreciadas por la originalidad de su enfoque, además que por lo general también han creado sus propios gestores de paquetes. Arch Linux y Gentoo son los máximos exponentes de esta categoría, recientemente se ha integrado KaOS a este selecto club. A diferencia de las dos primeras KaOS usa pacman como gestor de paquetes en vez de haber creado uno propio. Otros ejemplos incluso ya extintos son Pardus (La original puesto que la actual se basa en Debian), Pisi y el nuevo experimento de Ikey Doherty: Solus (antes Evolve).

El segundo grupo generalmente nace de un Fork, es decir en algún momento de la vida de una distribución un programador (o un grupo de ellos) decide separarse del desarrollo y de la comunidad de la distribución Originaria y seguir su propio camino. Debido a la naturaleza del software libre, en vez de empezar desde cero como en la categoría anterior, se decide tomar una copia completa de los repositorios de la distro de la que se separan, y a partir de esta base continuar su trabajo.

Las derivadas de tipo “Fork” son desde hace mucho tiempo una de las formas más serias de crear una nueva distribución, aunque por desgracia por lo general son antecedidas por un periodo de ruptura con su distro Originaria, y la comunidad a todos sus niveles suele verse dividida durante el proceso. Ejemplos muy notables de este tipo de distribuciones Fork son SuSe, Fedora, PCLinuxOS, Mandriva, Mageia, Chakra y muy recientemente el muy sonado caso de la aún en desarrollo Devuan (fork de Debian), aunque por supuesto la lista es mucho mayor incluyendo muchas ya extintas.

La gran mayoría de las distribuciones actuales caen en la categoría de “Distribuciones Spin” (Giro) y son un tipo de sistemas operativos que son básicamente una distro Originaria a la que se le hacen algunos añadidos que se incluyen en primer lugar en el archivo ISO de instalación y en segundo lugar con la adición de repositorios propios en los que se mantienen los paquetes especiales de esa distribución. Como se trata de rizar el rizo, las distribuciones Spin continúan usando los repositorios de sus distros Originarias para presentar a los usuarios el grueso del soporte del software que ofrecen.

Los Spin los hay de muy diversos tipos y calidades, igualmente son muchas las causas que les dan origen, como pueden ser: dar soporte especial a un tipo de programas, incluir un escritorio diferente al de la distribución origen, y sí, por desgracia en muchas ocasiones, simplemente satisfacer el ego de su creador o creadores. Entre las distribuciones derivadas tipo Spin más conocidas tenemos a Linux Mint, Linux Mint Debian Edition, Bodhi Linux, SliTaz, Elementary OS y la pléyade de experimentos que se encuentran en SuSe Studio. De hecho la gran mayoría de las derivadas de Debian pertenecen a esta clase Spin.

Al siguiente tipo de distribuciones derivadas yo prefiero llamarlas de “Fork Continuo” y son una especie de mezcla entre las distros derivadas tipo Fork y las tipo Spin. Este tipo de distros cada determinado tiempo o a causa de un evento en particular realizan un fork completo de su distro Originaria, a partir del cual realizan la creación de la siguiente versión de la distribución.

Al igual que las Fork “Puras” re-empaquetan, incluyen o excluyen paquetes y mantienen sus propios repositorios, e incluso como cualquier otra distro “Mayor” pueden crear y mantener software propio, pero a diferencia de las distros Fork no suelen tener repositorios de desarrollo (al menos en forma pública). A este último tipo de distros pertenecen nombres tan conocidos y populares como Ubuntu (y todos los otros buntues), Manjaro Linux, CentOS y Scientific Linux.

El último tipo y de más reciente aparición son las “Distros tipo Remix” que son aquellas que simplemente toman la ISO de instalación de la distribución Originaria y lo modifican para añadirle y/o retirarle características: Programas, temas de escritorio y decoraciones, iconos, fondos de escritorio, etc.

La vida de estas distribuciones suele ser breve ya que por lo general responden a situaciones transitorias particulares de cada distribución. Recuerdo que cuando Ubuntu presentó como escritorio fijo a Unity hubo un Remix llamado Ubuntu Gnome Remix, que obviamente desapareció tan pronto como Ubuntu volvió a tener a Gnome en sus repositorios (aún antes de la aparición de la oficial Ubuntu Gnome). Recuerdo también a LXLE que es un Lubuntu súper vitaminado basado siempre en la versión LTS de Ubuntu.

Existen como es natural distribuciones que cumplen en mayor o menor medida esta categorización y por ende el abanico de posibilidades es muy amplio. Por ejemplo Antergos se cataloga como un Fork Continuo porque cada determinado tiempo toma una instantánea de Arch Linux con la que construye sus propias ISO y porque mantiene un diminuto repositorio que solamente contiene las herramientas de instalación de la distribución, pero si le quitamos esta pequeña parte podría fácilmente ser clasificada como un Spin de Arch Linux.

Espero que esta explicación te sirva para comprender las formas en que puede ser creada una distribución GNU / Linux. ¿La distribución que usas a qué tipo pertenece?

Anuncios

Un pensamiento en “Las distribuciones derivadas Linux y otras hierbas.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s