Replicant è un sistema operativo Android formato esclusivamente da software libero. Si tratta di un progetto fortemente sostenuto dalla Free Software Foundation, facente parte dei "progetti ad alta priorità".

 

Storia.

Il progetto Replicant si avviò nel 2010 con l'obiettivo di sviluppare un sistema operativo completamente libero per dispositivi mobili, derivante da Android, inizialmente per supportare i dispositivi Nexus One e HTC Dream. Il team originale era composto da Bradley M. Kuhn, Aaron Williamson, Graziano Sorbaioli e Denis Carik. Tutte le parti di Android che richiedevano codice proprietario vennero riscritte, come il software che gestisce le comunicazioni con il modem (Radio Interface Layer - RIL). Lo stesso avvenne per la libreria relativa al sistema di posizionamento GPS, adattata dal codice rilasciato originalmente per un altro dispositivo. Nel frattempo stava nascendo anche il progetto F-Droid, il repository di software libero, e divenne preinstallato in Replicant. Le prime versioni di Replicant si basavano su Android AOSP mentre le versioni dalla 2.2 in poi (aprile 2011) si basarono su CyanogenMod per poter supportare un maggior numero di dispositivi. Come lo sviluppo continuó, molti dei membri del team originale si ritirarono dal progetto lasciando Denis "GNUtoo" Carikli unico membro attivo. Nell'aprile 2011 Paul Kocialkowski sviluppò un port per il Nexus S e i dispositivi Galaxy S, e divenne gradualmente lo sviluppatore principale.

 

Caratteristiche.

Replicant nasce dal codice sorgente di CyanogenMod, eliminandone ogni sua componente proprietaria. Infatti Android, nonostante sia distribuito sotto una licenza libera, contiene in realtà alcune parti proprietarie, fra cui driver e librerie. Questo sistema supporta perciò un numero limitato di smartphone e tablet. Il nome "Replicant" è tratto dalla fiction "replicant androids" del film Blade Runner.

 

F-Droid.

Replicant disapprova l'utilizzo di qualsiasi software proprietario, comprese le cosiddette Google Apps come il Google Play. In sostituzione Replicant consiglia l'utilizzo di F-Droid per trovare, installare e aggiornare applicazioni libere.

 

Sicurezza.

Oltre a risolvere molti potenziali problemi di sicurezza derivabili dall'utilizzo di driver di Android proprietari, il team di Replicant ha scoperto e risolto una pericolosa backdoor presente nativamente sui dispositivi Samsung Galaxy. Gli sviluppatori del progetto Replicant hanno dimostrato come sia effettivamente possibile ottenere da remoto l'accesso ai dati presenti su di un dispositivo affetto da questa vulnerabilità. Sempre secondo il team di Replicant e secondo la Free Software Foundation, Replicant non è affetto da questa backdoor in quanto «Replicant non coopera con le backdoor» e non utilizza il protocollo Samsung IPC, il driver di rete incriminato come causa di questa anti-funzionalità molto grave.

 

Fonte: https://it.wikipedia.org

 

 

La Free Software Foundation in collaborazione con gli sviluppatori del progetto Replicant hanno avviato una raccolta fondi per migliorare il supporto della versione “libera” di Android.

Android è un sistema operativo mobile basato su kernel Linux e sviluppato da Google la quale ne rilascia il codice sorgente per ogni versione rilasciata. Anche se open source, Android non è un progetto completamente “libero” dato che include software proprietario presente nel pacchetto delle applicazioni di Google denominato anche Gapps (che contiene Gmail, Google Play Store, YouTube ecc). Alcuni sviluppatori hanno avviato il progetto Replicant il quale va a rimuovere dai sorgenti di Android Gapps e altro codice fornendo cosi all’utente un sistema operativo mobile completamente open source dal quale è possibile installare applicazioni libere ad esempio con il Market F-Droid. Supportato dalla Free Software Foundation, il progetto Replicant attualmente supporta solo pochi dispositivi, per questo motivo la FSF ha avviato una raccolta fondi con la quale sarà possibile espandere il supporto a più device oltre a migliorarne lo sviluppo e mantenimento. In questa pagina è possibile conoscere le device attualmente supportate dal progetto, in questa sarà possibile effettuare una donazione per supportare il progetto.

