El fracaso de Linux en el escritorio (segunda parte)

Hace más de un año que escribí mi post sobre el fracaso de Linux en el escritorio, que fue una publicación más que densa en la cual quería explicar los múltiples factores que han hecho que GNU/Linux fracasara en este sector, y la verdad es que este tema da para mucho debate.



La semana pasada mi colega Jose Pomeyrol publicaba unas declaraciones de Linus Torvalds en las que decía que no renunciaba al escritorio, cosa que me pareció muy loable por su parte, pero pocas personas que no somos ingenieros podemos coincidir con su comentario: “Es un problema de infraestructura en general. Creo que algún día lo conseguiremos“.

El problema que tienen muchos ingenieros informáticos, sobre todo los que giran en torno a Open Source y el Software Libre, es su nula visión de mercado, que se transforma en una falta de empatía hacia otros perfiles de informáticos, ya sean usuarios comunes e incluso cualquier rango de técnico, desde los “mecánicos” de ordenadores hasta técnicos superiores que podrían ser un administradores de sistemas o bien gente fuertemente especializada en algún área, como .Net de Microsoft o Java.

El problema que tiene Linux no es de infraestructura, que de eso tiene de sobra y desde hace milenios para construir un sistema desktop más que competitivo, y de hecho tenemos en openSUSE y Ubuntu dos muestras que en mi opinión pueden perfectamente ser un alternativa para OS X y Windows, a los cuales solo les falta algunas herramientas profesionales como la suite de Adobe y Autocad.

Volviendo al tema de los ingenieros y su falta de visión de mercado (evidentemente, estoy generalizando, así que pido disculpas), es que terminan por rendir culto al software, haciendo que el software en sí mismo parezca más bien una especie de religión que es difícilmente comprensible por la gente que no está dentro del círculo, esa visión del software donde se hacen cambios con más espíritu que razón, sin que haya una razón lógica y aun menos técnica que los justifique.

Donde Linus Torvalds ve “problemas de infraestructuras”, yo veo más bien “problemas estructurales”, porque el problema de GNU/Linux no es que no tenga infraestructuras para crear un gran sistema para el desktop, es que la estructura del sistema es un mutante que la mayoría de las veces cambia por cambiar. Donde Linus Torvalds ve falta de infraestructuras yo veo falta de estándares y de API estables, y es que ahí tengo que reconocer que Miguel de Icaza, a pesar de que no me cae nada bien, tiene más razón que un santo en este aspecto.

El problema es que muchos cambios son un sinsentido, no hay manera de cogerlos. Un claro ejemplo es PulseAudio, es una buena idea, pero Red Hat se empecinó en implementarlo cuando aun estaba muy verde. Años después sigue siendo problemático en muchas tarjetas de sonido, de hecho solo el netbook se libra de problemas derivados del servidor de audio. ALSA era un dinosaurio, pero funcionaba, y aunque PulseAudio ha ayudado a automatizar muchas cosas, mandó al carajo la mayor parte del soporte para tarjetas de sonido para GNU/Linux, haciendo que el perjuicio acabase siendo mayor que el beneficio.

Otro caso totalmente estúpido lo encontramos en libav, ¿qué diablos pretende la comunidad de Debian (y en consecuencia Canonical) queriendo sustituir algo que funcionaba perfectamente como ffmpeg?, esto es el colmo del ridículo, y fruto de esta bifurcación vi que no podía reproducir WAV en Clementine sobre Ubuntu, así que tuve que buscar una forma de parchear el soporte multimedia, cosa que encontré y que yo mismo publiqué en MuyLinux. Una situación estúpida que era totalmente evitable si no se hubiesen llevado a cabo una serie de cambios que nadie demandaba, excepto, como no, los propios desarrolladores de Debian.

