Di Sandboxed Applications e di come cambieranno il modo di distribuire software in Linux

Il sistema di gestione delle applicazioni in Linux si basa sul concetto di pacchetti.
Una singola applicazione è divisa in uno o più pacchetti, e per funzionare richiede l’installazione, oltre che dei propri, anche dei pacchetti relativi alle sue dipendenze , ossia programmi/librerie scritti da terzi e liberamente utilizzabili da chiunque. Questi pacchetti sono organizzati nei depositi (notoriamente detti repository ).

Vantaggi di questo sistema:

  • Basta un semplice comando da terminale o pochi click nel gestore di pacchetti della distro per avere installato il proprio programma preferito.
  • I repository contengono software sicuro e controllato, usandoli si è – relativamente – sicuri di ciò che si installa.
  • Gli aggiornamenti di programmi e librerie sono centralizzati, non dovremo aggiornare i vari programmi singolarmente uno alla volta o, peggio, ricevere infinite richieste di aggiornamento all’avio del computer se non lo usiamo da molto (mi riferisco a te, odiato winzozzo…).
  • Riduzione dello spazio occupato, su hd e in memoria, poichè applicazioni che utilizzano le stesse librerie possono condividerle automaticamente.

Tutti ottimi motivi, ma ci sono anche diversi svantaggi :

  • Impossibile o molto difficile avere differenti versioni dello stesso programma installate contemporaneamente nella propria linux-box .
  • Nessuna separazione concettuale tra librerie di sistema e applicazioni utente.
  • Ogni distribuzione fa storia a se: non è possibile creare un pacchetto di un programma che sia valido per tutte le distro.
  • Impossibile (o complicato) pacchettizzare programmi per distro le cui librerie sono meno aggiornate rispetto a quelle richieste, o che non hanno fra i loro pacchetti quelli richiesti dal programma.

Come risolvere il problema?

Gli sviluppatori Gnome/Fedora stanno da tempo lavorando sulle Sandboxed Applications che offriranno i seguenti vantaggi:

  • Utilizzare un sistema di bundle del programma che, una volta creato, sarà valido su qualunque distro si scelga di installarlo, indipendentemente dalle librerie in esso contenute.
  • Migliorare la privacy dell’utente limitando l’accesso delle applicazioni alle risorse strettamente necessarie per il loro funzionamento: un editor di testo non potrà per esempio accedere alla rubrica della mia mail o alla webcam installata sul mio portatile (da qui il termine ” sandboxed “).
  • Rendere più agevole la creazione del software da parte dei programmatori permettendogli di lavorare in una sandbox apposita.

Ok, ma tecnicamente di che si tratta?

La vera novità riguarda l’introduzione del concetto di runtime , ove per runtime si intende un ambiente ( environment ) ben definito in cui una applicazione possa funzionare.
Esempi tipici di runtime potranno essere “Gnome 3.14” o “KDE 5.6”.
Potremo avere più runtime diversi installati contemporaneamente, come pure differenti versioni dello stesso runtime .

Un’applicazione pensata per un determinato runtime potrà utilizzare tutte le risorse disponibili in quello specifico runtime. Se avrà bisogno di ulteriori librerie dovrà includerle nel bundle con cui verrà distribuita.
Quindi per capirci meglio, se ho una ubuntu LTS con librerie obsolete potrò installarci sopra il runtime “Gnome 3.x” e grazie ad esso potrò installare versioni recenti altrimenti non disponibili per il mio sistema, se non tramite ppa appositi. Il tutto con i vantaggi della sandbox e col vantaggio, per gli sviluppatori di terze parti, di poter creare un unico bundle valido per ogni distribuzione linux che supporta i runtime .

Considerazioni personali

Il progetto in atto è molto ambizioso, smuove dalle fondamenta il concetto stesso di distribuzione Linux. I lavori sono già molto avanti (come prossimo obiettivo c’è la definizione di un runtime di riferimento per la prossima versione di Gnome, la 3.16) e sarà interessante seguirli.
Personalmente ritengo che sia ottimo il tentativo di tutelare la privacy degli utenti tramite sandbox , in fondo è proprio questo che mi aspetto da un sistema free software che pone l’utente al centro della propria esistenza.
Ottimo anche l’idea del runtime , che potrebbe eliminare per sempre la classica risposta dello sviluppatore quando qualcosa non funziona, ossia: “funziona sulla mia macchina”.
I dubbi sono semplici. Come le distro accetteranno questo cambiamento? Un sistema tale non rischia di creare un altro ” walled garden ” come i tanto criticati app store di Android e iOS?
Di certo sarà interessante seguire gli sviluppi di tutto ciò.

Link per approfondire

Wiki ufficiale delle Sandboxed Applications
Blog post originale

Questa voce è stata pubblicata in informatica, linux e contrassegnata con , , , , , , , , , , . Contrassegna il permalink.

Una risposta a Di Sandboxed Applications e di come cambieranno il modo di distribuire software in Linux

  1. Pingback: Visto nel Web – 168 | Ok, panico

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...