Salta al contenuto principale

F-Droid 2.0: dieci anni dopo, si rinnova lo store libero per Android

Inviato da tuxsa il
F-Droid

F-Droid 2.0 è arrivato. Dopo oltre un anno di sviluppo e quattordici versioni di test, il progetto ha pubblicato il più importante aggiornamento della propria applicazione degli ultimi dieci anni, ridisegnando quasi completamente l'interfaccia e modernizzando buona parte del codice. Ma la nuova versione arriva soprattutto in un momento nel quale il ruolo degli store alternativi e la libertà di installare software sui dispositivi Android stanno assumendo un'importanza che va molto oltre l'aspetto tecnico.

F-Droid esiste dal 2010 e parte da un'idea molto semplice: costruire un ecosistema attraverso il quale trovare, installare e aggiornare applicazioni Android libere e open source senza dipendere necessariamente dallo store di Google.

Non è semplicemente un catalogo di APK.

F-Droid dispone di una propria infrastruttura per raccogliere il codice sorgente delle applicazioni, costruirle e distribuirle, insieme ai metadati che permettono all'utente di conoscerne licenza, sorgenti e altre caratteristiche.

È quindi contemporaneamente un'applicazione, un repository e un sistema di distribuzione del Software Libero.

Negli anni, però, Android è cambiato profondamente.

L'interfaccia del sistema si è evoluta, sono cambiate le API, gli strumenti di sviluppo e le aspettative degli utenti, mentre F-Droid continuava inevitabilmente a portarsi dietro una parte considerevole della propria storia.

La versione 2.0 affronta proprio questo problema.

L'interfaccia è stata riscritta utilizzando Kotlin e Jetpack Compose, tecnologie ormai centrali nello sviluppo Android contemporaneo. Non si tratta quindi semplicemente di applicare un nuovo tema grafico a ciò che esisteva precedentemente, ma di costruire fondamenta più moderne sulle quali continuare lo sviluppo nei prossimi anni.

La navigazione principale viene semplificata intorno a tre sezioni: Scopri, Cerca e Le mie app.

Le categorie vengono integrate nell'area dedicata alla scoperta dei programmi, mentre la sezione personale concentra gestione delle applicazioni installate, aggiornamenti ed eventuali problemi.

Può sembrare un normale lavoro di razionalizzazione dell'interfaccia, ma affronta uno dei problemi prodotti proprio dalla crescita di F-Droid.

Quando un repository contiene poche centinaia di programmi è relativamente semplice esplorarlo. Quando le applicazioni diventano migliaia, scoprire il software utile diventa esso stesso un problema.

F-Droid 2.0 migliora quindi ricerca, categorie e meccanismi attraverso i quali vengono presentate le applicazioni.

Il progetto sottolinea però una differenza significativa rispetto ai grandi store commerciali: questa scoperta avviene senza costruire sistemi destinati a tracciare l'utente o a massimizzare artificialmente il tempo trascorso nell'applicazione.

È una distinzione importante.

Uno store commerciale non è necessariamente soltanto un catalogo attraverso il quale trovare software. Può essere contemporaneamente un sistema pubblicitario, uno strumento di raccolta dati, una piattaforma di pagamento e un meccanismo attraverso il quale il proprietario decide quali applicazioni possono raggiungere gli utenti.

F-Droid parte da un modello differente: il suo scopo principale è distribuire Software Libero.

Anche la gestione degli aggiornamenti cambia.

F-Droid 2.0 può controllare automaticamente la disponibilità di nuove versioni in background e installare gli aggiornamenti secondo le preferenze dell'utente, rendendo meno necessario il vecchio gesto di aggiornamento manuale dei repository. Rimangono comunque disponibili opzioni più granulari per chi preferisce mantenere un controllo diretto sul processo.

La nuova versione consente inoltre download e aggiornamenti multipli contemporaneamente, migliora la ricerca includendo descrizioni e traduzioni e può segnalare all'utente eventuali problemi con le applicazioni, per esempio quando cambia una chiave di firma.

Compare anche il supporto opzionale ai colori Material You, permettendo a F-Droid di integrarsi maggiormente nell'aspetto dei sistemi Android moderni.

Dietro l'interfaccia c'è però forse il lavoro più importante.

La riscrittura in Kotlin e Compose dovrebbe rendere il codice più semplice da mantenere e, soprattutto, abbassare la barriera d'ingresso per nuovi sviluppatori.

Un progetto libero può infatti avere un codice completamente disponibile e contemporaneamente essere difficile da modificare se utilizza tecnologie ormai poco familiari alla nuova generazione di programmatori.

La libertà formale del codice non elimina automaticamente il debito tecnico.

