La storia dietro AppImage [Intervista]
Come utente Linux, potresti aver trovato un AppImages. Questo è un formato di packaging portatile che consente di eseguire un’applicazione su qualsiasi distribuzione GNU/Linux.
L’uso di un file AppImage è davvero semplice. Devi solo dargli il permesso di esecuzione e fare doppio clic per eseguirlo, come i file .exe in Windows. Ciò risolve un grave problema belle distribuzioni GNU/Linux poiché diversi tipi di distribuzioni hanno diversi tipi di formati di packaging. Ad esempio non è possibile installare i file .deb (di Debian/Ubuntu e relative derivate) su Fedora e viceversa.
Abbiamo parlato con Simon Peter, lo sviluppatore di AppImage, di come e perché ha creato questo progetto.
Interagire con Simon Peter, il creatore di AppImage
Poche persone conoscono la persona dietro AppImage. Che ne dici di condividere un po’ di informazioni di base su di te?
Simon: Ciao, sono Simon Peter, con sede vicino a Francoforte, in Germania. Il mio background è in economia e amministrazione aziendale, ma sono sempre stato uno smanettone e un hacker nel mio tempo libero, e ho lavorato nel mondo della tecnologia da quando mi sono laureato.
AppImage, tuttavia, è strettamente un hobby su cui mi piace lavorare nel mio tempo libero. Faccio molto del mio lavoro su AppImage mentre sono su un treno che va da qui a lì. In qualche modo mi sembra di essere sempre in movimento. Professionalmente, lavoro nella gestione dei prodotti di una grande azienda di telecomunicazioni.
Perché hai creato AppImage?
Simon: Il primo computer su cui ho potuto mettere le mani era un Macintosh alla fine degli anni ’80. Per me, questo è il punto di riferimento quando si tratta di semplicità e usabilità. Quando ho iniziato a sperimentare Linux sul desktop, ho sempre desiderato che fosse elegante e semplice da usare e mi desse la stessa flessibilità dei primi Mac.
Quando ho provato Linux per la prima volta alla fine degli anni ’90, ho dovuto attraversare un processo complesso, formattando e partizionando i dischi rigidi, installando roba e mi ci è voluto molto tempo ed era davvero scomodo. Un paio di anni dopo, ho provato un CD-ROM live di Linux. È stato un completo cambio di rotta. Ho inserito il CD, avviato il computer e tutto ha funzionato, immediatamente. Nessuna installazione, nessuna configurazione. Il sistema era sempre in uno stato come nuovo di fabbrica ogni volta che si riavviava la macchina. Esattamente come mi è piace.
C’era solo un aspetto negativo: non era possibile installare applicazioni aggiuntive su un CD di sola lettura. I pacchetti hanno sempre insistito per scrivere in /usr, dove il Live CD non era scrivibile. Quindi, mi sono chiesto: perché non posso semplicemente mettere le applicazioni dove voglio, come su un’unità USB o una condivisione di rete, come sul Mac? Quanto sarebbe bello se ogni applicazione fosse solo un singolo file che posso mettere dove voglio? E così è nata l’idea di AppImage (allora sotto il nome di “klik”).
Nel tempo i sistemi Live sono diventati più capaci, ma mi piace ancora la semplicità e la libertà che derivano dall’idea “una app = un file”. Ad esempio, voglio avere il controllo di dove risiedono le cose sui miei dischi rigidi. Voglio decidere cosa aggiornare o non aggiornare e quando. Per la maggior parte delle attività ho bisogno di un sistema operativo stabile, che cambia raramente con le ultime applicazioni. Fino ad oggi tutto ciò che ho mai eseguito sono sistemi Live, perché il sistema operativo così “funziona” fuori dalla scatola senza alcuna installazione o configurazione per me, e ogni volta che riavvio la macchina ho un “come nuovo di fabbrica”, sempre in buono stato.
Quali sfide hai affrontato in passato e quali sfide stai affrontando in questo momento?
Simon: La gente mi ha detto che l’idea era folle e non avevo idea di come “le cose sono fatte su Linux”. Proprio quando stavo cominciando a cedere, mi sono imbattuto in un video di Linus Torvalds dove tante persone si lamentavano di quanto fosse complicato distribuire applicazioni per Linux. Mentre guardavo il suo sfogo, ho anche notato, ehi, AppImage risolve davvero molti di questi problemi. Qualche tempo dopo, Linus si imbatté in AppImage e apparentemente gli piacque l’idea. Questo mi ha fatto pensare, forse non è un’idea così folle come la gente mi ha fatto credere fino a quel momento.
Oggi, le persone tendono a menzionare AppImage come “uno dei nuovi formati di pacchetto” insieme a Snap e Flatpak. Penso che sia paragonare le mele alle arance. Non solo AppImage non è “nuovo” (è in circolazione da oltre un decennio ormai), ma ha anche obiettivi e principi di progettazione molto diversi rispetto agli altri sistemi. AppImage si basa su pacchetti di applicazioni a file singolo che possono essere “gestiti” solo con un browser Web e un file manager. È pensato per “gente normale”, utenti finali, non amministratori di sistema. Non ha bisogno di un gestore di pacchetti, non ha bisogno di diritti di root, non ha bisogno di essere installato sul sistema. Dà completa libertà agli sviluppatori e agli utenti delle applicazioni.
AppImage è un “sistema di packaging universale” e lì competi con Snap (supportato da Ubuntu) e Flatpak (supportato da Fedora). Come pensi di “combattere” contro queste grandi corporazioni?
Simone: Vedi? Questo è ciò che intendo. AppImage gioca in un campo di gioco completamente diverso.
AppImage vuole essere ciò che i file exe o PortableApps sono per Windows e quello che i file app all’interno dei file dmg sono sul Mac ma meglio.
Inoltre, Snap (supportato da Canonical ) non funziona immediatamente su Fedora e Flatpak (supportato da Red Hat ) non funziona immediatamente su Ubuntu. AppImages può essere eseguito su entrambi i sistemi e molti altri, senza la necessità di installare nulla.
Come vedi l’adozione di AppImage? Sei contento della sua crescita?
Simon: All’inizio del 2020, in pratica ad oggi, ci sono circa 1.000 AppImages ufficiali realizzate dai rispettivi autori dell’applicazione che stanno superando i miei test di compatibilità e centinaia di altre sono in fase di elaborazione mentre parliamo. Le applicazioni “più popolari” come Inkscape, Kdenlive, KDevelop, LibreOffice, PrusaSlicer, Scribus, Slic3r, Ultimaker Cura (troppe per nominarle tutte) vengono distribuite già in formato AppImage. Questo mi rende molto felice e sono sempre entusiasta quando leggo che una nuova versione viene rilasciata su Twitter, e quindi sono in grado di scaricare ed eseguire l’AppImage all’istante, senza dover aspettare che la mia distribuzione Linux mi porti quella nuova versione, e senza dover buttare via la vecchia versione (conosciuta) solo perché voglio provare quella nuova (sconosciuta).
L’adozione di AppImage è particolarmente efficace per build notturne e continue. Questo perché il concetto di “un’unica app = un file” di AppImage si presta particolarmente bene alla prova del software, in cui si mantengono più versioni a scopo di test e non si deve mai installare nulla nel sistema in esecuzione. La cosa peggiore che può accadere con AppImage è che un’applicazione non si avvia. In tal caso, invia un bug, elimina il file, fatto. La cosa peggiore che può accadere con i pacchetti di una distribuzione: completa rottura del sistema …
Un grosso problema con AppImage è che non tutti gli sviluppatori forniscono un modo semplice per aggiornare le versioni di AppImage. Qualche suggerimento per gestirlo?
Simon: AppImage ha questo concetto di “binary delta updates”. Pensalo come “diff per applicazioni”. Esce una nuova versione di un’applicazione, scarichi solo le parti che sono state modificate e le applichi alla versione precedente. Di conseguenza, ottieni sia la vecchia che la nuova versione e puoi mantenerle parallele fino a quando non hai stabilito che non hai più bisogno della vecchia versione e quindi buttarla via.
In generale, non voglio far valere nulla con AppImage. Gli autori delle applicazioni sono liberi di controllare l’intera esperienza. Gli autori delle applicazioni devono eseguire alcune operazioni di configurazione per creare AppImages con questa funzionalità di aggiornamento. Detto questo, sono convinto che se rendiamo per gli sviluppatori abbastanza facile da far funzionare gli aggiornamenti siffatti “gratuitamente”, molti li offriranno. A tal fine, sto attualmente lavorando a un nuovo set di strumenti scritto in Go che imposterà gli aggiornamenti quasi automaticamente e spero che questo aumenti in modo significativo la percentuale di AppImages che presenteranno questa funzionalità.
Nitrux è una delle rare distribuzioni che si basa fortemente su AppImage. O ci sono altre distribuzioni del genere? Cosa si può fare per rendere AppImage più popolare?
Simon: le distribuzioni GNU/Linux tradizionalmente volevano anche controllare la distribuzione delle applicazioni. Ora, mentre Apple e Microsoft stanno cercando di ottenere un maggiore controllo sulla distribuzione delle applicazioni sulle loro piattaforme desktop, la tendenza si sta lentamente invertendo nella terra Linux dove le persone stanno lentamente iniziando a capire che le distribuzioni potrebbero essere molto più raffinate se si concentrassero sul sistema operativo di base e lasciassero il pacchetto di applicazioni agli autori dell’applicazione.
Per rendere AppImage più popolare, penso che gli utenti e gli autori delle applicazioni dovrebbero continuare a spargere la voce che gli AppImages forniti a monte funzionano in molti casi meglio dei pacchetti della distribuzione. Con AppImage, si ottiene uno stack software in cui l’autore dell’applicazione ha avuto la possibilità di scegliere quali versioni delle librerie inserire, testare e ottimizzare per funzionalità e prestazioni.
Gli ambienti desktop potrebbero aumentare notevolmente l’usabilità, non solo per AppImages, ma anche per qualsiasi altro tipo di applicazione che non viene installata. Basta vedere come un ambiente desktop gestisce il doppio clic su un file eseguibile in cui manca il bit eseguibile. Alcuni stanno facendo un ottimo lavoro in questo senso, come Deepin Linux. Le cose tendono a “funzionare” lì come dovrebbero.
Infine, sto attualmente lavorando a una nuova serie di strumenti scritti in Go che spero semplificheranno notevolmente e renderanno ancora più piacevole la produzione e l’uso di AppImages. Il mio obiettivo qui è quello di rendere le cose meno complesse per gli utenti, rimuovere la necessità di configurazione, rendere le cose “solo funzionanti”, come nei primi Macintosh. Ci sono sviluppatori Go qui interessati a partecipare allo sforzo?
Vedo che esiste un sito Web che elenca le applicazioni AppImage disponibili. Hai in programma di integrarlo con altri gestori software su Linux o creare un gestore software per AppImage?
Simon: appimage.github.io elenca le AppImages che hanno superato i miei test di compatibilità sulla più vecchia versione di Ubuntu LTS ancora supportata. I progetti che creano app store o gestori software sono liberi di utilizzare questi dati. Io stesso, non sono molto interessato a queste cose in quanto scarico sempre AppImages direttamente dalle pagine di download del rispettivo progetto. La mia scoperta tipica di AppImage è la seguente:
- Leggi su Twitter che PrusaSlicer ha questa nuova fantastica funzionalità
- Vai al progetto PrusaSlicer GitHub e leggi le note di rilascio lì
- Da lì, scarica l’AppImage e fallo funzionare pochi secondi dopo
Quindi per me personalmente, non ho bisogno di app centre e app store, ma se piacciono alle persone, sono liberi di inserire AppImages. Non ho mai sentito il bisogno …
Quali piani hai per AppImage in futuro (nuove funzionalità che prevedi di aggiungere)?
Simon: Semplificare ancora di più le cose, rimuovere le opzioni di configurazione, fare in modo che le cose “funzionino”. Ridurre il numero di progetti GitHub necessari per ottenere l’esperienza AppImage di base per la produzione e l’uso di AppImages, inclusi aspetti come “binary delta updates”, sandboxing, ecc. Migliorare l’usabilità.
Il progetto AppImage fa soldi? Che tipo di supporto cerchi dagli utenti finali?
Simon: No, AppImage non guadagna affatto. Chiederò solo ai lettori di spargere la voce: “Di agli autori della tua applicazione preferita che vorresti vedere un’AppImage e perché”.
Cosa ne pensate?
Fonte: http://feedproxy.google.com/~r/ItsFoss/~3/SqMuOaQk1UA/
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.