jueves, 23 de junio de 2016

Snappy y la publicidad engañosa de Canonical


Hace unos días Canonical publicó una nota de prensa presentando su nuevo formato de paquetes autocontenidos, Snappy. Tal como lo presentaron se da a entender que las principales distribuciones lo han aceptado como sistema de paquetes por defecto, con la intención de ir abandonando los actuales APT, RPM, YUM... Pero Adam Williamson (Jefe de la comunidad de QA de Fedora) ha querido dejar claro que no es así, que Canonical no ha contactado con ellos hasta un dia después de esa nota de prensa, y que no aceptaban sugerencias ni cambios.

El problema, según Adam, es que Canonical ha publicado una nota de prensa hablando de que todas las distros están involucradas en el soporte de Snappy... cuando no ha existido ninguna clase de comunicación, al menos en el caso de Fedora. Y que la nota de prensa da a entender que Snappy ya funciona perfectamente y que sustituirá a Apt, RPM, YUM... y tampoco es así. Según él, es un sistema cerrado, que a día de hoy es extremádamente inseguro, ya que requiere deshabilitar SELinux en la mayoría de distribuciones, y la "store" es código cerrado propiedad exclusivamente de Canonical.


El mismo Williamson reconoce estar encantado usando herramientas creadas por otras distribuciones, como OpenQA de SUSE. Y el principal motivo es porque en ese caso concreto SUSE desarrolló eso, y se acercó a Fedora de forma abierta y amistosa en plan "oye, he creado esto, igual te interesa". Y ahora Red Hat y Fedora colaboran, hacen contribuciones, otras distribuciones lo están considerando, y son recibidos con los brazos abiertos.


