Principales problemas de Linux en el escritorio

Hace algún tiempo me topé con la página personal de Artem S. Tashkinov, un administrador de sistemas que se define a sí mismo como un entusiasta del FOSS, y que a lo largo de los años ha ayudado a resolver multitud de errores y problemas que afectaban tanto al kernel como a otros componentes de GNU/Linux. Cuando lo leí quedé fascinado, pues me pareció que su crítica constructiva es precisamente el aspecto del que más adolece nuestro sistema operativo preferido. «Harían falta más Artems», pensé. En los comentarios suscitados por mi último artículo, traje a colación este escrito, el cual no ha tenido excesiva difusión en el mundo de habla hispana, probablemente por carecer de una traducción correcta, pues emplear el «gadget» que incorpora la propia web para este menester nos da un resultado francamente ridículo. Encontré, no obstante, una mención en el blog Alcance Libre, pero algo desactualizada ya.

El artículo original es muy extenso y profundiza en aspectos que no todo el mundo domina. Con esto quiero decir que hay palabras técnicas y ejemplos que, tal vez, solo los Informáticos y personas que se dedican al desarrollo de aplicaciones podrán entender. No lo voy a traducir entero, pero creo que el resumen nos da un buen punto de partida para comprender lo que algunas personas sentimos hoy día que es mejorable en GNU/Linux. Algunos de los problemas que expone tienen solución; otros, sencillamente, son inherentes al mundo competitivo y salvaje en que vivimos. Ésos, creedme, no se arreglarán. Pero me callo ya, para que hable Artem:

Artículo original de Artem S. Tashkinov. Traducción de Enrique Bravo. El documento original, en constante revisión, se encuentra en este enlace.

Prefacio
En este artículo en continua actualización, que constituye sin duda alguna la lista de este tipo más fácil de entender en todo Internet, únicamente se discuten los problemas principales y las deficiencias de Linux, que podrían ser la razón por la que mucha gente dice que las distros Linux no están listas para su uso como sistema de escritorio. Si bien, todo el mundo debería tener en mente que hay parcelas donde Linux ya ha superado a otros sistemas operativos: un manejo de paquetes excelente, soporte para múltiples plataformas y arquitecturas «out of the box», una excelente estabilidad (por lo general), inexistencia de virus o malware de amplia difusión, casi nunca se precisa una reinstalación completa del sistema, aparte de que Linux es altamente personalizable, resulta fácil crear «scripts» y es gratis.

Una vez más, debo reiterarlo, este artículo trata principalmente sobre distribuciones Linux, si bien muchos problemas de los que se citan afectan también al kernel.

No se trata de una comparación Windows contra Linux, aunque a veces se pueden tomar comparativas con Windows o Mac OS como punto de referencia (después de todo, su penetración en el mercado es, por mucho, mayor). La mayoría de problemas que se detallan son de naturaleza técnica, si bien otros son de tipo «político» (no lo digo yo, así los llaman otros) – como, por ejemplo, cuando las compañías se niegan a proporcionar datos, o los dan incompletos, sobre temas de hardware, de modo que los usuarios de Linux no pueden beneficiarse de todas las características, o los controladores tienen errores que casi nadie en la comunidad Linux es capaz de resolver.

Quisiera que una cosa quedara totalmente clara: Windows, en algunos aspectos, es incluso peor que Linux y tampoco está preparado para ser usado como sistema de escritorio. Por poner algunos ejemplos incontestables, cito de memoria: la creciente pesadez del sistema con el paso del tiempo, el sistema de ficheros y la jerarquía del registro (aún no he encontrado una sola aplicación seria que se pueda desinstalar de un modo limpio y completo), no existe un auténtico modo seguro, el uso como administrador del sistema no lo entienden ni lo entenderán la mayoría de usuarios, no existe un buen sistema de empaquetado (MSI es una abominación), no existe un modo de actualizar el sistema completo (incluyendo aplicaciones de terceros), la depuración de errores es muy complicada de hacer, en muchos casos en que Windows no arranca es casi imposible resolver el problema para un usuario normal… Windows depende del hardware (en especial, en sistemas con UEFI) y, en la mayoría de los casos no se puede actualizar el sistema de una forma segura (siempre quedarán miles de restos), etc.

