20 comentarios

Gnome 3.2: ¿systemd?, ¿Gnome OS?, ¿no más soporte para plataformas NO-LINUX?

This is the Gnome-Logo made with vectors. GNOM...

Image via Wikipedia

Primero que nada debemos aclarar, NO HAY ninguna decisión tomada, sino el reflejo de un interesantísimo debate en las listas de correo de Gnome, de cara al lanzamiento de Gnome 3.2. Que no haya decisión tomada, no implica que no pueda ni contarse, ni charlarse, ni debatirse también por fuera, por qué no, de Gnome.

¿Cuál es el eje del debate?

Abandonar el sistema init y usar systemd.

Pero, ¿qué es init?

En sistemas Unix y de tipo Unix, init (abreviatura de initialization) es el primer proceso en ejecución tras la carga del kernel y el que a su vez genera todos los demás procesos. Se ejecuta como demonio y por lo general tiene PID 1.

Tradicionalmente, esta funcionalidad se ha implementado de forma distinta en los dos grandes universos Unix: System V y BSD. En el Unix original, el proceso init arrancaba los servicios de mediante un único script denominado /etc/rc. Posteriormente, la versión System V del Unix de AT&T introdujo un nuevo esquema de directorios en /etc/rc.d/ que contenía scripts de arranque/parada de servicios.

Linux adoptó el esquema System V, aunque algunas distribuciones, como Arch Linux y Slackware, utilizan el estilo BSD* y otros, como Gentoo, tienen su propia versión personalizada. Ubuntu y algunas otras distribuciones de Linux utilizan ahora upstart como reemplazo para el proceso de inicialización tradicionales.

Wikipedia

Ahora bien, ¿qué es systemd?

Bien, a grandes rasgos es un reemplazo al init, que se caracteriza por hacer un fuerte uso de procesos paralelos. Como cuenta Lennart Poettering (desarrollador de systemd y Pulse Audio), tras cargarse el kernel, el primer proceso que se lanza es el de inicialización, init, el cual empieza a cargar los demás deamons. systemd se diferencia en que la carga de estos deamons se hacen en forma paralela, lo que trae enormes ventajas.

Según freedesktop.org ** (custionado por muchos, pero no respetado completamente por Gnome en Gnome Shell), systemd es:

systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit.

See Lennart’s blog story for a longer introduction, and the two status updates since then. Also see the Wikipedia article.

If you are wondering whether systemd is for you, please have a look at this comparison of init systems by one of the creators of systemd.

freedesktop.org wiki

Uno de los reemplazos a init mayormente adoptados en las distintas distribuciones ha sido Upstart desarrollado para Ubuntu originalmente. Hoy, Fedora 15 es la primera gran distribución en lanzarse con systemd, entendible al ser apadrinada por Red Hat.

El 26 de Mayo de 2010 Jonathan Corbet nos contaba sobre el anuncio de systemd. En el artículo hace mención a que el nuevo deamons cuenta con muchas mejoras, pero que su core es una idea, stolen dice él, basada en Mac OS.

There are (at least) two ways to ensure that a service is available when it is needed: (1) try to keep track of all other services which may need it and be sure to start things in the right order, or (2) just wait until somebody tries to connect to the service and start it on demand. Traditional Linux init systems – and upstart too – use the first approach. Systemd, instead, goes for the second.

Jonathan Corbet

Como se dijo arriba, hoy es Fedora 15 la primera distribución grande que hace uso de este sistema. Debian no lo usa y Ubuntu hoy por hoy no tiene planes de adoptarlo, hay que ver que pasará si Gnome decide usarlo de cara a Gnome 3.2.

El Debate.

El debate se inicia con la propuesta de Lennart de la inclusión de systemd como dependencia externa de Gnome 3.2, lo que implicaría un golpe para las plataformas no Linux.

This would be a major departure for the project, a big kick in the face for long-term partners like Oracle/Sun, and also for other free operating systems like BSD.

Dave Neary, Desarrollador de Gnome.

