La historia de fondo de AppImage [Interview]

Como usuario de Linux, es posible que se haya encontrado AppImages. Este es un formato de empaquetado portátil que le permite ejecutar una aplicación en cualquier distribución de Linux.

Usar AppImage es realmente simple. Solo necesita darle permiso de ejecución y hacer doble clic para ejecutarlo, como los archivos .exe en Windows. Esto resuelve un problema importante en Linux, ya que diferentes tipos de distribuciones tienen diferentes tipos de formatos de empaque. No puede instalar archivos .deb (de Debian / Ubuntu) en Fedora y viceversa.

Hablamos con Simon, el desarrollador de AppImage, sobre cómo y por qué creó este proyecto. Lea algunos de los antecedentes interesantes y los conocimientos que comparte Simon sobre AppImage.

Interactuando con Simon Peter, el creador de AppImage

Es FOSS: pocas personas conocen a la persona detrás de AppImage. ¿Qué tal si compartes un poco de información general sobre ti?

Simón: Hola, soy Simon Peter, residente cerca de Frankfurt en Alemania. Mi experiencia es en Economía y Administración de Empresas, pero siempre he sido un hacker y un hacker en mi tiempo libre, y he estado trabajando en tecnología desde que me gradué.

AppImage, sin embargo, es estrictamente un pasatiempo en el que disfruto trabajando en mi tiempo libre. Hago mucho de mi trabajo de AppImage mientras estoy en un tren que va de aquí para allá. De alguna manera parezco estar en movimiento todo el tiempo. Profesionalmente, trabajo en la gestión de productos de una gran empresa de telecomunicaciones.

Es FOSS: ¿Por qué creaste AppImage?

Simón: La primera computadora que pude tener en mis manos fue una Macintosh a finales de los 80. Para mí, este es el punto de referencia en lo que respecta a simplicidad y usabilidad. Cuando comencé a experimentar con Linux en el escritorio, siempre deseé que fuera tan elegante y simple de operar y que me diera tanta flexibilidad como las primeras Mac.

Cuando probé Linux por primera vez a finales de los 90, tuve que pasar por un proceso engorroso formateando y particionando discos duros, instalando cosas – tomó mucho tiempo y fue realmente engorroso. Un par de años después, probé un Live CD-ROM de Linux. Fue un cambio de juego completo. Introdujo el CD, arrancó la computadora y todo funcionó, nada más sacarlo de la caja. Sin instalación, sin configuración. El sistema siempre estaba en un estado nuevo de fábrica cada vez que reiniciaba la máquina. Exactamente como me gustó.

Solo había un inconveniente: no se podían instalar aplicaciones adicionales en un CD de solo lectura. Los paquetes siempre insistían en escribir en / usr, donde el Live CD no se podía escribir. Por lo tanto, me pregunté: ¿Por qué no puedo simplemente poner aplicaciones donde quiera, como en una unidad USB o en un recurso compartido de red, como estoy acostumbrado desde Mac? ¿Qué tan genial sería si cada aplicación fuera un solo archivo que pudiera colocar donde quisiera? Y así nació la idea de AppImage (en ese entonces bajo el nombre de “klik”).

Resulta que con el tiempo los sistemas Live se han vuelto más capaces, pero todavía me gusta la simplicidad y libertad que viene con la idea de “una aplicación = un archivo”. Para example, Quiero tener el control de dónde residen las cosas en mis discos duros. Quiero decidir qué actualizar o no actualizar y cuándo. Para la mayoría de las tareas, necesito un sistema operativo estable, que rara vez cambia, con las últimas aplicaciones. Hasta el día de hoy, todo lo que ejecuto son sistemas en vivo, porque el sistema operativo “simplemente funciona” de fábrica sin ninguna instalación o configuración de mi parte, y cada vez que reinicio la máquina tengo un “nuevo de fábrica”, conocido en buen estado Expresar.

Es FOSS: ¿Qué desafíos enfrentó en el pasado y qué desafíos enfrenta ahora?

Simón: La gente me dijo que la idea era una locura y que no tenía ni idea de cómo “se hacen las cosas en Linux”. Justo cuando comenzaba a ceder, me encontré con un video de Linus Torvalds de todas las personas que noté que se quejaban de muchas de las mismas cosas que siempre había sentido que eran demasiado complicadas cuando se trataba de distribuir aplicaciones para Linux. Mientras miraba su perorata, también me di cuenta de que, en realidad, AppImage resuelve muchos de esos problemas. Algún tiempo después, Linus se encontró con AppImage y aparentemente le gustó la idea. Eso me hizo pensar, tal vez no sea una idea tan estúpida como la gente me había hecho creer todo el tiempo hasta ese momento.

