¿Por qué GNU/Linux no triunfa en el escritorio?

Escrito por systeminside en y tuvo 25 comentarios
NVidia Escritorio Linux

Lo he vuelto a hacer, me he dejado guiar por el desconocimiento y el deseo de tener algo en Linux, en este caso la aplicación oficial de GitHub, y he publicado un artículo sin tener las bases suficientes para ello, o al menos, conocer la opinión de personas con el conocimiento necesario para emitir un criterio bien fundamentado.

Recientemente he visto varios videos de preguntas que le han hecho a Linus Torvalds, y por lo menos el video donde hace acto de presencia en el DebConf14, me ha aclarado un poco las ideas. Me explico.

¿Por qué Linux no triunfa en el escritorio?

Es una de las preguntas recurrentes que le hacen a Linus Torvalds y su respuesta siempre es la misma: por el sistema de empaquetado. Pero mas allá del sistema de empaquetado, por la propia filosofía de algunas distribuciones. No solo entiendo lo que Linus responde, sino que comparto al 100% su opinión.

Muchos piensan que Linux no ha triunfado en el escritorio porque tenemos GTK o QT, GNOME o KDE, etc.. y en realidad ese no es el problema. El problema está en que si nos ponemos desde el lado de un desarrollador, se hace muy difícil mantener los paquetes en GNU/Linux. Para que se entienda mejor, pongamos como ejemplo la propia aplicación de GitHub, eso si, pondré mi ejemplo teniendo en cuenta que no sé como funcionan las librerías (compartidas o no) en la mayoría de los Sistemas Operativo.

Primer ejemplo, el desarrollador hace una versión para OSX. Teniendo en cuenta que los usuarios de OSX cambian todos los años de ordenador, o que es muy probable que tengan instalado la última versión de OSX, no es problema mantener un paquete, pues lo compilas con las librerías que usa la última versión y por si acaso, a lo mejor lo compilas para una versión anterior. Y ya está. Existe un 99% de probabilidad de que la mayor parte de los usuarios de OSX puedan usar la aplicación sin problema alguno.

Segundo ejemplo, el desarrollador hace una versión para Windows. Pasa algo muy similar con OSX, Microsoft casi que te obliga a que uses sus últimas versiones, y aunque todavía hay usuarios en Windows XP, tendremos la garantía de que una aplicación debe funcionar al menos en las últimas dos versiones, dígase Windows 10 y Windows 8. Si un paquete en específico presenta problema, seguro que le añaden el .dll necesario y listo.

Pero entonces llegamos a Linux. El desarrollador tiene que hacer una versión para Debian, Ubuntu, Fedora, Archlinux, RedHat, Slackware, etc.. etc.. etc.. pero es peor la cosa, porque como Ubuntu por ejemplo, tiene varias versiones entre LTS y no LTS, entonces tiene que compilar para las versiones 14.04, 14.10, 15.04, 15.10.. y así sucesivamente hasta que llegue la nueva LTS y se repita el proceso. A esto le sumamos que tenemos a DNF, Pacman, APT, YUM, y muchos otros gestores de paquetes que funcionan de forma diferente, con reglas, controles y políticas diferentes. Y ahora Ubuntu viene a ponerle la tapa al pomo con otra más, Snappy creo que se llama.

La solución sería usar un solo gestor de paquetes en todas las distribuciones, si, pero seguiría quedando el problema de la diferencia de versiones entre las librerías, por lo que es posible que instalemos un paquete hoy que mañana deje de funcionar porque la librería que usa es más nueva o se quedó atrasada. Entonces llega la otra solución, hacer algo como en Windows y OSX y que cada paquete tenga sus propias librerías, y entonces pasamos al problema de que LibreOffice por ejemplo, pasaría de pesar de casi 100Mb a muchos cientos más en dependencia del tamaño de las librerías que necesite.

Y es aquí señores, donde radica el problema del Escritorio de Linux, es acá donde tenemos la respuesta a la gran interrogante. Aquí es donde está el principal freno para Linux no triunfe en el escritorio. Eso sin contar lo del monopolio, y los equipos preinstalados y bla bla bla.. ¿Qué haremos al respecto? Ni idea, pero mientras esto siga así, seamos nerdillos felices y no nos preocupemos si el vecino puede o quiere usar lo que nosotros usamos.

systeminside

systeminside
Blogger, Melómano, Administrador de Sistemas, Diseñador Web.

¿Ideas? ¿Comentarios?

  1. MakuSensei 1 año atrás

    Estoy muy de Acuerdo en todo lo que comentas, el problema de linux es su pendejada de paqueterias. el dia que alla un buen estandar para la instalacion de soft ahi si la gente le va a dar mas bola :v
    Ademas el echo de que sea linux lo mas usado en supercomputadoras es solo por que no necesita una interfaz grafica para funcionar y cumplir una funcion especificas, lo mismo en servidores por su seguridad. pero mas alla de eso no sirve para un carajo.
    Linux en general no es para cualquier usuarios, digan lo que digan tenes que tener un minimo conocminiento en informatica.

    Responder
    1. @MakuSensei:

      Hombre, tampoco es tan así a estas alturas. Cualquier persona a la que le des un ordenador, digamos, con LinuxMint, donde el hardware sea lo mas compatible posible y no se rompa nada entre actualizaciones, lo puede usar como cualquier otro usuario que usa Windows o Mac.

      No necesita usar la consola para nada. Lo digo por experiencia propia, lo he experimentado en más de una ocasión.

      Responder
      1. @systeminside:

        ¿Para que te molestas en responderle? Es un troll más como otros que hemos visto, calvo…

        Responder
        1. @Nano:

          Hay que ser educado eNano..

          Responder
          1. @systeminside:

            @systeminside solo expreso mi humilde opinión diciendo lo que creo de alguien :3

            Responder
            1. @Nano:

              No te estoy cuestionando lo que piensas, te digo que respondo a todo el que comenta por educación.. me da igual si es un Troll, un Yeti o un Avatar 😀
              De todos modos, no vengas a formar lío a mi espacio, chu chu, dale a tus redes sociales a opinar de la gente..

              Responder
  2. Ed Medina 1 año atrás

    Hay algo que he querido intentar, instalar el gestor de paquetes nix en mi distro y ver como funciona y sus ventajas y desventajas. Igual y es una idea loca pero, quizá una posible solución seria si se usaran gestores de paquetes como nix o guix aparte del que viene por defecto en la distro y que los desarrolladores de software que no se quisieran complicar o los de software privativo usaran este tipo de paquetes. Tengo entendido que nix funciona en Linux, FreeBSD y OS X.

    Responder
    1. @Ed Medina:

      Mmm, no conozco mucho sobre este tipo de paquetes.. así que no puedo opinar al respecto. ¿Pero crees que los desarrolladores puedan poner sus ojos en ellos?

      Responder
  3. Rubén FM 1 año atrás

    Los desarrolladores no se encargan del mantenimiento especifico para cada distrubución, son las propias distribuciones las que lo empaquetan.
    Puedes estar más o menos implicadas o ser más o menos exclusivas pero en prinicpio lo que hacen las distros es coger el software de upstream y empaquetarlo para su sistema. Es decir, adaptarlo para que funcione. Ya sea redistribuyendo el esquema de directorios o añadiendo una librería exclusiva que antes no estaba.

    Ubuntu es la que tiene que adaptarse a KDE, no al revés (por poner un ejemplo), si no sería completamente imposible mantener cualquier tipo de software.

    Responder
    1. @Rubén FM:

      No es tan así tampoco, porque muchas veces un mantenedor solo se encarga de crear el paquete binario y ya está, no se mete en el código, y si en el código especificas usar una librería en específico que no está en los repositorios, o no coincide la versión, ahí es donde está el problema.

      Responder
  4. Fernando 1 año atrás

    Creo que Snappy (Ubuntu Core) apunta a eso, librerías independientes para cada aplicación, todo en un solo paquete que se actualiza mediante transacciones controladas que permiten hacer un rollback, sin joder el sistema, si algo sale mal. La idea es excelente y apunta a solucionar toda esta fragmentación de paquetes. El problema es que Cannonical tiende a ser un poco autista en sus determinaciones y no creo que se pueda extender a otras distros.

    Responder
    1. @Fernando:

      La idea está bien, pero el tamaño de los paquetes podrían incrementarse muchísimo, además, no sé hasta que punto para los desarrolladores sea cómodo tener que empaquetar los mismos paquetes en varios paquetes. Por ejemplo, digamos que un paquete necesita glibc en su versión 4.4, ok, se lo pones, pero mantienes 40 paquetes más que usan glibc 4.2, 4.3 y 4.4.. es muchísimo más trabajo el que tienes que realizar. Pero bueno, ya se verá.

      Responder
      1. Fernando 1 año atrás
        @systeminside:

        Ahí estoy totalmente de acuerdo

        Responder
  5. Fabián Alexis 1 año atrás

    Para mi esa es una excusa para no crear aplicaciones. Por ejemplo ese editor de video Lightworks que sacó una versión para Linux que simplemente saque versión para la LTS ubuntu (que es un *.deb al fin y al cabo) que es lo que hizo. Para bien o para mal la gran mayoría asocia a Linux con Ubuntu. Steam hizo lo mismo, saca versión *.deb y paremos de contar y steam lo ves en todas las distros Linux. La cosa es muy simple, que saquen aplicaciones nuevas, empaqueten para el sistema que tiene mayor cuota en linux (ubuntu, por ende las derivadas de esta y las que derivan de debian como la misma ubuntu) y listo. Si hay gente en fedora, opensuse, arch u otras distros … pues que conviertan con alien (creo que así se llamaba) y listo, además la comunidad casi siempre es rápida y lo dispone en los repositorios. Si mal que mal la gente nueva en GNU/Linux llega a Ubuntu (o mint) y de ahí no sale en bastante tiempo (1 a 2 años y eso).

    Para mi el tema de que no se triunfa, no es la gran cantidad de opciones de Linux (en escritorios, paquetería u otros), va por las aplicaciones oficiales que faltan por montones y porque la gente que quiere llegar a linux no está dispuesta a aprender nuevamente a usar aplicaciones (no tanto los entornos)

    Responder
    1. @Fabián Alexis:

      Si, yo pensé lo mismo al principio, que saquen al menos para Ubuntu que es la más popular, pero es que Ubuntu LTS tiene librerías tan viejas, que sería casi imposible llevar ese paquete a versiones más recientes de ArchLinux, Fedora, openSUSE, e incluso, el propio Ubuntu.

      Responder
      1. Fabián Alexis 1 año atrás
        @systeminside:

        Claro ese el problema si sacan para Ubuntu Lts …. pero y si siguieran el modelo de steam ?? quizás por ahí va la cosa

        Responder
  6. Jamin Samuel 1 año atrás

    Y que podemos decir de Docker?

    Responder
    1. @Jamin Samuel:

      Creo que Docker (ó LXC) como contenedor de aplicaciones puede ser una parte de las soluciones para arreglar el problema de dependencias, aunque no invento la rueda ni mucho menos sino que aprovecha caracteristicas disponibles en el kernel como cgroups, Namespaces,etc. Tiene excelente rendimiento y bajo requerimiento en cuanto al espacio en disco comparado . Si es necesario hacer un formato más único pero dejarlo a Canonical tomar la posta sin tomar en cuenta la gran biodiversidad de gnu/linux…veremos que sale. Igual sigo pensando en que el futuro son los browser abstrayendo la plataforma del OS.

      Responder
  7. tatoconlinux 1 año atrás

    Mi opinion seria que unan fuerzas las distros “Grandes” y hagan una sola distro para el publico comun. Como hacen con Calamares, por ejemplo. Y se ofrezca esa a los fabricantes, para que venga preinstalado en los equipos. Y luego, los mas experimentados vayam instalando lo que quieran. Pero, el gran pero, entraran en la disputa de qué gestor de paqietes usar, cuales libreras, Qt o GTK, Gnome o KDE, Systemd o no, Xorg o Wayland, Y asi. Si se lograra unificar esfuerzos y hacer un solo producto para ofrecerlo a los fabricantes, todo cambiaria.

    Responder
    1. @tatoconlinux:

      Tiene sentido. Es más, no importa si es una sola distro con varios entornos de escritorio, lo que importa es que tengan un gestor de paquetes en común. Creo que ahora mismo a Pacman no lo supera nadie.

      Responder
  8. (Perdonen errores ortográficos y otros.)
    No estáis siendo objetivos, es cierto que en Windows basta con incluir el dll con la aplicación y todo bien de echo si uno no indica una ruta a una dll windows asume que se encuentra en el directorio system32 o en el directorio de la aplicación que la solicita pero volviendo al tema no creo que ese sea el gran problema de Linux. Si miramos la verdad de frente son varias las dificultades entres ellas la desacertada dirección de Linus Torvalds causante del abandono de importantísimos miembros del grupo de desarrollo Torvalds muestra una actitud en extremo arrogante que convierte el desarrollo del kernel en un sistema dictatorial incapaz de conciliar ideas. Otro sería el pobre catalogo de videojuegos seamos claro la mayorías de las personas quieren la PC como un sistema de entretenimiento lo cual es natural, el desarrollo de Opengl o otras librerías más libres pero menos conocidas no ha sido el óptimo de hecho el impacto de los Directx en la industria ha sido brutal más allá de cual es mejor o no Microsoft ha vencido hasta ahora de manera convincente en el tema. Desarrollo fragmentario los desarrolladores de GNU/Linux están divididos en todo sentido ya sea desde intereses personales hasta cuestiones filosoficas hasta corrientes del mercado, G/L (aka GNU/Linux) es desarrollado por una comunidad mundial compuesta principalmente por miembros por ingenieros que pertenecen a grandes y medianas empresas cuyos intereses de una manera u otra tienen que defender… la FSF nos presenta un punto de vista mientras la OSI (Open Source Initiative) tiene otras ideas más conservadoras la unidad es más frágil de lo que puede parecer. El desarrollo de un sistema necesita tres cosas dinero, dinero y más dinero, no se puede crear algo bueno sin un mercado que lo respaldo, fíjense en Red Hat o miren a Android usa el kernel linux y las apis de Google estas últimas infestadas de errores de seguridad y sin embargo ha triunfado pq pues porque es un sistema muy funcional y pq tiene el apoyo de grandes capitales y un mercado gigantesco, piensen en esto Linus Torvalds y Canonical anuncian ahora que sacaran G/L para móviles en una gran versión con la ayuda de toda la comunidad etc etc esto se lanza y empieza a prosperar enseguida sale Google y dice que cambiaran de kernel y que no le darán ni un centavo más a la Linux Foundation fin de la historia. El mercado y el desarrollo del software van de la mano de lo contrario te aplastan los grandes poderes.

    Responder
  9. Cheese Guevara 1 año atrás

    Snappy es la solución al problema que se menciona en el artículo. Los paquetes .Snappy traen todas sus librerías incluidas y corren dentro de un sandbox. En otras palabras la actualización y regresión de paquetes es tan estable como en Android.

    Inclusive evitaría que existieran conflictos entre paquetes y permiten al usuario tener varias versiones del mismo programa instalados.

    El problema es que los paquetes son un poco más pesados (ojo, Snappy permite librerías compartidas. No es que cada paquete va a contener GTK y OpenGL) y que algunos paquetes se quedarían con versiones viejas de ciertas librerías que podrían contener agujeros de seguridad. Aún así me parece la mejor alternativa.

    Responder
  10. casoraro 1 año atrás

    La cuestión no es “¿porque Linux no triunfa en el escritorio? sino “¿porque las distribuciones Linux no triunfan en el escritorio?
    Mi repuesta sería: algunas distros no se empeñan en ello, falta de recursos, etc.. Solo Canonical podría “competir” con Microsoft o Apple pero se quedaría corto de recursos. La mayoría de las distros no pretenden ser competencia, sino alternativa para los que quieren algo diferente. Las distros seguirán siendo la minoría pero siempre habrá suficientes usuarios para que las distros sigan existiendo.

    Responder

¿...?