En un post en su blog personal se extiende un poco más hablando sobre lo incompleto que está Snappy aún y la falta de comunicación:
Del comunicado de Canonical: “Desarrolladores de múltiples distribuciones de Linux... Los Snaps funcionan nativamente en Arch, Debian, Fedora, Kubuntu, Lubuntu, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE, Ubuntu Unity, y Xubuntu… Juntas, estas distribuciones representan la gran mayoría de uso de Linux en escritorios, servidores y en la nube”
Esto se aleja bastante de la realidad. Las demás distribuciones citadas no han declarado su apoyo a Snappy ni han dicho 'sí, así es como queremos que las aplicaciones se distribuyan en el futuro'. Empleados de Canonical son los que han hecho paquetes Snappy de forma independiente para esas distribuciones. Esta es la base de todas las afirmaciones de su comunicado de prensa. Por ejemplo, los paquetes de Snappy para Fedora están en un COPR - COPR es un sistema similar a los PPA que permiten a cualquiera hacer sus paquetes - mantenido por un empleado de Canonical. Toda la comunicación que ha habido entre Canonical y Fedora antes de la publicación de esta nota de prensa fue que nos enviaron un e-mail preguntándonos el proceso para empaquetar snappy para Fedora, y les hablamos del sistema principal de empaquetado y de COPR. En ningún momento informaron a Fedora de que iban a publicar una nota de prensa dando a entender que Fedora, además de todas las demás distros del mundo, se apuntaban alegremente a esta historia de Snappy.
De hecho existe otro sistema con metas muy similares, que ahora se llama Flatpak y anteriormente era conocido como xdg-app. Para ser lo mas claro posible, diré que Flatpak tiene bastante influencia de Red Hat: el autor principal de Flatpak es Alex Larsson, un empleado de Red Hat. Sin embargo, no es un "proyecto de Red Hat" hasta el punto en el que Snappy lo es de Canonical. Hay más de 20 contribuyentes a Flatpak, la mayoría de los cuales no son empleados de RH (e incluyen a contribuyentes de otras distribuciones). Flatpak no está licenciado bajo una licencia de cooperación corporativa. Si Fedora fuera a apoyar a alguno de estos sistemas, sería Flatpak. Ninguna otra distribución aparte de Ubuntu está demasiado implicada en ninguno de los dos sistemas, por lo que puedo ver. Tanto Flatpak como Snappy empezaron, según los datos que he podido obtener, en Diciembre de 2014. El comunicado de prensa de Canonical por supuesto ni siquiera reconoce la existencia de Flatpak... lo cual es bastante común dentro de las relaciones públicas, pero te esperarías que al menos algunos periodistas se dedicaran a comprobar las cosas de forma independiente.
Ni Snappy ni Flatpak están remotamente cerca de estar "terminados", en el sentido de ser un sistema creible para la distribución de aplicaciones multiplataforma con algún apoyo de publishers y distribuidores. La nota de prensa que sostiene que Snappy permite "que un único paquete binario funcione perfectamente y de forma segura en cualquier escritorio, servidor, nube o dispositivo con Linux" suena genial, ¿verdad? Revisemos los hechos. Tomemos Fedora por ejemplo, las instrucciones de instalación de Snappy para Fedora - vayamos a la web de Snappy y hagamos clic en el logo de Fedora - dicen:
# SELinux support is in beta, so on Fedora 24 you currently have to:
sudo setenforce 0
Esto ya no suena tan 'seguro' ni 'perfecto', ¿verdad? En la misma linea, los paquetes para Fedora en realidad están compilados con el confinamiento de Snappy desactivado. Y el confinamiento es la totalidad de lo que depende la seguridad de esta forma de distribución. Si el confinamiento no está activado, tienes básicamente una pelota enorme con acceso sin control al sistema. Buena suerte con eso. (...) Usar snappy requiere desactivar SELinux y reducir de forma significativa la seguridad de todo el sistema (y no solo de los snaps que estás ejecutando).
Según tengo entendido, los builds para otras distribuciones están en estados similares.
Además que ni Snappy ni Flatpak pueden confinar de forma significativa programas que funcionan bajo X11, como ha ilustrado mjg59. Flatpak solo puede confinar de forma efectiva programas bajo Wayland. Snappy, por supuesto, está diseñado para trabajar con Mir, aunque dicen que puede/podrá (no se cual es correcto) funcionar también con Wayland. Pero la cosa es que ni Wayland ni Mir tienen prácticamente uso alguno por parte de usuarios de Linux hoy en día, pero aquí tenemos a Canonical alegremente ignorando ese hecho mientras dicen que Snappy ahora mismo permite "que un único paquete binario funcione perfectamente y de forma segura en cualquier escritorio, servidor, nube o dispositivo con Linux".
En el momento en el que este comunicado desmedidamente optimista se publicó solo existían dos aplicaciones disponibles como snaps: Libreoffice y Krita. Phoronix descubrió enseguida que el snap de LibreOffice era inmenso (más de 1GB) y estaba lleno de bugs. El problema del tamaño se resolvió rápidamente, pero sirve para dejar claro como la realidad es bastante diferente de las afirmaciones de Canonical. Es un sistema que está en Alpha muy inicial, o en proof-of-concept. No está ni remotamente "terminado", ni está listo para su uso en el mundo real aparte del contexto realmente limitado en el que Canonical lo estaba usando ya.
Ni tampoco Flatpak, claro. Pero por esto mismo los desarrolladores de Flatpak han estado comunicándose en conferencias técnicas y artículos de blogs tratando de crear un diálogo con desarrolladores de aplicaciones y distribuidores, en vez de anunciar a bombo y platillo lo grande que es Flatpak y como está listo para matar a apt AHORA MISMO.
Otro detalle interesante de los Snaps: el servidor (la 'app store' en la ecuación) es software cerrado, y Canonical ha estado negándose a decirle a nadie como montar su propia ‘app store’ - basta ver el comentario de Cassidy James Blaede, de Elementary. Si quieres distribuir tus snaps, tus opciones son las siguientes:
1) publicarlas a través de la tienda de Canonical, completamenta bajo el control de Canonical,
2) subirlas como archivo y decirle a la gente que las instale desde la linea de comandos, o
3) intentar averiguar como reconfigurar el cliente de snap para usar un servidor diferente leyendo su código fuente, entonces escribir tu propio servidor desde cero, y decirle a tus usuarios que hagan eso. Hmm.
Entonces: Snappy está al igual que Flatpak, en constante desarrollo, siendo un intento interesante de dar un sistema estilo "app store" para linux. Ni está terminado, ni está remotamente cerca. No es independiente ni abierto del todo a otras distribuciones, está controlado completamente por Canonical. No está interesada, hasta donde yo puedo ver, ninguna otra distribución fuera de Ubuntu. No funciona como debería en otras distribuciones y no parece que vaya a hacerlo en un futuro cercano.
Pero aparte de eso, pues claro, ¡está listo para matar apt y dnf mañana mismo!
(suspiro)
Ahora seguro que me criticarán por ser cruel y cínico y atacar a Canonical en vez de intentar ser constructivo y que todo lo que ellos intentan es hacer las cosas mas cómodas para todos, ¿Adam, por que eres tan capullo?
Bueno, si Canonical hubiera querido realmente trabajar de forma constructiva con otros, la forma de hacerlo podría haber sido hablar con ellos. Tenemos foros para la colaboración entre distribuciones distintas y entre proyectos distintos. Muchos foros. Tenemos conferencias donde puedes ir a hablar de tu proyecto y tratar de que otros se interesen. Canonical podría haber venido a hablar con otras distribuciones y decir, ey, ¿que tal si intentamos ponernos de acuerdo en un formato concreto y en un mecanismo de distribución único para aplicaciones confinadas?
Pero no lo hicieron. Decidieron publicar una nota de prensa increiblemente engañosa, y animar de forma activa a la prensa especializada a publicar que Snappy iba a conquistar el mundo y todos estabamos super contentos con la idea. (...) Cuando los chicos de SUSE hicieron un prototipo funcional de openQA para Fedora, no sacaron una nota de prensa diciendo "Nuestro genial sistema llega a todas las distribuciones". Nop. Contactaron con nosotros de forma super amable y amistosa, y nos dijeron hey, igual os gustaría usar esto. ¡Y lo hicimos! Y ahora estamos colaborando. Así es como creas colaboración entre distribuciones. No sacando notas de prensa de mierda primero y luego enviando peticiones ridículas para que la gente vaya a una sesión de desarrollo acelerada de Snappy un día después, cuando las quejas te han reventado en la cara. (Sí, esto es exactamente lo que hicieron. La invitación insiste en que todo el equipo "incluyendo Mark Shuttleworth" estarán allí, como si fueramos a caer de rodillas como un puñado de adolescentes cegados por la fama o algo. No, no le pidieron a las demás distribuciones que acudieran a alguna especie de debate neutral sobre empaquetamiento de aplicaciones, solo nos pidieron que fueramos a una sesión de desarrollo pre-acordada de Snappy.)
Eso no es ser constructivo, ni cooperar. Eso es ser un puñado de cabrones e intentar presentarle al resto de la comunidad un hecho ya consumado - y encima, un hecho consumado en el que Canonical maneja todos los hilos (desde la licencia de Canonical CLA controlando las contribuciones al cliente, hasta el servidor que hace de store de código cerrado que es propiedad exclusiva de Canonical).
(...) Canonical es quien siempre hace mierdas como esta. ¿Os parece que publicar una nota de prensa y dar una conferencia de prensa dando la impresión de que tu sistema es maduro y listo para implementarse, y que todas las demás distribuciones están convencidas de usarlo, cuando ninguna de las dos cosas es ni remotamente cierta, es una buena forma de empezar el proceso? ¿Os parece a vosotros una buena forma de comenzar la cooperación y la buena voluntad con las demás distribuciones? No. Es un intento de forzar a la comunidad a aceptar tu sistema usando a la prensa para darle suficiente empuje para que parezca algo ya ejecutado. ¿Por qué cualquier otra distribución iba a sentirse particularmente bien al respecto?
¿Os habeis fijado en que ningún otro distribuidor hace mierdas como esta? Siempre es Canonical. Nosotros no lo hacemos - por mucho que os pueda gustar o disgustar systemd por ejemplo, nosotros no hicimos un paquete a medias para Ubuntu de systemd ni sacamos una nota de prensa diciendo que "Systemd llega a Ubuntu", ¿verdad? SUSE no lo hizo. Arch no lo hizo. Elementary no lo hizo. Debian por supuesto que no lo hizo. Nadie excepto Canonical lo hace. ¿Os habeis fijado en que cuando pasa algo como esto, siempre es Canonical?
Y no es porque los de relaciones públicas de Canonical sean idiotas. Saben exáctamente lo que hacen cuando sacan un comunicado de prensa con un montón de palabras clave y frases cuidadosamente colocadas de forma extremadamente ambigua. Podeis apostar a que no se sorprendieron cuando empezaron a salir noticias de que Snappy era ahora el formato universal de facto de distribucion y que apt y rpm estaban practicamente muertos. (O si lo hicieron, fue en el sentido de "¡que escándalo! ¡he descubierto que aquí se juega!" de la palabra). Sabían exáctamente lo que hacían. ¿Los habeis visto haciendo alguna aclaración, por ejemplo? ¿No? Mmm... me pregunto por qué. Es bastante obvio a partir de los artículos que se han publicado que Canonical hizo una rueda de prensa junto a la publicación, ¿suponemos que se dedicaron a corregir cuidadosamente las suposiciones de los periodistas en esa rueda de prensa? ¿Mmm? No lo parece, ¿verdad?."

Fuente: post de Adam Williamson en su blog personal y sus comentarios en Slashdot

No hay comentarios:

Publicar un comentario