La falta estándares y de unas API más estables han sido los cimientos perfectos (aunque son más bien unas arenas movedizas) para descontrolar aun más la descontrolada fragmentación en GNU/Linux, haciendo que surjan cientos y cientos de distribuciones totalmente incompatibles entre si, que implementan todo tipo de elementos diferentes, haciendo que el desarrollo y avance del sistema sea tremendamente lento y lleno de trabas bastante ridículas. Esto no solo alcanza a las distribuciones, sino también afecta a los blobs de nVidia y AMD, los cuáles pueden corromper el kernel si los cambios que se implementan en este terminan siendo incompatibles con sus drivers, cosa que le hace un muy flaco favor a GNU/Linux en el desktop.

La gente que rinde culto al software no termina de ver que si quieren hacer que su producto sea masivo lo primero que tienen que hacer es volverlo práctico y útil, y sino que se fijen en Google, que se ha preocupado sobre todo de que Android sea útil, y curiosamente su modelo Open Source mantiene muchos estándares, haciendo que todas las bifurcaciones sean compatibles entre si, volviendo este sistema mucho más atractivo que GNU/Linux para los desarrolladores. Este modelo de bifuración es el que tuvo que haber imperado en nuestro sistema favorito, pero sin embargo se optó la Ley del Salvaje Oeste, donde todo el mundo hacía lo que le daba la gana y como le daba la gana.

Systemd, la gran esperanza

Systemd es sin duda la gran esperanza de GNU/Linux, un framework de sistema que oficialmente pertenece a freedesktop.org, pero de facto pertenece a Red Hat, siendo esta empresa la gran valedora de esta tecnología y la que más lo ha impulsado a través de Fedora.

Systemd es sin dudas uno de esos cambios que se justifican en GNU/Linux, lejos de otros como el de ffmpeg en Debian. Systemd está destinado a dar lo máximo del kernel Linux y no solo eso, también ayuda a hacer la administración del sistema más sencilla. Vamos, que estamos delante un cambio que objetivamente es mejor y que es totalmente justificable, ofreciendo notables y contrastadas mejoras frente a sysvinit, mejoras que hasta un usuario común puede apreciar con tan solo ver el veloz arranque y apagado de Fedora. Ubuntu con su Upstart apaga más o menos a la misma velocidad, pero arranca mucho más lento, más cuando tengo el blob de nVidia instalado, ya que es en mi desktop, curiosamente el ordenador más potente que tengo, donde arranca más despacio, ya que en el netbook uso el driver para las gráficas de Intel mientras que en laptop Toshiba uso el driver libre para las tarjetas ATI/AMD.

Systemd no solo ofrece mejoras más que notables, sino que también ha sido un duro golpe en la mesa que ha abierto las puertas hacia algo que parecía imposible hace unos años, un GNU/Linux estandarizado. Sin embargo no han tardado en llegar las críticas diciendo que eso va contra la libertad, que Linux deja así de ser Software Libre, etc, etc. El debate está más que servido, porque por un lado están los defensores de la libertad, que quieren que GNU/Linux siga siendo Texas en el Siglo XIX, mientras otros sostenemos que es necesaria una estandarización para ofrecer un producto de más calidad, y sobre todo, para ofrecer una base sólida con el fin de poder crear un producto que pueda llegar a las masas.

El problema que tienen las personas que rinden culto al software es que están haciendo chocar un argumento filosófico frente a algo técnico, y aquí no estamos hablando de la Convención sobre los Derechos Humanos, estamos de software, y el software es una herramienta, o sea, estamos haciendo chocar algo que no tiene fundamento con otra cosa que si la tiene, así que está claro que será a nivel práctico más útil, porque una cosa hay que dejar bien clara, el software no tiene derechos, no es un ser vivo, no es un ecosistema con seres vivos que es mejor proteger, porque si el ser humano destruye la Tierra se irá con ella, estamos hablando de algo que es una herramienta que sirve tanto para usar el ordenador como para hacer tareas con él.

Ha tenido que ser Red Hat que, golpeando la mesa con puño de hierro, ha tenido que imponer el primer atisbo de estandarización de GNU/Linux.

