# F-Droid

F-Droid è un catalogo di applicazioni libere per Android, realizzato tramite un software lato client e uno lato server, entrambi coperti da licenza libera (rispettivamente GNU GPLv3+ e GNU AGPL).

## Caratteristiche

F-Droid è un client per dispositivi Android che aggrega il catalogo delle applicazioni interrogando periodicamente i depositi di software (repository) configurati, tipicamente quello ufficiale gestito dalla comunità di F-Droid, che contiene esclusivamente software libero. Il client originale di F-Droid era basato sull'applicazione Aptoide sviluppata da Roberto Jacinto.
Le seguenti caratteristiche, elencate in semplice ordine alfabetico, distinguono F-Droid da Google Play.

### Anonimato

    Per accedere al catalogo F-Droid è sufficiente installare il client, senza necessità di alcuna forma di registrazione.

### Catalogo offline

    L'elenco e i dettagli delle applicazioni disponibili sono salvati sul proprio dispositivo, consentendo di sfogliare il catalogo anche senza una connessione a Internet.

### Comunità e sviluppo

    Gli utenti di F-Droid sono invogliati a partecipare attivamente allo studio e allo sviluppo delle singole applicazioni, ognuna delle quali riporta esplicitamente: come mettersi in contatto con chi mantiene il software, come segnalare idee o problemi, come effettuare donazioni e sotto quale licenza libera è distribuita.

### Condivisione

    Ogni applicazione è condivisibile tramite Bluetooth o con la funzionalità Invia apps, che permette di pubblicare le proprie applicazioni nella rete locale attraverso Wi-Fi. La condivisione avviene legalmente grazie alla licenza libera delle applicazioni.

### Note su funzionalità controverse

    Poiché il codice sorgente di tutte le applicazioni è sempre disponibile, la comunità è in grado di far sì che F-Droid avverta l'utente a priori se una data applicazione contiene pubblicità o se si basa su servizi di rete non liberi o su software proprietario (e quindi se potrebbe svolgere attività indesiderate non verificabili). Queste funzionalità, solitamente non gradite, sono chiamate anti-funzionalità (da anti-features in lingua inglese). L'installazione del software con tali caratteristiche è comunque possibile, purché la loro presenza sia chiaramente segnalata prima dell'installazione.

### Retro-compatibilità e collaudi sperimentali

    Di ogni applicazione è possibile scaricare sia l'ultima versione che le versioni precedenti, per consentire retrocessioni di versione. Alcune di queste versioni possono essere contrassegnate come sperimentali per essere distribuite a scopi di collaudo e successivamente contrassegnate come stabili. Sempre per scopi di collaudo è inoltre possibile installare applicazioni che, teoricamente, non sono supportate dal proprio dispositivo per mancanza di alcune caratteristiche, come ad esempio il multi-touch o i permessi di root.

### Sicurezza

    Tutte le applicazioni la cui versione ha l'etichetta source sono state compilate direttamente a partire dal codice sorgente. Ciò significa che il codice sorgente riportato è effettivamente funzionante e che non sono state inserite anti-funzionalità nel momento fra compilazione e distribuzione (cosa che potrebbe invece verificarsi per applicazioni open source presenti su Google Play, dove l'applicazione è compilata e caricata da parte dello sviluppatore e potrebbe cioè non rispecchiare il codice sorgente proposto). L'app F-Droid è a sua volta nell'elenco delle app disponibili da F-Droid e subisce gli aggiornamenti come una qualsiasi altra app in F-Droid.

## Progetto

Il deposito di F-Droid contiene un numero sempre crescente di applicazioni (più di 3.530 a luglio 2021). Il progetto si divide in:
* un client software per cercare, scaricare, aggiornare e verificare le applicazioni Android da un repository di F-Droid;
* fdroidserver, uno strumento per gestire e creare nuovi repository;
* un front end WordPress per i repository.
Le app di F-Droid sono compilate a partire da codice sorgente liberamente disponibile e a licenza libera. Il progetto è gestito da volontari e non ha nessun processo formale di accettazione per le app. Sia gli sviluppatori che gli utenti possono liberamente ampliare il catalogo app di F-Droid. L'assenza di codice proprietario è l'unico requisito richiesto alle applicazioni nel catalogo F-Droid.

## Il client

Il client F-Droid non può essere incluso nel catalogo di Google Play perché quest'ultimo vieta la pubblicazione di applicazioni concorrenziali. Per questo motivo, oltre che per evitare d'utilizzare il catalogo Google, che è software proprietario, il client F-Droid è pubblicato soltanto al di fuori di esso, in particolare sul sito web ufficiale.
F-Droid rispetta la privacy degli utenti: non traccia gli utenti, né i loro dispositivi. Per poter utilizzare il client non è necessario avere un account e questo non invia al server nessun dato identificativo oltre al numero di versione.
Il client è progettato per essere resistente alla sorveglianza, alla censura e alle connessioni Internet inaffidabili. Per favorire l'anonimato, supporta proxy HTTP e repository ospitati su servizi Tor (The Onion Router). I dispositivi client possono funzionare come "app store" estemporanei, distribuendo le applicazioni scaricate ad altri dispositivi tramite Wi-Fi locale, Bluetooth e Android Beam.