Hoy en día, la gente tiende a mencionar AppImage como “uno de los nuevos formatos de paquete” junto con Snap y Flatpak. Creo que es comparar manzanas con naranjas. AppImage no solo no es “nuevo” (existe desde hace más de una década), sino que también tiene objetivos y principios de diseño muy diferentes a los de otros sistemas. AppImage se trata de paquetes de aplicaciones de un solo archivo que no pueden ser “administrados” por nada más que un navegador web y un administrador de archivos. Está destinado a “meras costumbres”, usuarios finales, no administradores de sistemas. No necesita un administrador de paquetes, no necesita derechos de root, no necesita nada para ser instalado en el sistema. Da total libertad a los desarrolladores y usuarios de aplicaciones.

Es FOSS: AppImage es un “sistema de empaquetado universal” y allí compites con Snap (respaldado por Ubuntu) y Flatpak (respaldado por Fedora). ¿Cómo planeas ‘luchar’ contra estas grandes corporaciones?

Simón: ¿Ver? Eso es lo que quiero decir. AppImage juega en un campo de juego completamente diferente.

AppImage quiere ser lo que son los archivos exe o PortableApps para Windows y las aplicaciones dentro de los archivos dmg en Mac, pero mejor.

Además, Snap (respaldado por Canónico) no funciona de forma inmediata en Fedoray Flatpak (respaldado por sombrero rojo) no funciona de forma inmediata en Ubuntu. AppImages puede ejecutarse en cualquier sistema, y ​​muchos más, sin la necesidad de instalar nada.

Es FOSS: ¿Cómo ve la adopción de AppImage? ¿Estás contento con su crecimiento?

Simón: A principios de 2020, ahora hay alrededor de 1,000 AppImages oficiales creadas por los respectivos autores de la aplicación que están pasando mis pruebas de compatibilidad y pueden ejecutarse en la versión más antigua de Ubuntu LTS que aún es compatible, y se están trabajando en cientos más mientras hablamos. Las aplicaciones de “nombre del hogar” como Inkscape, Kdenlive, KDevelop, LibreOffice, PrusaSlicer, Scribus, Slic3r, Ultimaker Cura (demasiadas para nombrarlas todas) se están distribuyendo en formato AppImage. Esto me hace muy feliz y siempre estoy emocionado cuando leo sobre una nueva versión que se lanzará en Twitter, y luego puedo descargar y ejecutar AppImage instantáneamente, sin tener que esperar a que mi distribución de Linux lleve esa nueva versión, y sin tener que deshacerme de la versión anterior (conocida en buen estado) solo porque quiero probar la nueva (borde sangrante) uno.

La adopción de AppImage es especialmente sólida para compilaciones nocturnas y continuas. Esto se debe a que el concepto de “una aplicación = un archivo” de AppImage se presta especialmente bien para probar software, donde se mantienen múltiples versiones para propósitos de prueba y nunca se tiene que instalar nada en el sistema en ejecución. Lo peor que puede pasar con AppImage es que una aplicación no se inicie. En ese caso, presente un error, elimine el archivo, listo. Lo peor que puede pasar con los paquetes de distribución: rotura total del sistema …

Es FOSS: un problema importante con AppImage es que no todos los desarrolladores proporcionan una manera fácil de actualizar las versiones de AppImage. ¿Alguna sugerencia para manejarlo?

Simón: AppImage tiene este concepto de “actualizaciones delta binarias”. Piense en ello como “diff para aplicaciones”. Aparece una nueva versión de una aplicación, descarga solo las partes que han cambiado y las aplica a la versión anterior. Como resultado, obtiene tanto la versión anterior como la nueva y puede mantenerlas en paralelo hasta que haya determinado que ya no necesita la versión anterior y deséchela.

En general, no quiero hacer cumplir nada con AppImage. Los autores de la aplicación tienen la libertad de controlar toda la experiencia. Hasta ahora, los autores de aplicaciones tienen que realizar algunos trabajos de configuración para crear AppImages con esta capacidad de actualización. Dicho esto, estoy convencido de que si hacemos que sea lo suficientemente fácil para los desarrolladores obtener actualizaciones binarias delta “gratis”, muchos las ofrecerán. Con este fin, actualmente estoy trabajando en un nuevo conjunto de herramientas escritas en Go que configurarán actualizaciones casi automáticamente, y espero que esto aumente significativamente el porcentaje de AppImages que vienen con esta capacidad.