Es posible que hayas oído muchas veces que Android supone el modo en que Linux ha conquistado el mundo, pues lo incorporan la mayoría de teléfonos inteligentes (que son, ciertamente, pequeños ordenadores especializados, mas no sistemas de escritorio). Sin embargo, hay dos cosas importantes que conviene considerar: primero, Android no es Linux (¿conoces a alguien que use Android en su ordenador de sobremesa o portátil?). Android solamente contiene un componente Linux: el kernel (en concreto, es una versión antigua para el año en que estamos, mantenida y soportada únicamente por Google). Segundo, Android no es un sistema de escritorio, es un sistema operativo para dispositivos móviles, tablets y otros artilugios táctiles. De modo que este artículo no trata sobre Android, sino sobre la plaga de distribuciones Linux y software libre y de código abierto incluido en dichas distros.

Miguel de Icaza, el creador de Gnome y Mono (N. del T.: sería más bien, co-creador de Gnome, en cualquier caso), opinaba sobre los problemas de Linux en términos parecidos. Dejó de usar Linux en 2012, y decía lo siguiente sobre su Mac: «Desde el punto de vista tecnológico, estas vacaciones de tres semanas han resultado muy relajantes. Mi equipo suspende y vuelve de la suspensión sin problemas, el WiFi funciona, el sonido nunca ha dejado de funcionar, he pasado tres semanas sin tener que recompilar el kernel para arreglar esto o aquello, sin pelearme con los controladores gráficos, o hacer frente a la extraña y aleatoria pérdida de velocidad que sufría mi ThinkPad». De este modo subrayaba alguna de las áreas más problemáticas de Linux. Recientemente, Linus Torvalds expresaba su absoluto descontento con el estado actual de Linux en el escritorio.

Los desarrolladores de Ubuntu decidieron impulsar a su sistema como una plataforma de juegos viable, identificando los problemas que deben resolverse para alcanzar dicha meta. Increíblemente, la lista que han publicado coincide con la que vas a leer más abajo, casi palabra por palabra.

Algunos desarrolladores de Fedora propusieron realizar cambios en la distro en aras de proveerla de APIs y ABIs estables que evitaran regresiones en la medida de lo posible.

Algunas consideraciones importantes a tener en cuenta antes de leer esta lista:

– Si crees que Linux es perfecto y no tiene problemas, por favor, cierra esta página.

– Si crees que cualquier crítica a Linux solo busca perjudicarlo, por favor, cierra esta página.

– Si crees que el propósito de este artículo es probar que «nunca funciona nada en Linux, o que Linux es casi inutilizable», te equivocas, por favor, cierra esta página.

– Si crees que Linux y sus usuarios pueden vivir y trabajar bien sin programas y juegos comerciales, por favor, cierra esta página.

– Si crees que estoy aquí para promocionar Windows o Mac OS, por favor, cierra esta página.

– Si crees que estoy aquí para proclamar mentiras  y sembrar miedo, incertidumbre y dudas sobre Linux, por favor, cierra esta página inmediatamente y no vuelvas nunca más. ¿Qué estás haciendo aquí, a todo esto? Por favor, vuelve a tus «flame wars» y tus difamaciones.

Ten en cuenta que esta lista sirve al propósito de descubrir qué hay que arreglar en Linux, más allá de solo señalar los fallos que tiene.

La lista (resumida) de problemas
(N. del T.: tenéis la lista completa, completísima de hecho, en el enlace original)

1. Falta de estabilidad, errores, regresiones, regresiones y regresiones. Hay una increíble cantidad de regresiones, tanto en el kernel como en las aplicaciones de escritorio. Cuando las cosas parece que funcionan bien, se rompen de un modo inexplicable; algunas regresiones pueden conllevar la pérdida de datos. Básicamente no existe el control de calidad sobre las regresiones en la mayoría de proyectos de FOSS (kernel incluido). Microsoft, por ejemplo, informa que Windows 8 fue probado durante 1.240.000.000 horas, mientras que cada nueva versión del kernel recibe, calculo yo, menos de 10.000 horas. Y cada nueva versión del kernel de Linux puede compararse a una nueva versión de Windows. Los errores graves, los que impiden el flujo de trabajo normal, pueden estar años sin resolverse. Un montón de hardware de crucial importancia, como GPUs y tarjetas WiFi, no funcionan correctamente.