Il sito di Replicant

Fonte: https://www.lffl.org

 

 

Anche se Android è principalmente Software Libero, i dispositivi hanno solitamente software proprietario e servizi che impediscono alle persone di utilizzarli in modo indipendente e autonomo. Libera il tuo dispositivo Android: impara come riprendere il controllo dei tuoi dati, con un sistema operativo libero e app libere!

 

Il sistema operativo.

Un sistema operativo è una raccolta di software che ti permette di utilizzare il telefono e di eseguire altre applicazioni su di esso. Anche se Android è principalmente libero, molti telefoni vengono forniti con componenti e add-ons proprietari. Alcuni telefoni hanno un boot loader bloccato che ti impedisce l'avvio o l'installazione di altri sistemi operativi. Se vuoi acquistare un telefono Android, assicurati che il boot loader possa essere sbloccato. Su alcuni dispositivi può essere sbloccato solo con hack ingegnosi e i produttori tendono a dichiarare non valida la garanzia se si sblocca il loro boot loader. Ma, secondo la Direttiva europea 1999/44/CE, il solo fatto di modificare o cambiare il software del tuo dispositivo non è una ragione sufficiente per annullare la garanzia. Si veda il blog di Carlo Piana per maggiori informazioni. Esistono anche aziende che spediscono i loro dispositivi con un boot loader sbloccato o forniscono i mezzi per sbloccarlo. Oltre a questo, è una buona idea controllare se esistano versioni libere di Android che supportino il tuo dispositivo.

 

Replicant.

Replicant è una distribuzione di Android che è al 100% Software Libero. Poiché non utilizza alcun driver proprietario essa funziona su un numero limitato di dispositivi. Ti chiediamo di aiutare Replicant ad estendere il suo supporto a più dispositivi. Puoi contribuire al codice, e donare dispositivi ad un team Replicant che li impiegheranno nei test. Sono disponibili telefoni con Replicant pre-installato su Tehnoetic, che dona parte dei profitti all'iniziativa Replicant.

 

CyanogenMod.

CyanogenMod è una versione di Android che puoi utilizzare senza un account Google. Sebbene sia solitamente più libera rispetto al software con cui è distribuito il tuo dispositivo, la libertà non è il suo principale obiettivo. Mentre CyanogenMod funziona sulla maggior parte dei dispositivi Android, utilizza driver di dispositivo e firmware non libero che sono caricati da un dispositivo e sono inclusi nella ROM. Versioni più recenti includono anche i servizi proprietari Google Play. Abbiamo raccolto informazioni riguardo a come puoi aiutarci per fare in modo che CyanogenMod rimanga libero,e a come puoi identificare e togliere parti non libere. Se conosci altre applicazioni di software non libero aggiunte a CyanogenMod, Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. per favore!

 

Le app.

Per la maggior parte delle persone, il Google Play Store (noto un tempo come Android Market) è la sola o la più importante fonte per le loro applicazioni. Non vi dice nemmeno se una app è Software Libero oppure no, figuriamoci la sua licenza. Purtroppo, la maggior parte delle app da questo o da altri market sono proprietarie. Anche se installi una app Software Libero, non ci sono ragioni per fidarsi dell'app binaria scaricata. Usare il Google Market richiede anche un account Google. Si raccomanda di non usare affatto questo market.

 

F-Droid.