Es una pena que esto no llegase a finales de los 90 en vez de ahora, porque GNU/Linux lo tiene ahora muy difícil hacerse hueco ante una Microsoft cuyos estándares de calidad ahora están por las nubes, muy lejos de lo que ofrecía la empresa en los sistemas anteriores de Windows 7, donde a Microsoft le importaba una mierda reírse del usuario con toda aquella tecnología basura, con un sistema al que se le colaba todo, con una degradación simplemente brutal que volvía el sistema operativo inestable a los pocos meses como fueses un poco curioso, fragmentación del disco duro brutal, etc. GNU/Linux, por desgracia, ha llegado demasiado tarde, ese ha sido su principal error en el desktop, llegar tarde cuando por fin empezó a tener unos mínimos de calidad en ese área.

Yo no llevo usando GNU/Linux desde antes del nacimiento de Jesucristo, de hecho soy un usuario más bien reciente comparado con otros, ya que empecé en 2007, y fue mi compañero de piso quien me invitó a probarlo después de padecer un profundo dolor y sufrimiento por culpa Windows Vista, que hacía que mi recién estrenado portátil Toshiba (Intel Core 2 Duo) pareciese una tortuga al lado de mi desktop, que por entones tenía un Pentium IV sobre una asquerosa ASRock. Ahí conocí Ubuntu, que si bien por entonces apenas reconocía buena parte del hardware (aunque la wifi Intel si, mira por donde, e iba mejor que en Vista) al menos aprovechaba mejor las capacidades del ordenador a nivel de CPU y RAM.

Por entonces vi como una conexión VGA podía ser una pesadilla que te podría forzar a formatear, ya que en alguna que en alguna que otra ocasión perdí la señal tras conectar mi monitor externo, siendo incapaz de recuperarla. Daba igual si conectaba el monitor externo o no, era imposible tener señal de vídeo, así que era imposible leer los resultados.

También he tenido historias con particiones de Windows que se me corrompían si no las desmontaba antes de apagar el ordenador, así que ya os podéis imaginar la de disgustos que me he comido en este sentido, muchísimos, y la verdad es que era algo muy deprimente.

Por suerte en 2009 vi aquellos fantasmas desaparecidos, ALELUYA, GNU/Linux por fin era usable como desktop. Ya no tenía de qué preocuparme, todo ha sido relax y disfrute casi todo el tiempo desde entonces, con un mantenimiento irrisorio. Por el mismo año salió Windows 7, el cual casi me conquista, pero tras una migración vi que ya no me sentía cómodo con ese sistema, así que me quedé en GNU/Linux.

Es sorprendente como a GNU/Linux le ha costado la friolera de 18 años ser viable en el desktop, pero claro, buena parte de la culpa de esto la tiene la brutal fragmentación y la filosofía, que ha dividido esfuerzos en vez de sumar, porque si, quizá Microsoft tenga algo de culpa en el pobre (bueno, hoy en día quizá no tanto) soporte de hardware que tiene GNU/Linux, pero no tiene la culpa de que el sistema fuese inútil como desktop, eso es un problema del diseño del sistema operativo, y para cubrir este área GNU/Linux los tiene y bien gordos, y cualquier power user que tenga contacto con GNU/Linux ve lo mismo que veo yo, falta de estándares y unas API más estables.

Systemd ha abierto la puerta hacia algo que era impensable con sysvinit, soluciones que valen para varias distribuciones. Al menos yo he resuelto varios problemas con Fedora y openSUSE con la wiki de Arch Linux.

Ya era hora de que hubiese soluciones más universales.

Wayland y Mir, la pesadilla

Si systemd es la gran esperanza de que en GNU/Linux haya estándares (o algo que se le acerque), curiosamente casi en paralelo a la victoria del framework de sistema frente a sus principales rivales, sysvinit y Upstart, Canonical decidió dar un giro que ha provocado uno de los más agrios debates en la historia de GNU/Linux, anunciaba que creaba su propio servidor gráfico, Mir, divorciándose de Wayland, que iba a ser el único y oficial sucesor del dinosaurio de Xorg.

Canonical expuso una serie de motivos técnicos que la han empujado a optar por su propia solución, que fueron eliminados a las pocas horas de aparecer al ser literalmente aplastados por los argumentos de los desarrolladores y defensores de Wayland.

