Ubuntu Touch ha muerto, larga vida a Ubuntu Touch

Con el mensaje de Mark Shuttleworth finaliza el proyecto de convergencia de Ubuntu en ordenadores y dispositivos móviles (Ubuntu Touch). Aunque leí la noticia el mismo día que apareció en OMG Ubuntu, he preferido dejar que se enfríe un poco el tema antes de escribir este artículo. El tono del artículo habría sido diferente si lo hubiera escrito ese mismo día. De forma resumida la situación es la siguiente: Ubuntu Touch deja de tener soporte oficial de Canonical. Recibirá actualizaciones críticas de seguridad hasta mediados de año. La tienda y los servicios asociados dejarán de funcionar a finales de año. ¿Cómo se ha llegado a esta situación en uno de los proyectos estrella de Canonical?

Historia de la convergencia

Para llegar a la convergencia Canonical ha trabajado en varios frentes. El primero es el entorno de escritorio Unity, que apareció por primera vez en Ubuntu 11.04. Entre otros detalles Unity estaba orientado a aprovechar el espacio del escritorio teniendo en mente, en un futuro, poder trabajar en pantallas pequeñas. El servidor gráfico trabaja de fondo para que los escritorios (Unity, Gnome o KDE)  muestren la información al usuario. A medida que evolucionaba Unity Canonical vio que el servidor gráfico que había en esos momentos no cumplía con sus necesidades y comenzó el desarrolló del servidor gráfico Mir.

Actualización: como indica Jesús en el comentario, Mir no llegó a salir como servidor gráfico por defecto. Estaba planeado que saliera a la par con Unity 8.

Autor de la captura Kesäperuna

El último frente de la convergencia está en la distribución de las aplicaciones. En GNU Linux se utilizan principalmente dos tipos de paquetes. El primer tipo es RPM y es el usado por las distribuciones que toman como base RedHat  El segundo tipo es DEB y es el equivalente para las distribuciones que usan Debian como base. Dentro del primer tipo se encuentran distribuciones como Redhat, OpenSuSe o Fedora mientras que el segundo tipo se usa en Debian o Ubuntu entre otras.

Empaquetado de aplicaciones

Supongamos un escenario en el que un programador quiere empaquetar su aplicación para las principales distribuciones. En un principio empaquetaría la aplicación para RPM y DEB. Puede parecer un trabajo sencillo y que no requiere mucho tiempo para realizarlo  La cosa no es tan simple como parece. Normalmente las aplicaciones utilizan código de terceros para realizar algunas de sus funciones. Ese código de terceros actúa como una dependencia de la aplicación. Para poder usar la aplicación hace falta instalar la aplicación y sus dependencias. ¿Qué ocurre si una versión concreta de la distribución no tiene esa dependencia? En ese caso se tiene un problema importante.

Para solucionar este problema aparecen los paquetes Click y Snap. El paquete Snap es la evolución del paquete Click y permite instalar una aplicación aunque la distribución no cumpla las dependencias mínimas para trabajar. El paquete Click se puede usar en los dispositivos móviles mientras que Snap se puede usar en cualquier distribución de GNU/Linux. Me gustaría recordar que Snap no es sólo un cambio en la forma de empaquetar las aplicaciones. La otra función que incluye Snap es el confinamiento de las aplicaciones. De forma simplificada, una aplicación confinada puede escribir sus datos únicamente en su carpeta de configuración. No puede acceder a la información de otras aplicaciones.

Ubuntu Touch

Después de esta pequeña introducción llega el momento de hablar de Ubuntu Touch. Los tres frentes que he comentado antes se unen en Ubuntu Touch. El servidor gráfico es MIR. Como escritorio se usa Unity 7 / 8 y como gestor de paquetes se usa Click. EL paquete Click se puede considerar como una versión inicial de Snap. Desde sus inicios Ubuntu Touch ha recibido actualizaciones con nuevas funciones y correcciones cada 6 semanas. Inicialmente apareció en varios teléfonos móviles y el año pasado en la tableta M10 de bq

M10 corriendo Ubuntu Touch

La convergencia  se empezaba a ver en algunos modelos y ya se podían usar algunas aplicaciones de escritorio de forma nativa. En este escenario no parece que hubieran muchos problemas con Ubuntu Touch. El sistema operativo recibía actualizaciones y tenía detrás una comunidad muy activa.

La caída

La convergencia se apoya en Unity, Mir y Snap. Estos tres proyectos requieren muchos recursos y aparentemente avanzan más lento de lo deseado. No hay que olvidar que Canonical es una empresa y busca ganar dinero. Se puede encontrar Ubuntu en el escritorio, en servidores y próximamente en IoT (Internet de las cosas). Tanto los servidores como IoT son mercados más rentables que el escritorio y la convergencia. Al final se han redistribuido los recursos para eliminar las partes del negocio menos rentables. Ésto incluye muchos trabajadores de Canonical que han dejado la empresa.