L'iniziativa F-Droid fu avviata per mutare la triste situazione delle app Software Libero nel mondo Android, sviluppando un repository di app Software Libero facilmente installabili su Android. C'è un'applicazione client per Android che permette di navigare facilmente nelle applicazioni Software Libero, installarle sul tuo dispositivo, e tenere traccia degli aggiornamenti. Quando sono disponibili include informazioni su come donare soldi agli autori delle app. Il repository di F-Droid contiene dettagli sulle diverse versioni di ogni applicazione. Puoi anche costruire ed aggiungere il tuo repository personale. Tuttavia, poiché l'iniziativa è molto attiva, sviluppandosi in modo decentrato e aperto alla collaborazione, la creazione di repository personali non è veramente necessaria. Il suo obiettivo è quello di includere tutte le applicazioni utili di Software Libero per Android e di conservare i loro aggiornamenti. Abbiamo raccolto alcune informazioni su come puoi aiutare F-Droid.

 

Sincronizzare i tuoi dati.

Quando si esegue solo Software Libero e quando non ci si basa su servizi di rete non liberi come quelli offerti da Google, potrebbe sembrare che si perda la comodità della sincronizzazione dei contatti, del calendario e di altri dati con gli altri dispositivi. Fortunatamente, vi è abbondanza di Software Libero che svolge anche questo lavoro.

 

Sincronizzazione del Calendario e dei Contatti.

Ci sono varie implementazioni di server Software Libero di CalDAV e CardDAV che puoi usare, come:

Ogni dispositivo dal quale ti piacerebbe accedere ai tuoi contatti e calendario necessita di un client CardDAV e CalDAV. Per i computer puoi usare:

Per i dispositivi Android puoi usare:

 

Sincronizzazione file.

Per mantenere i file sincronizzati fra i dispositivi puoi usare:

 

Sincronizzazione di lettori di feed.

Se di solito tieni traccia dei feed RSS/Atom, allora sarebbe carino essere in grado di mantenere tutti i dispositivi sincronizzati. Ecco alcuni suggerimenti di soluzioni libere che puoi usare:

 

Sincronizzazione del browser web.

È possibile ospitare il proprio server di sincronizzazione Firefox:

È poi possibile utilizzare la configurazione avanzata di sincronizzazione del browser web Firefox per definire il nuovo server e le nuove credenziali da usare.

Sebbene ci sia della documentazione su come ospitare il proprio server di sincronizzazione sul browser web Chrome, è tutto molto "alla buona". Vedere la issue 181429 dell'issue tracker dello sviluppo di Chromium.

 

Fonte: https://fsfe.org

 

 

Android e la libertà degli utenti.

di Richard Stallman
Originariamente pubblicato sul sito The Guardian

Sostenete la campagna Liberate il vostro Android.

In che misura Android rispetta la libertà degli utenti? Per l'utente di un computer che dà valore alla propria libertà questa è la domanda principale da porsi riguardo a qualsiasi sistema software.

Nel movimento per il software libero noi sviluppiamo software che rispetta la libertà degli utenti affinché tutti assieme possiamo evadere dal software che non rispetta la nostra libertà. Al contrario, l'idea dell' “open source” si centra principalmente sulla metodologia di sviluppo; è una diversa corrente di pensiero il cui valore massimo è la qualità del codice piuttosto che la libertà. Perciò la questione da porsi qui non è se Android sia open source, ma se garantisce la libertà degli utenti.

Android è un sistema operativo per telefoni cellulari ed altri dispositivi formato da Linux (il kernel di Torvalds), alcune librerie, una piattaforma Java ed alcune applicazioni. A parte Linux, il software delle versioni Android 1 e 2 è stato sviluppato principalmente da Google; Google lo rilasciò sotto licenza Apache 2.0, una licenza libera sprovvista di copyleft.

La versione di Linux inclusa in Android non è completamente libera dal momento che contiene “blob binari” (proprio come la versione del Linux di Torvalds), alcuni dei quali vengono effettivamente utilizzati in alcuni dispositivi Android. Le piattaforme Android utilizzano anche altri firmware proprietari come pure librerie proprietarie. A parte questi, il codice sorgente delle versioni 1 e 2 di Android, così come rilasciate da Google, è software libero—questo codice però non è sufficiente per il corretto funzionamento del dispositivo. Alcune applicazioni preinstallate in Android sono altrettanto proprietarie.