La batalla entre Mir y Wayland no solo ha provocado uno de los debates más agrios en años en el universo de Linux, sino que encima puede incluso borrar el GNU/Linux de escritorio, ¿por qué?, muy sencillo, ahora los desarrolladores de drivers para tarjetas gráficas tendrán que hacer, muy probablemente, dos drivers, uno para Mir y otro para Wayland, significando la partición en dos del soporte gráfico de GNU/Linux.

Que un componente tan básico como el servidor gráfico esté fragmentado en GNU/Linux es una maniobra suicida de muy difícil comprensión. Con un GNU/Linux que necesita estandarizarse de forma urgente, los señores de Canonical han preferido sumirse en la demencia y enviar un ultimátum a Intel, AMD y nVidia, o ellos o nosotros, cosa que llega a sonar a chiste de una empresa que no es ni la mitad que Red Hat, pero claro, Ubuntu tiene a más de la mitad de los usuarios de GNU/Linux de escritorio, el Steam para Linux es en realidad Steam para Ubuntu, o sea, que Canonical es consciente de su posición dominante en el mercado desktop en GNU/Linux, aunque este no le reporte beneficios.

El gran problema de fragmentar el soporte gráfico es existe la posibilidad de que nadie quede contento con el resultado. Ante el deber de tener dar soporte a Mir y Wayland, posiblemente nVidia y AMD dediquen la mitad de los esfuerzos que emplean hoy en Xorg, ya que la actual cuota de mercado GNU/Linux no justifica un aumento de plantilla, ya que no garantiza que se vaya a recuperar la inversión y eso hará que todo GNU/Linux acabe con un soporte de hadware inferior a nivel de chips gráficos de lo que tiene actualmente, y es que GNU/Linux vuelve a enfrentarse a su principal cáncer, la fragemtanción descontrolada e injustificada, que termina perjudicando más aportando al conjunto, y esto es algo que cada día en lo que más personas están de acuerdo.

¿Qué somos los usuarios para Red Hat y Canonical? Basura

Si, no se me ha colado la palabra, eso somos para Canonical y Red Hat, que son los principales responsables de las trifulcas montadas por el tema del servidor gráfico. Y es que mientras que estas dos empresas se pican a ver quién la tiene más larga, los usuarios no somos más que carne de cañón para las personas que están tras esas empresas, y poco parece importarles que esto perjudique a aquellos inocentes que decidieron apostar por sus productos, parece que el término de satisfacción del cliente es algo que para ellos simple y llanamente no existe, al menos a nivel de desktop.

Esta batalla que podría mandar al infierno el GNU/Linux desktop no perjudica a Red Hat y Canonical, a ellos les da igual, su principal negocio son los servidores, ¿y quien usa un servidor gráfico en un servidor?, pues es muy difícil de encontrar, de hecho yo solo uso la interfaz gráfica en las máquinas virtuales cuando tengo que hacer un tutorial como los que publiqué sobre Samba en Ubuntu y openSUSE o cuando quiero mirar algo, luego generalmente cuando virtualizo GNU/Linux lo hago sin interfaz gráfica para poder ahorrar recursos, y es que es impresionante lo que puede dar de si un GNU/Linux de 32 bits con 512 megas de RAM cuando no tiene interfaz gráfica.

Todo esto hace que esta discusión llegue a un nivel más bien digno de niños de 5 años, ya que en el fondo esto no perjudica a esas empresas, la satisfacción que tengan los usuarios con Wayland y Mir en el fondo les importan una mierda, y eso repercute directamente en el porcentaje de cuota de mercado del escritorio, ya que es muy difícil hacer un producto de éxito entre las masas cuando su calidad te importa un pimiento, al menos que tengas un monopolio como Microsoft o que tengas una maquinaria de publicidad super potente como la que tiene Google para colar Android a todo el mundo, cuando este sistema es poco más que usable al lado de Windows Phone e iOS.

Conclusión

Nos encontramos ante un universo que lo único que entiende por usuario es una persona que usa un ordenador, sin embargo es incapaz de ver los distintos niveles de estos. Para ellos todo el mundo es ingeniero y debe de usar una consola de comandos hasta para orinar, y esto en el mundo real es simple y llanamente incomprensible.