Vale decir, systemd no es compatible, hoy por hoy, con plataformas NO Linux, por lo que si se adoptara systemd como dependencia externa, se estaría dificultando la utilización de todo Gnome en otras plataformas, mejor dicho, habría que escribir reemplazos para systemd compatibles con otras plataformas. No implica que no pueda tomarse el código y portarse

systemd is Linux-only. That means if we still care for those non-Linux platforms replacements have to be written.

Mail de Lennart.

Lógicamente, las respuestas no se hicieron esperar. Así la respuesta del desarrollador de Debian Josselin Mouette es un no rotundo: ni una sola dependencia de Linux.

Debemos recordar que Debian está trabajando en Hurd, aquel núcleo de GNU que nunca llegó a terminarse y provocó la adopción de Linux= GNU/Linux. Recuerdo ahora que, esto implicaría darle la cara a la propia GNU, porque cuando terminen su núcleo, Hurd basado en Unix, estarán en las mismas que BSD con systemd.

I don’t have anything against requiring systemd, since it is definitely the best init system out there currently, but the Linux dependency is an absolute no-no for us. Having optional Linux-only functionalities is OK; requiring Linux is not.

En respuesta a estas palabras, Jon McCann, un conocido desarrollador de Gnome y user-experience engineer de Red Hat, manifestó que era propicio que Gnome se centrara fuertemente en Linux solamente. Y lo hizo con una frase que puede interpretarse en la propuesta de convertir a Gnome en una distribución basada en Linux. Veamos:

The future of GNOME is as a Linux based OS. It is harmful to pretend that you are writing the OS core to work on any number of different kernels, user space subsystem combinations, and core libraries.

Kernels just aren’t that interesting. Linux isn’t an OS. Now it is our job to try to build one – finally. Let’s do it.

I think the time has come for GNOME to embrace Linux a bit more boldly.

Por lo pronto, lo único cierto es que:

  1. Se ha producido un cambio en el sistema de propuestas de módulos. Y el nuevo sistema no está completamente acabado.
  2. Nos encontramos frente a una propuesta, la utilización exclusiva, como dependencia externa, de systemd. Que acarrearía la necesidad de escribir sustitutos para plataformas no Linux. En la lista de correo ha sido el mismo Lennart quién ha manifestado su negativa a introducir flags en el código que permitan facilitar la utilización de Gnome + systemd en plataformas no-linux, o incluso distribuciones que no deseen utilizar systemd como dependencia necesaria para utilizar Gnome.
  3. Ante esto, McCann propone centrarse únicamente en Linux y que sean las otras plataformas las que se encarguen de portar Gnome para utilizarlos.

REFERENCIAS.

* Cuando instalamos ArchLinux o Chakra, el archivo madre es el rc.conf, influencia directa de BSD. Tengamos en cuenta este dato, porque systemd tiene ciertas rispideses con BSD.

** freedesktop.org is building a base platform for desktop software on Linux and UNIX. The elements of this platform have become the backend for higher-level application-visible APIs such as Qt, GTK+, XUL, VCL, WINE, GNOME, and KDE. The base platform is both software and specifications.

Fuente: digitizor | OMG! Ubuntu! | reddit | elavdeveloper | Enlaces citados en la entrada.

Acerca de Martín Casco

Abogado, Socio del "Estudio Yaccuzzi & Casco"