Android si differenzia radicalmente dal sistema operativo GNU/Linux poiché il componente GNU è in effetti minimo. Infatti l'unico elemento comune tra Android e GNU/Linux è Linux, il kernel. Coloro che in maniera erronea credono che “Linux” si riferisca alla combinazione completa di GNU/Linux rimangono interdetti allorquando confrontati con questi fatti e profferiscono argomenti paradossali come ad esempio “Android contiene Linux ma non è Linux.” (*) Una volta liberatisi da questa confusione, la situazione diventa chiara: Android contiene Linux ma non GNU; perciò Android e GNU/Linux sono essenzialmente molto differenti dal momento che l'unico elemento comune tra i due è Linux.

All'interno di Android, Linux il kernel rimane un programma separato, con il codice sorgente relativo sotto licenza GNU GPL versione 2. Combinare Linux con un codice sorgente sotto licenza Apache 2.0 comporterebbe la violazione del copyright, dal momento che la versione 2 della GPL e Apache 2.0 sono licenze incompatibili. Le voci di un'ipotetica conversione di Linux verso la licenza Apache operata da Google non rispecchiano la realtà; Google non può in alcun modo modificare la licenza del codice di Linux ed infatti non ha nemmeno tentato di farlo. Se gli autori di Linux ne permettessero l'uso sotto licenza GPL versione 3, allora quel codice potrebbe essere combinato con il codice distribuito sotto licenza Apache, e la combinazione potrebbe venire rilasciata come GPL versione 3. Linux però non è stato rilasciato in tale maniera.

Google ha soddisfatto i requisiti della GNU General Public License per Linux, però la licenza Apache delle parti rimanenti di Android non richiede il rilascio del codice sorgente. Google ha affermato che non rilascerà mai il codice sorgente di Android 3.0 (eccetto Linux). Il codice sorgente di Android 3.1 è stato altrettanto trattenuto, facendo di Android 3, escluso Linux, un software pienamente ed evidentemente proprietario.

Google affermò di aver trattenuto il codice sorgente della versione 3.0 a causa della presenza in esso di errori di programmazione e che le persone dovrebbero aspettare la versione successiva. Ciò potrebbe essere un buon consiglio rivolto a coloro che vogliono semplicemente avere accesso ad un sistema Android, però gli utenti dovrebbero avere il diritto di decisione in merito. In ogni caso, i programmatori e gli sperimentatori che desiderino includere modifiche nelle loro versioni personali potrebbero avvalersi benissimo di tale codice.

Fortunatamente, Google in seguito rilasciò il codice sorgente per Android 3.* assieme alla versione 4 (rilasciata altrettanto con il codice sorgente). Il problema discusso sopra risultò essere una aberrazione momentanea piuttosto che un cambiamento di rotta nella politica di Google in relazione ad Android. Comunque, ciò che accade una volta può sempre ripetersi nuovamente.

Ad ogni modo, il più del codice sorgente di Android è stato rilasciato in qualità di software libero. Ciò significa che i dispositivi con queste versioni di Android rispettano la libertà dell'utente? No, per vari motivi la risposta a tale domanda è negativa.

Innanzitutto la maggior parte dei dispositivi in questione contengono applicazioni proprietarie di Google che comunicano con servizi come YouTube e Google Maps. Questi non fanno ufficialmente parte di Android, ma ciò non rende tali dispositivi più accettabili dal punto di vista etico. Molte applicazioni libere disponibili nelle versioni più vecchie di Android sono state sostituite da applicazioni proprietarie; nel 2013 comparvero dispositivi Android in cui la visione di immagini non era possibile se non attraverso un'applicazione proprietaria di Google+. Nel 2014 Google annunciò che le versioni di Android per le TV, gli orologi e le automobili saranno ampiamente non libere.

La maggior parte dei dispositivi Android vengono venduti con il software proprietario Google Play preinstallato (precedentemente “Android Market”). Tale software incoraggia gli utenti, con un account Google, ad installare applicazioni proprietarie. Inoltre Google Play contiene una backdoor attraverso la quale Google può forzatamente installare o rimuovere applicazioni. (Probabilmente ciò fa di Google Play una backdoor universale, anche se questo non è stato dimostrato.) Google Play non fa ufficialmente parte di Android, ma ciò non lo rende più accettabile dal punto di vista etico.