Junto al fin de la convergencia también ha llegado un cambio importante en el escritorio. Ubuntu 18.04 dejará de usar Unity como escritorio después de 7 años y volverá a Gnome. Como servidor gráfico se pasará a Wayland dejando Mir exclusivamente para IoT. Snap si que parece que tendrá más continuidad en el escritorio y en IoT. Con un único mensaje de Mark Shuttleworth se han dejado de lado casi 7 años de trabajo. Se aprovecharán algunas cosas pero el sueño de la convergencia que empezó con Unity ha llegado a su fin.

La comunidad

El mensaje del fin de Ubuntu Touch ha sentado como un jarro de agua fría y no ha dejado a nadie indiferente. La mayoría de los usuarios ha mostrado su pesar en la lista de correo del proyecto y han agradecido a todas las personas que han participado en Ubuntu Touch su trabajo. Puede parecer que éste es el fin del sueño pero nada más alejado de la realidad.

El proyecto UBports

 Logo de UBports

UBports es un proyecto que trabajaba en portar Ubuntu Touch a otros dispositivos como el FairPhone 2. Después del anuncio han tomado el testigo de Canonical y están trabajando en mantener Ubuntu Touch tanto para los dispositivos originales como para los ports que ya habían iniciado. La tarea que tienen por delante es grande y requerirá de mucho apoyo por parte de la comunidad. Se pretende mantener Unity aunque seguramente pasen a Wayland como servidor gráfico. De momento se queda fuera la convergencia y seguirán con los paquetes Click. Será un logro si consiguen mantener Ubuntu Touch en esas condiciones. Hay que recordar que son un grupo pequeño y no tienen los mismos recursos que Canonical.

Hay varias formas de colaborar con UBports. La primera es aportar dinero en su cuenta de Patreon. Aunque el software sea libre, los proyectos tienen gastos y éstos no se cubren con agradecimientos. La aportación mínima es de 2$ y ayuda a mantener el proyecto (personal, infraestructura, etc.). UBports también tiene un foro en inglés y un grupo de Telegram también en inglés. Os aviso que el grupo tiene mucho movimiento y puede ser complicado de seguir. Por esa razón está también el foro.

El curso

Dejo para el final la parte que me toca. Después de pensarlo un tiempo, voy a continuar con el curso de programación de Ubuntu Touch en español y en inglés. La mayor parte del curso se puede usar en aplicaciones de escritorio tanto en GNU/Linux como en Windows  Es una ventaja importante que Qt sea multiplataforma e independiente de Canonical. Lo que no trataré,  al menos de momento, son temas exclusivos de Ubuntu Touch. Prefiero ver como evoluciona la cosa antes de dedicar recursos a esos temas. Tengo previsto sacar una entrega nueva en castellano a final de mes. También traduciré al inglés los capítulos 3 (WebAps) y 4 (Introducción a QML).

Logo del curso de programación de Ubuntu Touch

Otro detalle importante es que he modificado la URL del curso. En estos momentos el mismo libro de GitBook incluye las versiones en castellano y en inglés. Hay un selector de idioma que traduce la información del curso y permite descargarlo en los formatos ePub, PDF y Mobi. Dejaré publicada la URL original con un mensaje apuntado a la nueva dirección.

Conclusiones

Espero con este artículo dejar medianamente clara la situación de Ubuntu Touch. No negaré que la cosa es complicada. Aunque UBports tome el testigo de Canonical, hacen falta muchos recursos y tiempo para llegar como mínimo al mismo nivel de desarrollo. Si consiguen el apoyo de la comunidad, hay mucha gente interesada en colaborar, pueden lograrlo. Por mi parte sólo puedo colaborar creando documentación para el desarrollo. Espero poder continuar con el curso y ayudar a Ubuntu Touch a que renazca de sus cenizas como un proyecto de la comunidad.

Por último me gustaría comentar que se pueden ejecutar aplicaciones QML en Android. Necesito tiempo para investigar, pero es interesante programar una aplicación y ejecutarla en Ubuntu Touch, GNU/Linux, Windows y Android, ¿no os parece?

Créditos

2 comentarios
  1. jesus
    jesus Dice:

    >Mir pasó a ser el servidor gráfico por defecto a partir de Ubuntu 14.04.

    No es factualmente correcto; Mir iba a ser el servidor gráfico por defecto cuando Unity 8 estuviera disponible para ordenadores, cosa que nunca se materializó.

    Responder
    • Miguel Menéndez
      Miguel Menéndez Dice:

      Hola Jesús.

      Lo he revisado y tienes razón. Había intención de ponerlo inicialmente en esa versión pero se fue retrasando. Tenía en la cabeza que Mir ya venía de serie en Ubuntu pero parece que la memoria me ha jugado una mala pasada.
      Ahora lo modifico en el artículo.

      Gracias por el aporte.

      Responder

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.