2. Problemas de hardware. Bajo Linux, muchos dispositivos y sus características asociadas están mal soportadas, o no soportadas en absoluto. Hay hardware (adaptadores WiFi Broadcom, por ejemplo) que no se puede usar a menos que ya poseas una conexión a Internet que funcione. El hardware nuevo es soportado, a veces, meses después de su aparición. Los programas especializados, para el manejo de dispositivos como impresoras, escáneres, cámaras, webcams, reproductores de sonido, teléfonos inteligentes, etc. casi nunca están disponibles, de modo que no serás capaz de acceder con plenas garantías a tu nuevo iPad o actualizar el firmware de tu Galaxy SIII. El soporte gráfico en Linux es un maldito embrollo porque las APIs/ABIs del kernel/X.org cambian constantemente, y las compañías como Nvidia, ATI, Broadcom, etc. no desean destinar recursos adicionales y desperdiciar su dinero solo para mantenerse al día con el continuo y absurdo ritmo de los cambios en el FOSS.

3. La falta de estandarización, la fragmentación, la falta de garantías y la excesiva variedad. Hay demasiadas distribuciones Linux con configuraciones, librerías y sistema de empaquetado incompatibles entre sí. Distros diferentes que emplean entornos de escritorio totalmente distintos, aplicaciones gráficas y de consola diferentes para configurar el escritorio, etc. Debian y derivadas, por ejemplo, te obligan a usar la utilidad de texto «dpkg-reconfigure» para hacer ciertas tareas relativas al mantenimiento del sistema.

4. La falta de cooperación entre los desarrolladores de software libre y las guerras internas. No existe un organismo central que regule el desarrollo de las distintas partes del software libre, lo que a menudo conduce a una situación en que los cambios introducidos por un proyecto termina por romper otros proyectos (el mismo problema se refleja en las APIs/ABIs inestables, que veremos ahora). Aunque el movimiento del software libre carece de suficiente mano de obra,las distintas distros siempre encuentran los recursos necesarios para realizar «forks» o proyectos alternativos (los desarrolladores de Gentoo van a crear una alternativa a udev; un desencuentro en ffmpeg llevó a la aparición de libav; la situación en OpenOffice y LibreOffice; la nueva alternativa a X.org/Wayland llamada Mir) y para usar sus propias soluciones (Ubuntu no usará systemd).

5. Un montón de rápidos cambios. La mayoría de distros tienen unos ciclos de actualización y lanzamiento demasiado cortos, tanto como seis meses en algunos casos. O, por ejemplo, Arch, que es una «rolling release», o Fedora, que se actualiza cada seis meses. Te bombardean constantemente con cambios que ni esperas ni deseas. Las distros LTS (de soporte a largo plazo) no son usables en la mayoría de los casos, debido a la política que emplean de mantener versiones muy antiguas de las aplicaciones de escritorio. Y, normalmente, no hay manera oficial de instalar versiones más nuevas (por favor, no me habléis de los PPAs y los backports, estos no son soportados oficialmente ni se garantiza que funcionen bien). Otro problema de las distros LTS es que los kernels que incorporan, muchas veces, no soportan el hardware más nuevo.

6. APIs/ABIs inestables y la falta de compatibilidad real. Es muy complicado usar software antiguo, ya sea libre o privativo, en las distros modernas. En muchos casos resulta imposible, debido a cambios en los componentes principales del kernel, en el compilador GCC o en glibc. La casi inexistencia de la retro-compatibilidad entre versiones hace que sea increíblemente difícil y costoso crear aplicaciones de código cerrado para distros Linux. El software libre que se queda sin desarrolladores activos o mantenedores, simplemente no sirve si sus dependencias no pueden cumplirse debido a librerías antiguas y obsoletas que ya no están disponibles. Por este motivo, por ejemplo, montones de aplicaciones de KDE3/Qt3 ya no están disponibles en las distros modernas, aunque no exista una alternativa válida. El desarrollo de controladores, más allá del kernel de Linux, supone un esfuerzo insoportable y caro. No hay alternativa a WinSxS para Linux, pues no hay un modo sencillo de instalar las librerías con conflictos.

7. Problemas de software. Hay pocos juegos, y muy pocos son grandes producciones. Los esfuerzos de Valve y la colaboración con los desarrolladores de juegos están llevando a la reciente aparición de juegos para Linux, sin embargo, miles de títulos se lanzan cada año exclusivamente para Windows. No existen programas de aspecto parecido a los de Windows, no existe MS Office (LibreOffice aún presenta graves problemas cuando se trata de abrir correctamente documentos escritos en MS Office), no hay un CIF nativo, que sea simple de configurar y usar, así como un sistema de compartición de archivos en red encriptado y protegido por contraseña, ni hay un equivalente para «Active Directory«.

