«The GNOME Way» es «The Fedora Way», el futuro del escritorio Linux
La semana pasada nos hicimos eco de una entrada publicada los blogs de GNOME llamada “The GNOME Way”, en la que Tobias Bernard exponía su punto de vista sobre el futuro del escritorio Linux. Dejando de lado la parte más áspera para aquellos que no tienen conocimientos de desarrollo de software, sus conclusiones en torno Flatpak, las extensiones de GNOME y el futuro del escritorio tradicional fueron muy claras.
GNOME 3, desde su primera aparición, ha dejado divididos a los usuarios en tres grandes grupos: los que defienden la experiencia por defecto, los que defienden la experiencia con extensiones y los que rechazan de plano su propuesta. Esta división también llega a los redactores de MuyLinux, J.Pomeyrol y yo, así que hemos decidido de exponer nuestras opiniones (la de Jose llegará más adelante) sobre la entrada publicada por Tobias Bernard.
A estas alturas no hace falta que diga que soy un férreo defensor de la experiencia por defecto de GNOME Shell, sin extensiones, y con el cuestionado Adwaita como tema. Por otro lado, no es ningún secreto que creo firmemente que la propuesta de Fedora, impulsada por Red Hat, es el camino correcto a seguir para el escritorio Linux, sobre todo porque aplica una visión uniforme que abarca systemd, Wayland, GNOME, Flatpak y PipeWire y por el avance hacia la automatizción sin sacrificar el concepto del software libre.
Tras exponer los antecedentes, no hace falta ser un genio para adivinar que comparto hasta cierto grado la visión de Tobias Bernard, aunque también discrepo totalmente con él en una de sus conclusiones más polémicas y no comparto al 100% lo que dice en la mayoría de apartados.
Flatpak sí es el futuro de la distribución de aplicaciones para GNU/Linux
Para empezar, y al igual que Bernard, yo sí creo que Flatpak es el futuro de la distribución de aplicaciones para GNU/Linux. La tecnología de paquetes sin dependencias tradicionales impulsada por Red Hat, gracias a que se publica y distribuye como un proyecto comunitario, abre un espacio neutral para que los desarrolladores puedan abarcar, al menos teóricamente, todas las distribuciones mediante una única compilación de su aplicación.
Aunque muchas personas apegadas a la filosofía Unix han rechazado Flatpak debido a la duplicación de bibliotecas, el formato de paquetes se ha convertido en un poderoso aliado para los desarrolladores, sobre todo los pequeños. Sé que esta afirmación puede resultar extraña para algunos, pero todo tiene una explicación.
Nos guste o no, GNU/Linux es la plataforma más elitista cuando se trata de desarrollar para ella, mucho más que macOS. La existencia muchísimas distribuciones, con cada una de ellas manejando versiones diferentes de las mismas bibliotecas, hace que el abarcar diversos sistemas GNU/Linux sea complicado para los desarrolladores, a veces incluso dentro de una misma distribución. Esta situación hace que los costes de desarrollar aplicaciones para GNU/Linux se eleven mucho, por lo que al final muchas aplicaciones se limitan a abarcar Ubuntu debido a que es la distribución más popular.
El problema de tener lidiar con las dependencias de las distribuciones no es algo que afecte demasiado a Microsoft o Google, porque las grandes corporaciones tienen medios económicos de sobra para dotarse de los medios necesarios, sino que los principales perjudicados son los pequeños proyectos, que no pueden hacer frente a semejante escenario y luego tienen que pedir o rezar para que las comunidades lleven sus creaciones más allá de Ubuntu.
Aquí es donde Flatpak entra en juego, porque permite que la compilación oficial de una aplicación pueda ser ejecutada, al menos en un principio, sobre cualquier distribución (aquí abarcamos otra conclusión de Tobias Bernard: Los desarrolladores de aplicaciones deben hacer sus propios paquetes). De hecho, las versiones de aplicaciones como Steam, Steam Link y LibreOffice son oficiales, por lo que el usuario puede disponer de la última versión de cada una de ellas de forma fácil y sin comprometer la integridad del sistema gracias a que Flatpak ejecuta las bibliotecas dentro de su propio entorno.
Flatpak tiene un gran rival: el formato Snap de Canonical. Sinceramente, desconfío mucho de Snap porque la distribución de los paquetes se centra casi en su totalidad en la Snap Store, que pertenece a Canonical, frente a un Flathub que es un repositorio independiente. El hecho de que la Snap Store centralice la distribución de aplicaciones daría a Canonical el poder para determinar qué aplicaciones se distribuyen no solo para Ubuntu, sino también para el resto de distribuciones que decidan utilizar Snap.
Aprovecho la ocasión para pedir a corporaciones como Microsoft y Slack para que publiquen compilaciones oficiales de sus aplicaciones en formato Flatpak (si es que deciden no alojarlas en Flathub), porque alimentar la Snap Store podría terminar derivando en una situación de monopolio perjudicial para los usuarios de GNU/Linux.
El escritorio tradicional no ha muerto
La conclusión más polémica de Bernard fue la de que el escritorio tradicional había muerto. Sinceramente, para mí el escritorio tradicional no ha muerto, sino que GNOME ha sumado otra propuesta al mercado que los usuarios de GNU/Linux pueden elegir.
GNOME Shell y su paradigma han suscitado muchos debates que han abarcado distintos temas, pero desde mi punto de vista, el rechazo de muchos usuarios se basa principalmente en un hecho: Que GNOME ha invertido la forma en que el usuario de GNU/Linux ha tendido a entender su escritorio.
El escritorio Linux ha tendido a ofrecer mucha personalización, pero poca automatización. El usuario siempre ha podido personalizar hasta el más mínimo detalle de su escritorio, pero luego incluso para realizar las tareas más sencillas tenía que tirar de la línea de comandos. GNOME 3 invirtió dicho paradigma, presentando un entorno de escritorio que no es, al menos en un principio, muy personalizable, pero que por debajo ejecuta una gran cantidad de servicios que al final terminan ofreciendo una experiencia bastante automatizada, minimizando de esta manera el uso de la consola (de ahí que Fedora Workstation tenga poca dependencia de la consola, a pesar de no contar con un panel a nivel de administrador como Yast).
Por otro lado, pienso que el concepto de escritorio propuesto por GNOME Shell ha sido incomprendido. Muchas personas se empecinan en usar GNOME Shell como un entorno tipo Windows, sin entender que fue concebido para ser usado mediante ventanas flotantes que el usuario tiene que organizar a través de los espacios de trabajo, de ahí que carezca de una barra de tareas tradicional.
El poner a disposición solamente las opciones necesarias es para muchos un inconveniente, pero yo lo veo como una ventaja porque elimina distracciones innecesarias, ayudando al usuario a centrarse en la tarea. Tanto Adwaita como la eliminación de elementos del entorno van encaminados en esa misma dirección, y después de años de uso, puedo decir que los desarrolladores de GNOME han logrado con creces dicho objetivo, aunque eso no quita que haya algunos aspectos por pulir.
Pese a todo, creo que el escritorio tradicional seguirá entre nosotros por muchos años (por no decir décadas). Solo hay que ver el reciente Steam Deck, que ha apostado por KDE Plasma como entorno de escritorio (y probablemente interfaz secundaria) probablemente por su similitud con Windows a nivel de diseño, la más fácil de reconfiguración de Kwin en algunos aspectos frente a Mutter y el hecho de que tiene la puerta abierta a tener Wayland a pleno rendimiento en un futuro cercano.
Si bien mi preferencia es clara, mi visión del escritorio Linux no se limita a GNOME. He apoyado muchas veces (espiritualmente) a KDE Plasma en su transición a Wayland, y Discover, bien implementado, es capaz de ofrecer una experiencia de instalación gráfica tan buena como la de GNOME Software. Como alternativa a los dos grandes para ordenadores modestos me decanto por MATE, que uso en mi discreto netbook Atom.
Los temas para personalizar el acabado estético del escritorio son un disparate
Tobias Bernard dijo que “los temas que abarcan todo el sistema son una idea rota”, y personalmente, estoy de acuerdo con él, aunque posiblemente no desde la misma perspectiva.
Jose dio en el clavo cuando dijo en agosto de 2020 que soy una persona que se adapta al entorno y no al revés. Esta visión no solo deriva del uso de la implementación base de GNOME Shell, sino también de mi mala experiencia cuando cambiaba el tema usado de manera predeterminada por el entorno de escritorio.
En tiempos pasados, tras cambiar el tema del escritorio o modificarlo descubría que había cosas que no estaban en su sitio, como letras blancas sobre un fondo gris claro o letras negras sobre un fondo azul oscuro, y eso cuando los elementos no se salían de su ubicación, rompiendo totalmente el diseño de la aplicación que tenía delante. Aquello me hizo reacio a cambiar el tema por defecto salvo en Ubuntu 18.04, ya que Ambiance luce horrible en GNOME Shell y Yaru, el tema por el que lo sustituía, es oficial y mantenido por Canonical.
Por lo demás, es que no cambio nunca el tema por defecto. En Debian con GNOME y Fedora Workstation dejo Adwaita, en Debian con MATE dejo el Menta personalizado que trae, en Manjaro KDE dejaba Maia, en KDE neon dejaba Brisa/Breeze, y siempre veo que todo está en su sitio salvo contadísimas excepciones. No, no me parece una buena idea personalizar el aspecto estético, pero eso no quita que esté a favor de la presencia de una tema Adwaita oscuro que sea fácil de establecer en GNOME.
Para cerrar el tema de la personalización, ni Windows, ni macOS, ni Android, ni iOS ofrece el nivel de personalización de GNU/Linux, lo que me lleva a la siguiente pregunta: ¿es la personalización una característica que hará triunfar al escritorio Linux? Mi respuesta es un contundente no, y eso no quiere decir que KDE Plasma tenga que traicionarse a sí mismo, pero es obvio que lo que busca la mayoría de los usuarios es facilidad, comodidad, automatización y un aspecto bonito.
Las extensiones merecen un mejor trato, pero no para personalizar el entorno
Bernard dijo que las extensiones de GNOME serán un nicho y que, en caso de buscar un impacto real, lo suyo sería contribuir directamente al entorno. Yo, en cambio, creo que las extensiones merecen un mejor trato, pero no para transformar la experiencia ofrecida por la implementación base del escritorio.
La mayoría de la gente usa extensiones para modificar la experiencia con el entorno, intentando muchas veces tener una disposición tipo Windows. Para tener un escritorio tipo Windows, creo que sería mejor usar otro entorno, y aquí es donde entra KDE Plasma para ofrecer una experiencia de ese tipo, añadiéndole potencia, versatilidad, optimización y con las vistas puestas en las tecnologías del futuro para el despliegue de gráficos en GNU/Linux (Wayland y las bibliotecas que los acompañen).
No desprecio todas las extensiones, porque algunas como GSConnect, el porcentaje de la batería del Dual Shock 4 (ojalá algún día soporte el DualSense) y el de GameMode aportan cosas de utilidad, pero aquellas orientadas a convertir el dash en un dock o que introducen bandejas del sistema se dedican a forzar a GNOME Shell para que trabaje de una manera para la que no fue concebido.
Conclusión: Tobias Bernard acierta en muchas cosas del qué, pero poco del cómo
La relación entre Fedora, Red Hat y GNOME es muy estrecha. Esto no solo vincula al entorno de escritorio y las correspondientes distribuciones, sino también a tecnologías como PulseAudio, PipeWire, Flatpak, systemd y Wayland. Con esto sobre la mesa, queda en evidencia que la postura de Tobias Bernard está bastante influida por ese factor, a pesar de que él es empleado de Purism.
A través de “The GNOME Way”, Bernard señala indirectamente hacia la creación de un framework unificado para GNU/Linux que abarca bastantes componentes, demasiados para algunos, pero en mi opinión los necesarios. Si queremos que GNU/Linux triunfe en el escritorio, no queda otra que establecer una visión uniforme que abarque distintas tecnologías para que estas trabajen en forma conjunta y uniforme, y ya que aquí nadie se pone de acuerdo, la única vía que queda es la de la imposición, que es lo que está ocurriendo.
Sin embargo, no soy partidario de que ese framework deje fuera al escritorio tradicional, y viendo que tampoco lo soy de la personalización de GNOME, lo mejor es dejar la puerta abierta para que entornos de escritorio “tradicionales” puedan acoplarse a dicho framework, cosa KDE Plasma está haciendo.