Google ha spostato molte funzioni di base nella Google Play Services library (non libera). Se il codice di una app è libero ma usa questi servizi, in concreto la app è non libera perché non può funzionare su una versione libera di Android, come Replicant.

Se tenete in gran conto la libertà, non installerete le applicazioni proprietarie offerte da Google Play. Per installare applicazioni libere per Android non vi serve Google Play poiché potete ottenerle da F-Droid.org.

I dispositivi Android inoltre contengono librerie proprietarie. Queste non fanno ufficialmente parte di Android, ma dal momento che diverse funzionalità di Android dipendono da esse, le stesse fanno effettivamente parte di ogni installazione di Android.

Perfino i programmi ufficialmente inclusi in Android potrebbero non corrispondere al codice sorgente rilasciato da Google. I produttori potrebbero modificare tale codice e spesso il codice modificato non viene accompagnato dal codice sorgente. La licenza GNU GPL li obbliga a ridistribuire il codice sorgente delle loro versioni di Linux, ammesso che essi rispettino la licenza. Il resto del codice, sotto la licenza debole Apache non richiede il rilascio della versione di Android che questi dispositivi effettivamente contengono.

Un utente confermò che diversi programmi del sistema Android preinstallati nel suo telefono cellulare vennero modificati affinché inviassero dati personali a Motorola. Alcuni produttori occultano nel dispositivo Android un pacchetto di sorveglianza universale come ad esempio l'IQ Carrier.

Replicant è la versione libera di Android. I programmatori di Replicant hanno sostituito molte delle librerie proprietarie per alcuni modelli di smartphone. Le applicazioni proprietarie sono state rimosse, ma comunque voi non vorreste usarle dal momento che sono proprietarie. D'altra parte CyanogenMod (un'altra versione modificata di Android) non è free software dal momento che contiene alcuni programmi proprietari.

Alcuni dispositivi Android sono “tiranni”: sono progettati in modo che l'utente non possa installare od eseguire alcun software personalmente modificato bensì solamente le versioni approvate dalla relativa società. In tal caso i file eseguibili non sono software libero anche se ottenuti da codice sorgente libero e disponibile all'utente. Tuttavia, su alcuni dispositivi Android possiamo ottenere i permessi di “root” al fine di installarvi diversi tipi di software.

Firmware e driver importanti sono generalmente altrettanto proprietari. Questi ultimi gestiscono la rete cellulare, il WiFi, il bluetooth, il GPS, la grafica 3D, la videocamera, l'altoparlante e in alcuni casi persino il microfono. In alcuni dispositivi un paio di questi driver sono liberi e poi ci sono alcuni driver di cui potreste farne a meno—ma certamente il dispositivo necessita di un microfono e di una rete cellulare per un corretto funzionamento.

Il firmware della rete cellulare viene preinstallato nel dispositivo. Qualora la sua unica funzione fosse quella di comunicare con la rete cellulare allorquando e solo quando l'utente lo desiderasse potremmo considerarlo come equivalente di un circuito. Quando marchiamo con insistenza il concetto che il software in un dispositivo di calcolo deve essere libero, possiamo ignorare il firmware preinstallato che non sarà mai aggiornato poiché per l'utente non fa nessuna differenza se si tratta di un programma o di un circuito.

Sfortunatamente, in questo caso si tratta di un circuito malevolo. Funzionalità malevole sono inaccettabili a prescindere dalla natura della loro implementazione.