8. Dinero, entusiasmo, motivación y responsabilidad. Predije, hace años, que los desarrolladores de software libre comenzarían a alejarse de esta plataforma debido a que ya no es un juego de niños, como antes, ya requiere cuantiosos esfuerzos y mucho tiempo. Digamos que la diversión se acabó, y los desarrolladores necesitan dinero real para que se pueda terminar el trabajo duro. El desarrollo de software libre, que carece de un respaldo financiero real, comienza a mostrar signos de fatiga y desilusión. Después de todo, se requieren desarrolladores motivados económicamente, pues los proyectos sin fondos comienzan a desaparecer y a dejar errores críticos sin resolver durante años. Siempre se puede decir que proyectos así no se echan de menos, pero el problema, en muchos casos, es que estos proyectos moribundos no tienen alternativas válidas o sus sucesores no están a la altura.

9. No hay brillo, no hay consistencia y no se siguen las HIG. Hasta los desarrolladores de KDE lo admiten.

Comentarios del autor (Artem S. Tashkinov)
Un montón de nuevos usuarios de Linux o aquellos que usan muy pocas aplicaciones, rápidamente desacreditan la lista completa diciendo cosas como «el sonido en Linux a mí me funciona bien» o «nunca he tenido problemas con el vídeo en Linux». ¿Sabes qué? Hay miles de usuarios que tienen grandes problemas porque tienen un hardware o usan un software diferente. Haceos un favor, visitad los foros de Ubuntu o Linux.com y contad el número de entradas que contienen «he borrado PulseAudio y solo ahora me funciona el sonido» o «finalmente he descubierto que puedo usar Nouveau en vez de los controladores privativos de Nvidia (o viceversa) y he arreglado el problema».

Hay otro punto importante que los críticos no comprenden. Si algo no funciona en Linux, a la gente le da igual de quién es la culpa. Automáticamente asumen que es culpa de Linux. Para el usuario medio, Linux es solo un sistema operativo más, y no le importa que la compañía X no dé soporte a Linux o no desarrolle controladores plenamente operativos para Linux. El hardware que han pagado, simplemente, no funciona, ergo Linux no funciona. A la gente no le importa que Skype se cuelgue cada cinco minutos en determinadas circunstancias, aunque en realidad Skype es un pésimo programa con montones de errores y cuelgues incluso bajo Windows y Mac OS.

Quisiera aclarar un concepto normalmente mal entendido sobre que el soporte a hardware antiguo es mucho mejor en Linux que en Windows. En parte es cierto, pero también falso. Por ejemplo, ni los Nouveau ni los controladores propietarios de Nvidia tienen buen soporte para las antiguas GPUs de Nvidia. La aceleración de hardware en Nouveau no existe, y el blob de Nvidia no soporta muchas características esenciales de Xandr o funciones requeridas por los escritorios modernos de Linux, como Gnome 3 o KDE 4. En el caso de que tu hardware antiguo aún esté mágicamente soportado, los controladores Linux casi siempre ofrecen solo una pequeña porción de las características que encuentras bajo Windows, de modo que decir que el soporte es mejor en Linux, solamente porque no has de pasarte 20 minutos instalando controladores, es, como mínimo, injusto.

Algunos comentarios me dejan de piedra: «Es horrible, el artículo está lleno de medias verdades y opiniones personales. Si Nvidia no funciona bien, no lo uses, usa Intel o cualquier otra cosa». ¡Y una mierda, señor mío! ¿Me compré el portátil para disfrutar de juegos con Wine o hacer arranque dual con Windows y usted me dice que no me lo tendría que haber comprado? Le sugiero, cortésmente, que no imponga su opinión a otras personas que a lo mejor encuentran diversión jugando a juegos de gran calidad. Decir que SSHFS puede reemplazar a Windows File Sharing es lo más ridículo que he oído en toda mi vida.

Es preciso recalcar que los participantes que más se hacen oir en la comunidad del software libre son extremadamente insidiosos y gente exageradamente idealista, que demandan continuamente que todos los programas sean de código abierto y gratis, o de lo contrario, no hay razón para que existan en Linux. Con actitudes como esta no sorprende que un montón de compañías ignoren y rehuyan al escritorio Linux. Linus Torvalds habló en una ocasión sobre esto: «Hay extremistas en el mundo del software libre, ése es uno de los motivos principales por los que ya nunca digo que hago software libre. No quiero que se me asocie con gente para la que el software libre representa exclusión y odio».

