Canonical y la comunidad de Ubuntu: ¿una relación condenada al fracaso?

Estas últimas semanas están pasando muchas cosas importantes en el seno de Canonical, la empresa responsable del desarrollo de Ubuntu. La comunidad no está contenta, y no lo está desde hace tiempo. El primer signo de ese descontento llegó con Unity, una interfaz que por primera vez hizo sentirnos incómodos. Entonces no sabíamos a qué venía ese cambio. Puede que ni siquiera Shuttleworth y sus chicos lo supieran. Y entonces llegó el anuncio:

Cuando llegue la 14.04 LTS Ubuntu se usará en tablets, móviles, TVs y pantallas inteligentes que van del coche a la cocina, y conectará esos dispositivos de forma limpia y transparente al escritorio, el servidor y la nube.

Aquella fue la expresión de la epifanía de Shuttleworth. De su visión de futuro. Una visión que parecía ambiciosa, pero no tan ambiciosa como ha resultado ser gradualmente. Porque esa vocación de Ubuntu de convertirse en algo que pudiéramos usar en todo tipo de dispositivos no era lo único importante. La otra parte de la ecuación era aún más significativa.

Que la versión de Ubuntu que usásemos en un dispositivo sería exactamente igual al resto.

Eso era (es) lo realmente importante. Ubuntu permitirá que tu smartphone basado en esta distribución se convierta de buenas a primeras en tu PC. Misma plataforma, misma interfaz (que eso sí, aprovechará la resolución de pantalla), y sobre todo, mismo catálogo de aplicaciones. Una idea genial que hasta ahora nadie había enfocado con tanta claridad.

Pero las visiones tienen un problema: que no todos las comparten. Ubuntu nació con aquella frase autodefinitoria: «Linux for Human Beings«, pero poco a poco fue desmarcándose de algunos de sus principios. Hoy en día es difícil encontrar la palabra «Linux» en el sitio web de Canonical (salvo cuando hablan del kernel Linux en su sección de soporte), y muchos vemos sombras en la filosofía de esta empresa. Su inclusión de los resultados de búsqueda de Amazon, el hecho de que Unity no se use en ninguna otra distribución Linux, o de que Ubuntu One tenga clientes para Windows y Mac OS X pero no para otras distribuciones Linux (de nuevo) genera dudas. Sombras.

Esas sombras crecían. Y distribuciones como Linux Mint aprovechaban el momento para convencer a ubunteros despechados con una distribución que mantenía y mejoraba todo lo que esos usuarios echaban de menos en Ubuntu. Canonical ya no molaba tanto. No parecía escuchar a la comunidad. Y aquel comentario de Shuttleworth en marzo de 2010 dejaba las cosas claras:

Esto no es una democracia. Bienvenidos sean los buenos comentarios y los buenos datos. Pero no estamos votando sobre decisiones de diseño..

El creador de Canonical y de Ubuntu, que se había proclamado como «dictador benévolo» de su proyecto, ya no parecía tan benévolo. Y lo confirmaba en los términos oficiales de gobierno de Ubuntu:

Esto no es una democracia. Es una meritocracia. Tratamos de operar más sobre el consenso que sobre las votaciones, buscando que la gente que se encargará de hacer el trabajo esté de acuerdo.

Y en esas estábamos cuando a principios de año en Canonical anunciaban la llegada de Ubuntu for phones y, pocas semanas después, de Ubuntu on tablets. Dos patas de esa mesa que también estaría sostenida por Ubuntu en el escritorio (la distro actual para PCs y portátiles) y por Ubuntu en la televisión, à la Google TV, la única que aún queda por mostrar más sobre sí misma. Pero ni siquiera hace falta que muestren esta última pata. Canonical y Shuttleworth ya han comenzado a convencer a los que no teníamos esa visión tan clara. El problema no está en que uno comparta (como es mi caso) o no esa visión. El problema es que para hacerla realidad han fallado en algunas cosas. Y probablemente una de ellas ha sido la forma de comunicarselo a la comunidad.

