# AppImage

AppImage es un formato para distribuir software portátil en paquetes universales en Linux sin necesidad de permisos de superusuario para instalar la aplicación. Con este formato se intenta permitir la distribución de software binario independiente de la distribución de Linux para desarrolladores de aplicaciones, también llamado empaquetado de upstream. Lanzado por primera vez en 2004 bajo el nombre de klik, fue desarrollado continuamente, y luego renombrado en 2011 a PortableLinuxApps y más tarde en 2013 a AppImage.

## Descripción
### Objetivos

AppImage es concebido como un sistema de implementación de aplicaciones para Linux que tiene como objetivos la simplicidad, la compatibilidad binaria, independencia de la distribución, ausencia de instalación, ausencia de permisos de superusuario, ser portátil y mantener intacto el sistema operativo subyacente.

### Propiedades

AppImage no instala la aplicación en el sentido tradicional de Linux. En lugar de colocar los diversos archivos de la aplicación en los lugares apropiados de la distribución en el sistema de archivos, el archivo AppImage es solo la imagen comprimida de la aplicación. Cuando se ejecuta, el archivo se monta con el sistema de archivos en el espacio de usuario (FUSE, por sus siglas en idioma inglés). Este comportamiento es coherente con los predecesores de AppImage, klik y PortableLinuxApps.
Este formato utiliza un archivo por aplicación. Cada archivo es autónomo: incluye todas las bibliotecas de las que depende la aplicación que no son parte del sistema base objetivo. Una aplicación AppImage de la versión 1.0 es un archivo Rock Ridge de la norma ISO 9660 que contiene un AppDir (Directorio de Aplicaciones) mínimo y un entorno de ejecución pequeño. La versión 2 del formato AppImage puede usar otros formatos de imagen del sistema de archivos como SquashFS. Se puede agregar una aplicación de AppImage a un CDVivo agregando solo un archivo a este.
Los archivos de AppImage son más simples que la instalación de una aplicación. No se necesitan herramientas de extracción, ni es necesario modificar el sistema operativo o el entorno del usuario. Los usuarios habituales en las distribuciones Linux comunes pueden descargarlo, hacerlo ejecutable y ejecutarlo. Sin embargo, a diferencia de los archivos ejecutables bajo los sistemas operativos Microsoft Windows, los archivos del formato AppImage no están registrados en el sistema, lo que significa que si hay archivos presentes en el computador que pueden abrirse con esta aplicación, estos no serán abiertos al hacer doble clic en ellos. Para solventar este problema, se han creado algunas aplicaciones que se ejecutan en un terminal de texto Linux, como appimaged. En otros casos, los programadores que elaboran los archivos AppImage han añadido la funcionalidad del registro automático de la aplicación.

## Historia
### klik

klik, el predecesor del formato AppImage, fue diseñado en el año 2004 por el economista y programador alemán Simon Peter. El software del lado del cliente tenía licencia GPL. Los archivos klik se integraban con navegadores web en la computadora del usuario. Los usuarios descargaban e instalaban software escribiendo una URL que comenzaba con klik://. Con ello, era descargado un archivo klik de "receta", que se utilizaba para generar un archivo .cmg. Para los ingredientes principales, generalmente los paquetes .deb preconstruidos de los repositorios estables de Debian se incorporaban en el proceso de generación del archivo .cmg de "receta". De esta forma, una "receta" podría usarse para suministrar paquetes a una amplia variedad de plataformas. Con klik, solo se podían ejecutar ocho programas a la vez debido a la limitación de montar imágenes comprimidas con el núcleo Linux, a menos que se utilizara FUSE. El archivo era re-montado cada vez que se ejecutaba el programa, lo que significa que el usuario podía eliminar el programa simplemente borrando el archivo .cmg. La siguiente versión del formato, klik2, estaba en desarrollo; e incorporaría de forma nativa el módulo de kernel de FUSE, pero nunca llegó más allá de la etapa de software beta. Alrededor de 2011, el proyecto klik quedó inactivo y la página de inicio se desconectó por un tiempo.

### PortableLinuxApps

Simon Peter inició un proyecto sucesor denominado PortableLinuxApps con objetivos similares en ese momento. La tecnología fue adaptada, por ejemplo, por el repositorio "portablelinuxgames.org", que proporciona cientos de videojuegos en su mayoría de código abierto.

### AppImage

Alrededor del año 2013, el software cambió su nombre de portableLinuxApps a AppImage; la licencia se convirtió en la licencia MIT. AppImage es el formato y AppImageKit es una implementación concreta de código abierto. El desarrollo ocurre en un repositorio de GitHub con los últimos cambios desde el año 2018.

## Ejemplos de aplicaciones portátiles Appimage

Klik fue en 2007 la inspiración para el proyecto glick de Alexander Larsson, el precursor de Flatpak que se lanzó en 2016.
La aplicación del creador de Linux, Linus Torvalds para registros de buceo Subsurface comenzó a ser presentada en formato AppImage alrededor de 2015.
El software de partituras musicales MuseScore comenzó en abril de 2016 comenzó a ser distribuido en forma de compilaciones de AppImage para la implementación de software para todas las distribuciones Linux.
Krita, un software de pintura digital que es software libre y de código abierto, también se implementa utilizando AppImage desde la versión 3.0 en mayo de 2016.
digiKam, una aplicación de gestión de fotografías de código abierto, también incluye un paquete de AppImage de la versión 5.3.0, lanzado en noviembre de 2016.
LMMS, una estación de trabajo de audio digital de código abierto, comenzó a distribuirse como AppImage desde la versión 1.2.0-RC5.
La suite ofimática LibreOffice desde la versión 5.4.7 también es ofrecida en formato AppImage por el experto informático italiano Antonio Faccioli en distintos idiomas con o sin ayuda incorporada en versiones identificadas en idioma inglés con los nombres siguientes:
* Basic (Versión Básica). Con soporte para idioma inglés.
* Still (Versión Fija)
* Fresh (Versión Nueva, que es la más reciente en el tiempo)
* Standard (Versión Estándar). Con soportes para los idiomas inglés americano y británico, árabe, chino simplificado y tradicional, francés, alemán, japonés, italiano, coreano, portugués de Brasil y Portugal, ruso y español.
Estas versiones funcionan en distintas distribuciones Linux en las versiones que se detallan y las más recientes: Ubuntu 10.04 LTS, Debian 6, Fedora 12, openSUSE 11.3, Mageia 2, PCLinuxOS 2013.07.15, Puppy 6, Salix 13.37 (Slackware) y CentOS 6. Sin embargo, el funcionamiento, aunque puede darse en computadoras con LibreOffice instalado también puede no estarlo, a condición de que sean instalados el entorno Java (usado en el gestor de base de datos LibreOffice Base) y GStreamer (usado en el gestor de presentaciones LibreOffice Impress).