Nella maggior parte dei dispositivi Android tale firmware esercita un controllo talmente grande sul dispositivo da poter trasformare il telefono in una microspia. In alcuni dispositivi tale firmware controlla il microfono. In altri può appropriarsi del totale controllo del computer principale attraverso la memoria condivisa, e in tal modo può raggirare o rimpiazzare qualunque software libero installato nel dispositivo. Con alcuni, e forse tutti i modelli, è possibile esercitare un controllo remoto di tale firmware al fine di sovrascrivere il resto del software presente nel dispositivo. Il punto principale del software libero è quello di garantire all'utente il controllo del suo software e il modo d'uso del computer stesso; un sistema provvisto di backdoor è inammissibile. Nonostante sia certamente vero che ogni sistema di calcolo può contenere bug, è altrettanto vero che questi dispositivi sono veri e propri microfoni spia. (Craig Murray, nel libro Omicidio a Samarcanda, racconta del suo coinvolgimento in una operazione di intelligence che convertì a distanza il cellulare non-Android dell'ignaro bersaglio in una microspia.)

Ad ogni modo, il firmware della rete cellulare di un telefono Android non è l'equivalente di un circuito poiché l'hardware rende possibile l'installazione di nuove versioni, e di fatto esegue l'installazione di nuove versioni. Essendo il detto firmware proprietario, in pratica solo il produttore può creare versioni aggiornate—non gli utenti.

Sommando i punti precedentemente elencati, potremmo tollerare il firmware proprietario della rete cellulare soltanto qualora avessimo la garanzia che nuove versioni di esso non saranno caricate, che non prenderà il controllo del computer principale ed infine sia in grado di comunicare con la rete solo quando, e nella maniera in cui, il sistema operativo libero permetta che tale comunicazione avvenga. Detto altrimenti, il firmware deve essere equivalente a un circuito elettrico, e tale circuito non deve essere malevolo. Non vi è un ostacolo di natura tecnica che impedisca la produzione di un telefono Android provvisto di tali caratteristiche, ma a nostra conoscenza un telefono del genere non esiste.

Android non è un sistema self-hosting; Android deve essere sviluppato in un altro sistema. Gli strumenti del “software development kit” (SDK) di Google sono in apparenza software libero, ma è molto difficile verificarlo. I file di definizione per alcune API di Google sono proprietarie. L'installazione del SDK richiede la sottoscrizione di una licenza software proprietaria, sottoscrizione che voi dovete declinare. L'SDK di Replicant ne è un sostituto libero.

Di recente l'attenzione della stampa si è focalizzata sulle dispute brevettuali. Da 20 anni conduciamo campagne per l'abolizione dei brevetti software e avvisiamo del rischio concreto del verificarsi di tali dispute. I brevetti software potrebbero forzare l'eliminazione di diverse caratteristiche da Android, o persino renderlo indisponibile. Vedasi endsoftpatents.org per ulteriori informazioni sul perché è necessario abolire i brevetti software.

Tuttavia l'assalto ai brevetti e la risposta di Google non sono direttamente attinenti all'argomento trattato in questo articolo: la modalità in cui i prodotti Android rispettano soltanto parzialmente un sistema etico di distribuzione e la natura in cui gli stessi vengono meno a tale compito. Tale questione merita una equa attenzione della stampa.

Android è un importante passo in avanti verso alla realizzazione di un telefono cellulare etico, controllato dall'utente e basato sul software libero, ma la strada è ancora lunga e Google la sta percorrendo nella direzione sbagliata. Gli hacker stanno lavorando su Replicant, ma il supporto di un nuovo modello di dispositivo è un compito difficile, cosa a cui si aggiunge il problema del firmware. Anche se i telefoni Android oggigiorno sono notevolmente meno nocivi rispetto ai telefoni della Apple o quelli Windows, certamente non possiamo affermare che rispettino la vostra libertà.

 

(*) Una esemplificazione paradossale di questo tipo di confusione di termini appare sul sito linuxonandroid.org, dove si offre assistenza nella “installazione di Linux [sic] sul vostro dispositivo Android.” Questo è assolutamente erroneo: ciò che essi installano è una versione del sistema GNU, eccetto Linux il quale è già parte integrante di Android. Dal momento che il sito web in questione supporta soltanto distribuzioni di GNU/Linux non libere noi non lo raccomandiamo.

Fonte: https://www.gnu.org

 

 

 

Smartphone.jpg