De ello no solo se han quejado los usuarios, sino que la tormenta se ha producido por las quejas de gente importante en la comunidad de Ubuntu. Gente que ha trabajado mucho y muy duro tanto en el proyecto matriz como en proyectos derivados. Los mejores ejemplos los tenemos en algunos de los principales implicados en el desarrollo de KDE y de Kubuntu. Aaron Seigo (leyenda en KDE) ha criticado desde hace semanas los fallos en la forma de comunicar sus novedades que tiene Canonical y su dudosa nueva (¿o vieja?) forma de hacer las cosas:

El mayor problema que veo es que van a ir a por ello [esa plataforma única] por su cuenta y van a diferenciarse del resto del ecosistema del software libre con una pila software que han estado desarrollando en secreto y que te obligará a aceptar sus términos para que puedas contribuir a ella. 

De hecho han cerrado las puertas al resto del mundo del software libre. Asumirán que tienen que trasladar y mantener cosas como Qt, Gtk+, XUL, etc a su sistema. Asumirán que tienen que trasladar aplicaciones a ciertos puntos de integración (la mayoría de los cuales serán ofrecidos en aplicaciones Qt). No compartirán la infraestructura del shell de escritorio con nadie más, y usar su software libre en otras plataformas se convertirá en algo cada vez más difícil.

A ese comentario en su cuenta de Google+ se le suman otros, pero las críticas de Seigo son claras: la decisión de Canonical de desarrollar su propio servidor gráfico, Mir, en lugar de usar Wayland o el actual X.Org, -el otro anuncio relevante de estos días- es errónea desde el punto de vista técnico (un servidor gráfico es uno de los componentes más complejos que existen), pero es aún más errónea desde el punto de vista de la comunicación y la actitud de una empresa que parece contar cada vez menos con la comunidad.

Ese desmarque por la banda de Canonical también ha sido criticado por uno de los responsables del desarrollo de KWin (el gestor de ventanas de KDE). Martin Gräßlin escribía en su propio blog un post al respecto del de Shuttleworth y su «All the faces of Ubuntu«. Allí el creador de Canonical aseguraba que KWin funcionaría perfectamente en Mir, como señalando implícitamente que los desarrolladores de Kubuntu se pondrían manos a la obra. Pero Gräßlin tenía otra opinión, y la expresó claramente en su post, con algunos puntos aplastantes:

  • No tienen ni idea de cómo implementar KWin
  • Actualmente el número de commits a KWin por empleados de Canonical es 0
  • Ningún empleado de Canonical ha contactado a estas alturas con el equipo de KWin sobre cómo podríamos integrar Mir o si estaríamos interesados en ello.
  • Debo cuestionar la capacidad de Canonical para juzgar lo que otro software puede o no puede hacer después de los inexistentes problemas que Canonical afirma que tiene Wayland y que Mir no tendrá.

Y a esas se suman también las de Jonathan Ridell, principal responsable de Kubuntu, que tras tantos cambios y tantas decisiones tomadas a espaldas de la comunidad se ha hartado y ha dejado claro opinaba como Martin Owens (otro desarrollador de Ubuntu) que a estas alturas será mejor que muchos usuarios de Ubuntu pasen de una Canonical que a su vez pasa de ellos, aunque luego clarificó ese primer post con otro en el que, eso sí, se mantenía en sus trece sobre sus conclusiones originales:

Si quieres tener un papel importante como coaborador entonces Ubuntu Unity no es el mejor proyecto al que dedicarte. Es perfecto puesto que hay muchos proyectos que están esperando que más gente ayude, yo recomiendo Kubuntu pero hay docenas de otras variantes [distribuciones] y sub-proyectos esperandoos con los brazos abiertos.

Y en respuesta, Shuttleworth escribió a su vez un post en el que con un tono algo menos distendido le explicaba a Ridell que su actitud cizañera (mis palabras, no las suyas) no ayudaba demasiado:

Canonical, como depositaria de la comunidad Ubuntu, está invirtiendo un montón de energía en evaluar como sus acciones pueden afectar al resto de depositarios, y en ofrecerles formas de ayudar con su trabajo a las necesidades del resto de depositarios del proyecto.

Tú, como depositario de la comunidad Ubuntu, estás invitando ala gente a colaborar menos con este proyecto general, y colaborar más con un único depositario [con Kubuntu].