20 comentarios el “Gnome 3.2: ¿systemd?, ¿Gnome OS?, ¿no más soporte para plataformas NO-LINUX?

  1. Excelente artículo muy bien explicado. Por fin aclaré varias dudas que tenía desde hace rato con respecto al sistema de arranque de las diferentes distribuciones.
    Gracias

  2. Información Bitacoras.com…

    Valora en Bitacoras.com: Primero que nada debemos aclarar, NO HAY ninguna decisión tomada, sino el reflejo de un interesantísimo debate en las listas de correo de Gnome, de cara al lanzamiento de Gnome 3.2. Que no haya decisión tomada, no implica ……

  3. Mejor explicado imposible!!!

  4. Me huele a que saldrá otro fork en el mundo GNU……

  5. Tremendo articulo, la mejor explicación que leído sobre este tema. No estoy muy de acuerdo con que systemd sea una dependencia por que limitaría a la plataforma Gnome en su uso tanto en sistemas no-linux como para las distribuciones linux que no deseen adoptarlo, bastante complejo el tema

  6. Venga porque no le reclaman al desarrollador de systemd que lo porte a otros nucleos y se acabo el problema, ya si las propias distros linux no quieres usar systemd que se las arreglen como puedan. Lo veo algo radical, pero si es por el bien de mi escritorio favorito no me parece mala idea para nada es mas systemd es muy bueno.

    • Desarrolladores de Gnome le pidieron que insertara flags para que, al menos otras distribuciones Linux pudieran usar Gnome sin systemd, manifestó que no quería. No se si ha cambiado de opinión.

      Ahora, no es que sea por el bien, ha día de hoy Fedora 15 es una de las primeras distros en usarlo y ha día de hoy no han habido problemas. Más que radical, para mi es contradictorio y su utilización como dependencia externa no opcional no tiene mucho sentido, Gnome ha funcionado igual de bien sin él y cumple más con lo que predica, libertad.

  7. [...] Gnome 3.2: ¿systemd?, ¿Gnome OS?. ¿no más soporte para plataformas NO-LINUX? [...]

  8. [...] Fedora 15 «Lovelock», siendo la primera gran distro en presentarse con soporte oficial para systemd, del que hemos hablado, y presentandose con Gnome 3 y Gnome Shell por defecto y con soporte para aquellas apps que aún no [...]

  9. [...] Systemd 27. Fedora 15 es otra de las grandes distros en utilizar este sistema del que hemos hablado. [...]

  10. [...] tema fue puesto en consideración, o se dejó entrever, cuando se propuso que se utilizara systemd como dependencia externa y obligar a todas las distribuciones Linux que quisieran usar GNOME optar por ese sistema. [...]

  11. [...] aún en desarrollo, se encuentran paquetes propios de Gnome 3.1 y, como si fuera poco, ya se está trabajando en mejoras que veremos en Gnome 3.2 y son realmente [...]

  12. Yo considero que se debe trabajar en uniformizar las interfaces gráficas en las plataformas tipo *NIX. No creo que sea práctico que se cierre para obligar a estar en 1 plataforma específica. Yo utilizo Arch + Gnome Shell y la verdad me inquieta lo anterior. No me gusta en lo personal ni KDE y XFCE ya que en su filosofía impacto al usuario final se han ido o bien por una presentación pesada respecto a su GUI de usuarios o bien se han estancado en entornos, que aunque seguros ya empiezan a mostrar sus deficiencias (GTK2 y QT). Ha que recordar que Arch, por ejemplo es mas al estilo BSD y lo uso por que me brinda lo mejor de los 2 mundos (UNIX y LINUX). Las otras distros no se les vé que tengan contemplados cambios en sus próximos lanzamientos. También hay que recordar que Fedora no es muy amable y la verdad instalarlo me da mas flojera que instalar FreeBSD.

    Creo que los nuevos líderes del proyecto GNOME han olvidado su filosofía primordial y están cayendo más en aspectos cerrados al mas puro estilo Microsoft y incluso Apple.

    La verdad si se da este cambio e implica radicalidades en aplicaciones y modificaciones en las configuraciones del entorno, la verdad mejor (y creo que muchos usuarios lo pensaran) es migrar a otro entorno mas estable como E17.

    En fin, ya veremos que pasa.

  13. [...] Systemd es un reemplazo de SysVinit and Upstart y que actúa como un sistema y gestor de sesiones. [...]

  14. [...] las cosas, uno de los puntos más delicados es la integración de systemd, del que hemos hablado. Con su integración, openSUSE, Fedora y Mandriva son las grandes distros que han adoptado este [...]

  15. [...] Lo dicho, requiere de Upstart, algunos distribuciones como Fedora 15, Mandriva 2011, openSUSE, etc. utilizan systemd. [...]

Deja un comentario

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

%d personas les gusta esto: