14 de marzo de 2013

¿Qué hay de Mir?

Llevo unos días pensando en escribir algo sobre el servidor gráfico de Canonical y, la verdad, no se me ocurre demasiado. Lo único que se puede hacer es desbarrar un poco sobre lo esencial que ya se ha comentado en otros sitios: las alegaciones que hacen sobre la toma decisión de crear Mir por motivos técnicos son, a todas luces, un montón de malas excusas. Una cosa es que hayan querido escribir su propio servidor gráfico, y otro que hayan intentado convencernos de que no tenían elección: esto último es una gran falacia.

Para argumentar, la gente de Canonical se ha inventado argumentos claramente absurdos, del tipo "Weston no encajaba bien en nuestra suite de tests, hubiera sido difícil adaptarlos y los tests de Weston nos parecen inferiores". Ajá. Y por eso tomas la decisión alternativa de escribir un servidor gráfico de cero. Debe ser una suite de tests bastante buena para preferir reescribir el código a testar que adaptar los tests, o contribuir a los tests existentes en Weston (que hubiera beneficiado a todo el mundo).

O aquel de "Weston prácticamente no tenía gestión de dispositivos de entrada cuando tomamos la decisión". Ajá. ¿Y como Weston no tenía gestión de dispositivos de entrada, tomas la decisión de escribir un servidor gráfico de cero que requerirá escribir todo, incluyendo esa gestión de dispositivos de entrada de cuya ausencia te quejas? Al final, lo que ha ocurrido es que la comunidad ha añadido a Weston esa capacidad mucho antes de que Canonical anunciara Mir, con lo cual han hecho un ridículo espantoso mencionando en el wiki que la gestión de dispositivos de Weston no estaba a la altura, cuando resulta estar más avanzado que Mir: no habían vuelto a mirar Weston desde hace meses.

La realidad de esta historia es que Canonical se ha convertido en una organización bastante introvertida que está demasiado ocupada haciendo realidad su visión y no se entera bien ni se preocupa demasiado de lo que ocurre fuera. Lo más probable es que no hayan puesto demasiado empeño en Weston y simplemente hayan dado rienda suelta a la imaginación porque si, y cuando han venido las críticas han decidido construir el razonamiento "weston-no-estaba-preparado", argumento falaz teniendo en cuenta que, por muchas carencias que tenga Weston, empezar un servidor gráfico de cero, por definición, tendrá más y habrá menos gente trabajando en él.

Podrían haber resuelto muchas de sus dudas simplemente preguntando en las listas de correo si alguien estaba trabajando en tal punto, coordinándose con otros, algo de primero de comunidades de software libre, pero no se molestaron. Y si algo de Weston estuviera mal y no les gustase, o tuviesen alguna necesidad especial, podrían simplemente decirlo, pero no se han pasado por allí ni a decir buenos días.

Lo triste es que Canonical simplemente se está complicando la vida inútilmente, porque un servidor gráfico simplemente no es tan importante como para molestarse en hacer lo que están haciendo. Puedo entender lo de Unity, algo que el usuario ve y es vital para el uso de Ubuntu, pero el servidor gráfico es infraestructura y no añadirá nada de valor a Ubuntu, sólo deuda técnica acumulada y sueldos de programadores que se hagan cargo de ella. Podría perdonarse si tuviera alguna gran ventaja técnica (como los hechos se lo perdonaron a systemd respecto a upstart), pero no la tiene, de hecho es más que probable lo contrario.

Respecto al futuro de Wayland, no hay que tener ningún miedo, ya que está condenado a existir y progresar. Para que Mir pudiera desplazarlo, a Canonical tendría que importarle las necesidades y opiniones de otras personas que no sean ellos mismos, y eso no va a ocurrir. Wayland es un proyecto comunitario, y no me refiero a frikis, sino a que es un proyecto donde hay comunicación entre los programadores del servidor gráfico, los de Mesa, los de los drivers del kernel, los de los toolkits, gestores de ventanas, aplicaciones, distros. Mir es un servidor gráfico desarrollado a puerta cerrada, sin colaboración con nadie, diseñado por y para Unity, pasando absolutamente del resto del mundo. ¡Ah, y para contribuir en él se requiere cesión del copyright del código! Wayland está para quedarse, Mir mientras haya dinero detrás.

5 comentarios:

  1. La última frase es demoledora.

    ResponderEliminar
  2. Yo creo que la necesidad de canonical nada tiene que ver con la sobremesa. Es con el móvil y los Soc ARM. Wayland necesita nuevos controladores, y no todos van a invertir en hacerlos, en cambio dando a Mir la compatibilidad con controladores Android hacen que ubuntu phone disponga de controladores desde el principio para casi cualquier dispositivo.

    Convencer a Wayland que sus controladores deberían ser compatibles con Android para poder implementar sus planes en el Ubuntu phone era la alternativa, que no creo fuese viable.

    Ahora Wayland teme que Mir, a no ser que sea mucho pero que Wayland se convierta en el estandar por defecto y su trabajo peligre - incluyendo algunos puestos de trabajo -.

    No creo que al final Wayland sea los suficientemente mejor que Mir como para que se invierta en hacerle controladores.

    Precisamente la lentitud en su desarrollo ha sido la que ha originado la propia aparición de Mir.

    ResponderEliminar
    Respuestas
    1. Esto...

      Wayland no requiere ningún tipo de controladores especiales, recordemos que es un protocolo, es agnóstico en ese aspecto.

      Respecto a Weston, requiere esencialmente OpenGL ES, que es precisamente la API gráfica de Android. No sólo es que Weston pueda utilizar los drivers de Android, es que ya hay gente que ha estado pensando en ello e incluso que ha puesto -sorpresa- manos a la obra y hay incluso demos de ello:

      Cito textualmente de aquí:

      Fortunately, Android's self-invented graphics stack has pretty similar requirements to Weston. All it took was to write a new Android specific backend for Weston, that interfaces to the Android APIs. Writing it took roughly three days.


      Más info, aquí, y aquí

      Como en los otros asuntos sobre Wayland que supuestamente legitiman a Mir, se trata de una falacia que uno puede conocer fácilmente si se une a la lista, pregunta, o si simplemente usa Google. La idea de que Mir es necesario para poder usar los drivers de Android no tiene ninguna base.

      Respecto a Wayland, insisto en que se está desarrollando bastante rápido (el soporte en toolkits está ahí y los escritorios está avanzando en crear sus compositores). Por si aun se han molestado de echar el ojo al código, Mir a día de hoy no es algo existente sino un proyecto de futuro que consta de una larga lista de TODOs. Van a tener que trabajar e invertir bastante no para superar a Wayland, sino para ponerse al día. La idea de que Mir se ha comenzado para adelantarse a Wayland es absurda porque ahora mismo están en el punto contrario.

      Eliminar
  3. Canonical ha dicho que está presionando mucho a los fabricantes (nvidia, ati, intel, etc) para que creen/porten drivers a mir. La infraestructura básica entre mir y wayland se supone que será la misma o muy similar, así que Mark ha asegurado que los drivers funcionarán para ambas plataformas en escritorio, así que ahí no debería haber problema en lo que dices. Por otro lado, para sus dispositivos móviles usarán el mismo modelo de drivers que android, así que tampoco habrá problemas por ahí a priori.

    La lentitud de desarrollo de wayland se debe a que lo que se propone es un estándar, hay mucha gente colaborando y pensando bien cada paso, debe servir a todos y ser mejor que las X, ser más seguro y capaz técnicamente y dar soluciones a problemas existentes y ser lo suficientemente flexible para que no de problemas futuros, si no tanto esfuerzo sería tontería. No es tarea fácil. Sobre la supuesta rapidez de mir... lo que se ha visto funciona sobre X, y les faltaría toda la parte más compleja, que no dudo que al final copiapegarán de weston si quieren sacar las cosas a tiempo. Por otro lado, se avanza más rápido con un grupo de programadores trabajando juntos a puerta cerrada que con desarrolladores de diferentes empresas y filosofías colaborando a través de la red. Creo que al final Mir saldrá antes que wayland, pero que tendrá muchas más limitaciones, fallos y errores (y soporte por parte de la comunidad). Al final se impondrá el mejor o se retroalimentarán el uno al otro. Lo importante es que todos salgamos ganando pese a todo.

    ResponderEliminar
  4. Perdón, quería decir menos soporte por parte de la comunidad. Sea como sea, mir es un diseño a medida para un cliente a medida, wayland se ha pensado con unas miras más altas y con capacidades más generales. El tiempo pondrá cada proyecto en su sitio.

    ResponderEliminar