Modernizzare un progetto significa quindi anche fare in modo che altre persone possano comprenderlo e continuare a lavorarci.

F-Droid ha dovuto prendere anche una decisione inevitabile: la nuova versione richiede almeno Android 7. Le precedenti versioni dell'app continueranno comunque a funzionare sui vecchi dispositivi.

Non tutto ciò che era previsto è già arrivato.

La funzione Nearby, utilizzata per condividere applicazioni direttamente tra dispositivi senza dipendere da un server centrale, è in fase di riprogettazione. Il progetto sta lavorando a una nuova implementazione con metodi di connessione più affidabili, ma questa parte non è ancora pronta per la prima versione della serie 2.0.

È una funzione che vale la pena seguire proprio perché rappresenta perfettamente la filosofia di F-Droid: due persone dovrebbero poter scambiarsi un'applicazione libera direttamente, senza essere necessariamente obbligate a passare attraverso l'infrastruttura di una grande piattaforma.

Ma la parte più interessante di F-Droid 2.0 non è probabilmente nessuna di queste funzioni.

È il momento nel quale arriva.

Gli smartphone sono diventati i computer personali più diffusi della nostra epoca, eppure il controllo che esercitiamo su di essi può essere molto inferiore a quello che abbiamo tradizionalmente avuto su un normale PC.

Su un computer GNU/Linux consideriamo naturale poter aggiungere repository, scaricare un programma dal sito dello sviluppatore, compilarlo dal codice sorgente oppure creare e distribuire autonomamente un pacchetto.

Sul telefono questa libertà è molto meno scontata.

Gli store sono diventati progressivamente dei guardiani dell'accesso al software: stabiliscono regole, verificano sviluppatori, controllano pagamenti e possono decidere quali applicazioni distribuire.

Naturalmente esiste una ragione seria dietro una parte di questi controlli.

Installare software proveniente da fonti sconosciute comporta rischi reali e la sicurezza degli utenti non può essere liquidata come un problema secondario.

Ma sicurezza e controllo centralizzato non sono necessariamente la stessa cosa.

Possiamo costruire sistemi che verifichino firme, integrità e provenienza del software senza trasformare un singolo soggetto nell'autorità che decide quale programma abbiamo diritto a eseguire sul dispositivo che possediamo.

F-Droid rappresenta da oltre quindici anni uno degli esperimenti più importanti in questa direzione.

E il suo modello contiene anche una lezione interessante per il Software Libero.

Non basta pubblicare il codice di un'applicazione.

Se vogliamo costruire un ecosistema realmente alternativo servono anche gli strumenti attraverso i quali quel software può essere scoperto, verificato, costruito, distribuito e aggiornato.

Altrimenti continueremo ad avere programmi liberi che dipendono completamente da infrastrutture proprietarie per raggiungere i propri utenti.

La libertà del software riguarda quindi anche la distribuzione.

È la stessa ragione per cui i repository delle distribuzioni GNU/Linux hanno avuto un'importanza enorme: non contengono semplicemente programmi, ma costituiscono un'infrastruttura comune attraverso la quale una comunità organizza e distribuisce il proprio software.

F-Droid porta un principio simile nel mondo Android.

La versione 2.0 non rende improvvisamente libero l'intero ecosistema mobile e non elimina la dipendenza di Android da numerose componenti e servizi proprietari.

Ma mantiene aperta una porta fondamentale.

Possiamo avere un dispositivo Android e scegliere un luogo differente dal negozio ufficiale del produttore per procurarci il software. Possiamo sapere quale licenza utilizza un'applicazione, raggiungerne il codice sorgente e, quando la build è riproducibile, avere strumenti per verificare la corrispondenza tra sorgente e pacchetto distribuito.

Sono possibilità che non dovrebbero apparire rivoluzionarie.

Su un computer tradizionale le abbiamo considerate normali per decenni.

Il fatto che oggi sia necessario difenderle sugli smartphone dice molto di come sia cambiato il rapporto tra utenti e dispositivi digitali.

Per questo F-Droid 2.0 è molto più interessante di un semplice redesign.

Il progetto ha modernizzato la propria applicazione per renderla più facile da utilizzare e più semplice da mantenere, ma contemporaneamente continua a sostenere un principio che diventa ogni anno più importante:

se abbiamo acquistato un computer, anche quando quel computer sta nella nostra tasca, dovremmo poter scegliere quale software installarvi e da chi ottenerlo.

F-Droid non rappresenta l'unico modo per esercitare questa libertà.

Ma il fatto che, dopo più di quindici anni, il progetto stia preparando le proprie fondamenta per il prossimo decennio è certamente una buona notizia per chi pensa che la libertà digitale debba esistere anche sugli smartphone.