Yo uso GNU/Linux a diario, de hecho ahora estoy en mi portátil Toshiba que solo tiene Ubuntu como sistema. Uso este sistema porque me gusta por lo que me aporta a nivel técnico, pero al igual que me gusta usarlo me gustaría verlo crecer, y los principales escollos que están frenando su evolución tienen más que ver con rencillas personales y el fanatismo de un conjunto de sectas que no entienden que el software no es un fin, no es algo a lo que rendirle culto, es una herramienta que se usa con el fin de obtener algo a cambio.

GNU/Linux es maravilloso, ha sido capaz de funcionar desde un smartphone hasta los superordenadores más potentes del mundo, su potencial está demostrado, pero yo quiero ver que todo ese potencial se convierta en potencia de verdad.

Comentarios

  1. Triste pero cierto, no hay mucho que añadir. Cada vez que intentas estandarizar algo en Linux(me la soplan los que me digan que se dice GNU/Linux), se te echan encima y te apalean.

    El creador de systemd propuso una nueva forma de contruír las distros Linux: http://lamiradadelreplicante.com/2014/09/01/el-creador-de-systemd-propone-una-nueva-forma-de-construir-los-sistemas-linux/ Y en el mismo artículo le criticaron en ir contra la filosofía de Linux.

    Y bueno, para rematar, Torvalds cargó contra la FSF en la Debconf: http://lamiradadelreplicante.com/2014/09/02/linus-torvalds-la-fsf-son-un-monton-de-fanaticos-locos/ Y no ha sentado nada bien a algunos....

    ResponderEliminar
    Respuestas
    1. Qué causalidad, no vi esos artículos y mira por donde, lo mío, que a veces es puro trolleo, no va desencaminado.

      Los problemas de GNU/Linux son más que evidentes, cualquiera que conozca un poco este sistema los ve, pero no hay voluntad de corregir lo que es obvio.

      Eliminar
    2. Ya ves, cada vez que alguien intenta poner orden en este mundo, los talibanes de la libertad atacan sin piedad.

      Eliminar
  2. Coincido en gran parte con el artículo. Lo que sucede actualmente en el mundo Linux, es que dos empresas (Red Hat, antiguo monopolio, y Canonical) están luchando por una posición en el mercado. Por eso para mí fue normal que Canonical tomará la decisión de desarrollar Mir, aún después de haber dicho que apoyaría con todo a Wayland. Red Hat tiene el monopolio sobre Wayland y eso lo sintieron muchas veces los chicos de Canonical: parches y parches sin ser agregados.

    Siempre he pensado que tomaron la decisión correcta, pues no puedes depender de quien es tu competencia directa. Saludos

    ResponderEliminar
    Respuestas
    1. Volvemos al tema del egoísmo. Como podrás ver, no me alineo, critico a todos y la falta de cooperación, me da igual de donde venga, pero de no ser por Red Hat GNU/Linux seguiría siendo la selva.

      De haber apostado por un modelo más cercano a BSD o Android estoy seguro que a finales de los 90 GNU/Linux ya habría tenido un sistema operativo más que sólido en el desktop, y la falta de copyright eliminaría barreras de distribución.

      Sin embargo se apostó por un modelo donde la gente bifurca mucho y suma poco, y eso ha lastrado mucho el desarrollo del sistema como desktop.

      Lo gracioso es que empiezo a leer hasta de fans del Software Libre reconocer que la fragmentación descontrolada no nos está llevando a ninguna parte, y como máximo exponente reciente tenemos en GNOME 3, cuya fragmentación en Cinnamon, GNOME Shell y Unity ha terminado por descomponer el entorno. GNOME ha sido simple y llanamente víctima de su propia filosofía.

      Entiendo que Canonical no quiera ser un corderito de Red Hat, pero sin unos mínimos que garanticen cierta calidad aquí no vamos a ninguna parte. Lanza ese mensaje de si Mir o Wayland a los fabricantes ha sido fallo que se puede terminar pagando muy caro, y no te creas que ahora AMD y nVIdia van a poner el doble de personal para hacer dos drivers para un sistema que no alcanza el 3% de cuota, más bien dedicarán la mitad de esfuerzos a cada uno, posiblemente empeorando lo que tenemos actualmente con Xorg.

      El problema con este salto es que Ubuntu tendrá toda la independencia que quiera, pero si el soporte para gráficas de Ubuntu es una mierda porque Intel, nVidia y AMD se pasan por el forro el dar un buen soporte porque no sale rentable, la culpa de esto no la tendrá Red Hat, sino la propia Canonical, que fue la que inició esta locura.

      Eliminar
    2. wayland actualmente es mas desarrollado por intel que por red hat. de hecho intel tiene mas desarrolladores pagos (incluyendo al autor inicial de wayland) que la propia red hat. as{i que wayland es un desarrollo plural. te entiendo lo de querer no usar tecnologia de la competencia. pero es que aquí esta yendo incluso contra un fabricante de tarjetas de video ( las intel inegradas) como esperas dar un excelente soporte en video si te vas contra el mismísimo fabricante?

      Eliminar
  3. PulseAudio fue y es malo. Mir y Wayland no son tan distintos asi que los drivers no empeorarán ya que se puede usar mucho código común. Por otro lado las aplicaciones deben usar EGL, lo cual es compatible entre ambos gestores. X11 usaba GLX y una API 2D. systemd tiene sentido como sustituto de init, pero nada más. El resto es código innecesario que habrá que mantener y terminará siendo software bloated. Yo hago el símil de X11 y systemd. Ambos unifican pero se pasan en querer ser lo más importante del sistema y terminan con características estúpidas. X11 tiene drivers de impresoras, cuando existe CUPS. Y tiene 4 sistemas de entrada de teclado diferentes. Systemd ha implantado su propio log, cuando Linux tiene uno genérico, y systemd quiere eliminar cron porque quiere tener su método. Al final tendremos los dos y duplicaremos esfuerzos. Para la unificación creo que hay que fijarse en AppStream, PackageKit y Listaller.

    ResponderEliminar
    Respuestas
    1. hacer el simil entre X11 y systemd es gala de no conocer ciertos detalles. el primero de ellos es que systemd como proyecto son decenas de binarios separados y de los cuales la inmensa mayoría son opcionales, osea no necesitas usarlos. no es un megabinario (o bueno 2 megabinarios como lo es xorg). xorg no es modular. systemd es modular debido a que puedes usar solo parte de el. esto principalmente porque systemd fue diseñado originalmente para sistemas embebidos y servidores, donde solo usas lo que necesitas. asi que puedes usar tu cron y tu log de siempre con systemd en el mismo pc y no tener ni siquiera instalado crond por ejemplo, si un demonio de systemd no sirve o esta roto, podes quitarlo sin peligro alguno porque de nuevo, son binarios diferentes, separados e individuales.

      systemd hay 2 el binario (que es muy pequeño y es el init o PID1) y el proyecto (que es el de las docenas de binarios independientes y separados) la unica diferencia es que los demonios secundarios de systemd han sido diseñados desde el inicio, dia 1 para trabajar en equipo unos con otros. lo que actualmente tiene linux son herramientas dispersas de desarrolladores diferentes que nunca pensaron en trabajar juntos y que las piezas encajan medianamente bien a punta de parches propios de cada distribución. en esencia un frankenstain asi que incluso cuando duplica utilidades ya existentes, es un avance porque estos están diseñados desde el principio en base a algo común, osea una base solida y harmoniosa en lugar de un frankenstain unido con grapas.

      Eliminar
  4. Pues que quieres que te diga...... lo has clavado macho. Un saludo desde Mis Juegos en Linux.

    ResponderEliminar
  5. No era que había una base que compartían Wayland y Mir que permitía un fácil porteo de los drivers desde un sistema a otro? Algo así había leído un tiempo atrás, de que no iba a ser tan traumática dicha fragmentación.

    ResponderEliminar

Publicar un comentario

Entradas populares