Lo más importante es que esta lista no es una opinión. Casi cada punto listado aporta enlaces a los respectivos artículos, hechos y discusiones que prueban mi afirmación. (N. del T.: se pueden consultar dichos enlaces en el extensísimo artículo original).

El lado positivo
Si por leer este artículo tienes la impresión de que Linux es un asco, estás completamente equivocado. Si tuviera que crear una lista de los problemas de Windows sería casi tan larga como esta. Los problemas inherentes a Windows son casi imposibles de solucionar, a menos que Microsoft volviera a reescribirlo desde cero. Los problemas de Linux son, en realidad, abordables.

Por fortuna, en la actualidad hay varios proyectos en desarrollo que pretenden unir el escritorio Linux y hacerlo verdaderamente moderno y unificado. Como son systemd, Wayland, el sistema único de ficheros propuesto e implementado por Fedora, y otros más. Valve ha desarrollado Steam (plataforma de distribución de juegos) para Linux, abriendo la puerta a la posibilidad de que se hagan verdaderos juegos de primera clase para este sistema (han prometido portar todos los grandes juegos de Windows a Linux a lo largo de 2014, la mejor noticia en el mundo de Tux en los últimos 10 años). Nvidia está estudiando opciones para soportar Optimus bajo Linux. Linus Torvalds cree que las APIs en Linux se han vuelto mucho más estables, aunque yo no comparto su optimismo. Los desarrolladores de Ubuntu me han escuchado y han creado un formato de paquetería unificado.

Postdata
A veces encuentro motivos de sobra para decir que Linux es un asco y que lo odio con todas mis fuerzas. A Lennart Poettering le importa un carajo cómo quiero usar mi sistema (N. del T.: se refiere a dos errores reportados por él que no han obtenido respuesta satisfactoria, en su opinión). «Soy desarrollador, sé mejor que nadie lo que quieren los usuarios y cómo usan su sistema y sus programas», es lo que dice el desarrollador medio en Linux. El resultado final es que la mayoría de novedades provocan el asco y el enfado general. Gnome 3, Unity y KDE 4.0 son los ejemplos perfectos de esta tendencia a fastidiar al usuario en Linux.

Fin de la traducción del artículo original —————————————-

Bueno, se podrá estar más o menos de acuerdo con lo que expone, pero no me negaréis que el artículo está trabajado y que sabe de lo que habla. Desde mi punto de vista hay cosas que no soy capaz de rebatir por falta de conocimientos, pero hay otras muchas que no tengo más remedio que aplaudir, aunque no me gusten. En realidad, Tashkinov inició esta lista hace varios años, y con el transcurrir del tiempo ha ido eliminando gran cantidad de cosas que ya se han conseguido solucionar. No obstante, la lista sigue siendo muy larga.

En particular, por rebatir algo, no entiendo por qué considera que cada versión del kernel de Linux es comparable a un nuevo Windows. Diría que no cabe comparación posible, del mismo modo que el cálculo que presupone de las horas dedicadas al testeo del kernel no sé de dónde lo saca.

Quizás la parte con la que estoy más de acuerdo es aquella en que expone el problema que un lector señalaba en los comentarios del artículo anterior publicado en este blog. Tú puedes instalar con total comodidad la versión más actualizada del programa X en Windows XP (trece años después de su lanzamiento), pero te las ves y te las deseas para hacer lo mismo en Debian estable. Mucha gente, y me incluyo, desea un kernel y unos componentes centrales del sistema estables y duraderos, pero también quiere poder usar las nuevas versiones de aplicaciones, cuando éstas incorporan funcionalidades que no traen las versiones anteriores. En su opinión, backports y PPAs no funcionan bien… algo que también es rebatible, según qué casos.

El objetivo de publicar esta traducción/resumen en LSDH es mover a la reflexión y al debate. Soy plenamente consciente de que es muy fácil que dicha discusión derive en «flamewar», pero estoy dispuesto a correr ese riesgo. Señalar los defectos de aquello que disfrutas, con el noble propósito de que pueda mejorar algún día, no me parece una mala práctica. Siempre podremos optar por ponernos una venda y arremeter contra todo aquello que supone una crítica constructiva hacia nuestro sistema operativo preferido, aun cuando dicha crítica provenga de personas que han dedicado muchas horas de su vida al desarrollo del mismo. Ello nos convertiría, en mi humilde opinión, en parte del problema.

Anuncio publicitario