Hmm. Que no consigas lo que quieres no debería hacer que promociones un liderazgo dividido.

Ese ha sido uno de los primeros momentos en los que se ha visto a Shuttleworth perder un poquito los nervios. El otro, escrito justo después en respuesta a otro desarrollador de Kubuntu que apoyaba a Ridell, lo dejaba aún más claro. Y cito de nuevo a Shuttleworth:

Así que antes de marcharte furioso, tómate una taza de té y piensa sobre lo que das y recibes de nuestra relación. De verdad. 

Los calentones parecen estar siendo numerosos en toda la comunidad, aunque parece que han sido los desarrolladores de Kubuntu los que más se han esforzado en expresarlos, pero al rescate trataba de llegar Jono Bacon, community manager de Ubuntu, que se ponía en su papel y lanzaba hoy mismo un mensaje conciliador pero en el que dejaba claro que Canonical se quiere diferenciar de lo que existía hasta ahora en el mundo Linux:

Necesitamos cuestionar constantemente nuestro statu quo… no por el simple hecho de ser distintos, sino por el hecho de no ceñirnos únicamente a la tradición, ayudándonos a nosotros mismos a ser mejores en lo que hacemos, y en último término a conseguir el objetivo de llevar Ubuntu a las manos de más gente.

Ese párrafo de Bacon resumen en mi opinión algo que muchos no saben o no quieren ver. Ubuntu no quiere ser una distribución Linux. Quiere ser mucho más. Y si para ello tiene que iniciar proyectos propios, adoptar una filosofía «menos abierta» y provocar que parte de su comunidad abandone el barco, que así sea.

Los comentarios en ese mismo post de Jono Bacon son igualmente esclarecedores. En uno de ellos, un usuario apunta a una primera verdad evidente:

Uno de los problemas de construir una gran comunidad diversa es que esa comunidad que construyes es grande y diversa. Cuando más grande y más diversa es esa comunidad, más intentan los extremos desplazar al centro de esa comunidad. 

Pero el mejor comentario, que traduzco íntegramente a continuación, es especialmente brillante, y en realidad serviría como auténtico corolario de todo lo que ha pasado estas últimas semanas:

El problema, al menos para mi, es que todas las «grandes» decisiones se están realizando en secreto y de forma externa a la comunidad de desarrolladores que ha ayudado a que Ubuntu crezca y sea lo que es hoy. 

Cada pocas semanas hay una polémica porque se ha tomado una decisión que no tiene sentido, y las razones que se dan para haberla tomado solo suenan a excusa. Si se toma una decisión por dinero, dilo, no te enrolles y no trates de engañarnos. 

No me sorprendería que Mir fuese un prerequisito para algún producto de Canonical aún sin anunciar en el que están trabajando – y por supuesto solo lo sabremos cuando sea demasiado tarde para dar cualquier tipo de opinión. 

Básicamente, Canonical necesita darse cuenta de que no puedes dejar fuera del ciclo a la comunidad si quieres que la comunidad esté contenta. Eso solo resulta en una falta de confianza entre Canonical y todo el resto de la comunidad Open Source. 

Así es. La comunidad se siente excluida del proceso de toma de decisiones de Canonical, y eso les jode. Lógicamente. A mi también me provocaría ese sentimiento. Y sin embargo, ¿podría una visión como la de Mark Shuttleworth avanzar si la comunidad tuviera poder de decisión sobre la forma de trabajar en Ubuntu?

Lo dudo. Shuttleworth siempre ha tenido cierto tinte ‘stevejobsiano‘, pero comparto con él la mayor parte de su forma de hacer las cosas. Lamentablemente, la comunicación con la comunidad dista mucho de ser perfecta. Y ese es probablemente el único gran problema que sí podrían resolver en Canonical. El resto, que a ciertos miembros de la comunidad no les guste Mir, o Unity, o el ciclo de desarrollo de Ubuntu, no es algo sobre lo que realmente puedan opinar. Porque si lo hiciesen Ubuntu no iría a ninguna parte. Se quedaría como está. Y eso es lo que precisamente Shuttleworth y Canonical no quieren.