Es FOSS: Nitrux es una de las raras distribuciones que se basa en gran medida en AppImage. ¿O existen otras distribuciones similares? ¿Qué se puede hacer para que AppImage sea más popular?

Simón: Las distribuciones de Linux tradicionalmente se han considerado a sí mismas como algo más que el sistema operativo base en sí, también querían controlar la distribución de aplicaciones. Ahora, mientras Apple y Microsoft intentan tener más control sobre la distribución de aplicaciones en sus plataformas de escritorio, la tendencia se está revirtiendo lentamente en la tierra de Linux, donde la gente está comenzando a comprender que las distribuciones podrían ser mucho más pulidas si se enfocaran en el sistema operativo base. y dejó el paquete de aplicaciones a los autores de la aplicación.

Para hacer que AppImage sea más popular, creo que los usuarios y los autores de aplicaciones deberían seguir haciendo correr la voz de que las AppImages proporcionadas en sentido ascendente en muchos casos funcionan mejor que los paquetes de distribución. Con AppImage, obtiene una pila de software en la que el autor de la aplicación tuvo la oportunidad de seleccionar qué versiones de las bibliotecas funcionan juntas, probar y ajustar tanto la funcionalidad como el rendimiento. ¿Quién se sorprende de que el resultado tiende a funcionar mejor que una combinación “aleatoria” de cualquier versión que haya sucedido en una distribución de Linux en un momento determinado y aleatorio en el que se armó una versión de distribución?

Los entornos de escritorio podrían aumentar en gran medida la usabilidad, no solo para AppImages, sino también para cualquier otro tipo de aplicaciones “de carga lateral” que no se estén instalando. Solo vea cómo los entornos de escritorio manejan el doble clic en un archivo ejecutable al que le falta el bit ejecutable. Algunos están haciendo un gran trabajo en este sentido, como Deepin Linux. Las cosas tienden a “simplemente funcionar” allí como deberían.

Por último, actualmente estoy trabajando en un nuevo conjunto de herramientas escritas en Go que espero que simplifiquen enormemente y hagan aún más agradable la producción y el consumo de AppImages. Mi objetivo aquí es hacer las cosas menos complejas para los usuarios, eliminar la necesidad de configuración, hacer que las cosas “simplemente funcionen”, como en los primeros Macintosh. ¿Hay algún desarrollador de Go interesado en unirse al esfuerzo?

Es FOSS: puedo ver que hay un sitio web que enumera las aplicaciones de AppImage disponibles. ¿Tiene planes de integrarlo con otros administradores de software en Linux o crear un administrador de software para AppImage?

Simón: appimage.github.io enumera las AppImages que han pasado mis pruebas de compatibilidad en la versión más antigua de Ubuntu LTS que aún se admite. Los proyectos que crean tiendas de aplicaciones o administradores de software son libres de usar estos datos. Yo mismo, no estoy muy interesado en esas cosas, ya que siempre descargo AppImages directamente desde las páginas de descarga del proyecto respectivo. Mi descubrimiento típico de AppImage es el siguiente:

  1. Sigue leyendo Twitter que PrusaSlicer tiene esta nueva característica genial
  2. Vaya al proyecto PrusaSlicer GitHub y lea las notas de la versión allí
  3. Mientras esté allí, descargue la AppImage y haga que se ejecute unos segundos más tarde.

Así que para mí, personalmente, no necesito centros de aplicaciones ni tiendas de aplicaciones, pero si a la gente le gustan, pueden poner AppImages allí. Simplemente nunca sentí la necesidad …

Es FOSS: ¿Qué planes tiene para AppImage en el futuro (nuevas funciones que planea agregar)?

Simón: Simplifique las cosas aún más, elimine las opciones de configuración, haga que las cosas “simplemente funcionen”. Reduzca la cantidad de proyectos de GitHub necesarios para obtener la experiencia principal de AppImage para producir y consumir AppImages, incluidos aspectos como actualizaciones binarias delta, sandboxing, etc. Mejore la usabilidad.

Es FOSS: ¿El proyecto AppImage genera ingresos? ¿Qué tipo de apoyo (si lo hay) busca de los usuarios finales?

Simón: No, AppImage no genera dinero en absoluto.

Solo pediré a los lectores que corran la voz. Dígale a los autores de su aplicación favorita que le gustaría ver una AppImage y por qué.

Team It’s FOSS felicita a Simon por su arduo trabajo. No dude en transmitirle cualquier mensaje y consulta en la sección de comentarios.