GPLv2 e la sua violazione da parte di Xiaomi

Scopri come Xiaomi sta violando i termini della GPL e in che modo le sue decisioni in tal senso influenzano la comunità Android e il futuro del sistema operativo.

Xiaomi ha annunciato il suo Mi Note Pro dalle specifiche spettacolari, che presenta il l'ultimo dei processori Snapdragon di Qualcomm insieme a un grande display 2K e 4 GB di RAM per un prezzo killer. Detto questo, c’è qualcosa che non va bene nell’offerta di Xiaomi e che preoccupa molti sviluppatori, soprattutto molti trovate qui su XDA: le ripetute violazioni da parte di Xiaomi della licenza GPLv2 per il kernel Linux di cui Android (e quindi i dispositivi Xiaomi), è costruita su.

Xiaomi lo è non è l'unica azienda che ha violato la GPL tuttavia, e in passato anche molti OEM come Rockchip e Micromax lo hanno fatto, e molti continuano il loro comportamento fuorilegge fino ad oggi. Noi ne abbiamo parlato un po' su XDA, e perché non dovremmo? XDA è principalmente una comunità di sviluppatori e siamo noti per fornire a migliaia di utenti esperti modifiche di software che rientrano nella GPL, ma la nostra comunità segue

la nostra politica GPL e quindi non vediamo molta appropriazione losca qui.

Allora cosa sta facendo di sbagliato Xiaomi, esattamente? Ed è illegale, immorale o semplicemente improprio? Poiché potrebbero esserci alcuni lettori, utenti o persino sviluppatori che non sono aggiornati su questi argomenti, diamo una rapida occhiata a cosa significa GPL.

La GNU General Public License (GPL) è una licenza di software libero che garantisce a sviluppatori, OEM, utenti o qualsiasi tipo di organizzazione che unisce i tre per avere accesso illimitato alle basi e alle funzionalità del software che rientra sotto di essa. Possono utilizzare, studiare, condividere e copiare o modificare detto software, poiché si tratta di software libero. Gli sviluppatori GNU del progetto GNU definiscono il software libero in questo modo:

Per “software libero” si intende il software che rispetta la libertà e la comunità degli utenti. Grosso modo significa questo gli utenti hanno la libertà di eseguire, copiare, distribuire, studiare, modificare e migliorare il software. Pertanto, il “software libero” è una questione di libertà, non di prezzo. Per comprendere il concetto, dovresti pensare a “libero” come a “libertà di parola”, non come a “birra gratis”.

Quindi, anche se il software libero (libertà di parola) potrebbe alla fine diventare libero (birra gratis), in realtà si tratta di incoraggiarlo un ambiente di sviluppo che si concentra sul progresso dell'informatica e dell'ingegneria del software attraverso miglioramento collettivo, condivisione e apprendimento del codice di qualsiasi software libero.

Il Progetto GNU ha una visione molto nobile del software e fa campagna perché crede che ogni utente e creatore meriti questa libertà. Non solo consente al pubblico di controllare il programma e ciò che fa, ma anche il software proprietario fa il contrario controllando l’utente attraverso il controllo del programma da parte dello sviluppatore, che ne risulterebbe In uno strumento di potere ingiusto. Con le libertà essenziali del software libero (che consiste nell'eseguire il programma come desideri, studiare come funziona, ridistribuirlo quando vuoi e distribuire le tue modifiche), il software l'ingegneria diventa più simile a una scienza pura che consente di avere documenti anziché brevetti, consentendo a ogni programmatore di dare un'occhiata alla teoria del codice di qualcuno, alle sue metodologie e ai suoi stile di programmazione preferito per approfondire la sua comprensione di come funziona e raccogliere spunti per il suo sviluppo personale. Inoltre, gli permette di prendere quel software e modificarlo.

La parola “proprietario” usata per descrivere il software non libero non implica soltanto che il funzionamento interno del codice sia legalmente non accessibile ad altri; implica anche che il proprietario del software che usi (che si tratti di un'app che scarichi o di un sistema operativo che esegui) è il creatore, e quindi il proprietario decide se puoi copiarlo o condividerlo. Tali ostacoli non liberi portano a un minor numero di persone che utilizzano il programma e imparano da esso, e all'impossibilità per gli utenti di modificare, adattare o correggere il programma. Lasciando da parte le ragioni più etiche della coesione sociale e le sue ideologie nascoste, questo danno materiale ha un impatto notevole sul futuro dell’informatica e dei consumatori, soprattutto considerando che l’informatica e i suoi sottoprodotti sono intrecciati con la vita degli utenti e con il loro futuro - più che mai prima Oggi.

Non c'è nessun problema. Ma ci sono cose che infastidiscono gli OEM. Le persone che tentano di modificare il software libero concesso in licenza sotto GPL devono rispettare alcune regole.

Prima di tutto, i termini devono essere disponibili a chiunque riceva una copia del lavoro concesso in licenza GPL, e a chiunque chi aderisce ai termini della GPL ha il permesso di condividere, studiare e modificare l'opera così come la sua derivati. A differenza di altre licenze, GPL fa consentire che il software libero (libertà di parola) non sia libero (birra gratis), a differenza di altre licenze che vietano esplicitamente la distribuzione commerciale.

Un licenziatario o distributore GPL non può imporre ulteriori restrizioni sui diritti concessi dalla GPL - divieto la distribuzione di software GPL senza la divulgazione esplicita della sua natura o con riservatezza contratti. Tutti i brevetti utilizzati nel software GPL sono disponibili per un uso illimitato per coloro che rispettano i termini GPL.

La GPL richiede inoltre che i programmi distribuiti come binari precompilati siano accompagnati da una copia del codice sorgente e una dichiarazione di non responsabilità che informa l'utente o lo sviluppatore che il software è concesso in licenza GPL o può essere studiato, condiviso o modificato sotto GPL. E una delle parti più importanti, GPL richiede ai distributori di fornire a tutti i destinatari una licenza insieme al programma, così come rendere il codice sorgente ottenibile tramite qualche mezzo per coloro che lo richiedono, insieme a indicazioni chiare su come ottenere il codice sorgente.

Android è concesso in licenza con Apache 2.0 licenza e non GPL. Apache è una licenza più “permissiva” e non presenta gli stessi requisiti della GPL. Non richiede la distribuzione del codice sorgente di un'opera coperta e dell'opera derivata non porta necessariamente la licenza Apache, come la più virale GPL, purché la includi licenza.

Quindi, mentre la GPL promuove la crescita del software libero, Apache è più libertario con il suo approccio allo sviluppo dei termini delle derivazioni future. E gli OEM possono, ad esempio, prendere il software con licenza Apache, aggiungere le loro skin, gonfiare e quant'altro, quindi chiuderlo e mantenere chiusa la fonte. Questo è ciò che fanno Xiaomi e molti OEM. Ma il kernel Linux su cui Android basa le sue basi lo è non concesso in licenza con Apache, per Linux è GPLv2 software e a causa di questa proprietà “virale” o “infettiva” della GPLv2, il kernel di Android basato su Linux che utilizza il codice GPLv2 di Linux ha rimanere GPLv2.

Xiaomi non ha rilasciato i codici sorgente Kernel del suo ramo Android. Poiché il loro kernel è basato sul kernel di Android, che a sua volta è basato sul kernel di Linux, che è GPLv2, i termini della GPLv2 vengono applicati fino a Xiaomi. Se avessero utilizzato il proprio kernel, avrebbero avuto tutto il diritto di non distribuire il proprio sorgente e non avrebbero nemmeno l’obbligo di farlo. Ma modificando e distribuendo software GPL, devono rispettare i termini della GPL, in questo caso la GPLv2.

Utenti e sviluppatori meritano giustamente l'accesso ai codici sorgente del kernel e per XDA la mancanza di tale codice una parte importante del sorgente del kernel Android modificato di Xiaomi significa che è necessario apportare modifiche e armeggiare sui dispositivi Xiaomi prende un colpo. E per una comunità dedita a esplorare il mondo Android e a trasformarlo al meglio, esclusa dalla possibilità di modificare il software dei telefoni di marca OEM in più rapida crescita nel mondo è una questione importante.

Ci sono state petizioni per costringere Xiaomi a conformarsi alla GPLv2 e a rilasciare le proprie fonti in tempo utile, ma finora sono riusciti solo a farci ottenere promesse. E queste promesse non sono ancora state mantenute. Hugo Barra, vicepresidente di Xiaomi, ha promesso nell'ottobre del 2014 che avremmo visto le fonti del kernel per il Mi3 in “nelle prossime settimane”, ma ciò non è mai accaduto. Inoltre, nel dicembre dello scorso anno hanno affermato che le loro fonti non sarebbero state rilasciate nel 2014, ma nel 2015.

Perché Xiaomi non ha rilasciato i sorgenti per il proprio dispositivo Mi3 in tempo utile? Hugo Barra ha dichiarato a dicembre di non averlo fatto per evitare una fuga di informazioni sui loro prossimi dispositivi. Egli afferma:

“Il codice sorgente del kernel per questi dispositivi contiene una quantità significativa di codice sorgente che verrà utilizzato in due modelli imminenti. Se rilasciamo il sorgente del kernel nel suo stato attuale, riveleremo più di quanto vorremmo sui dispositivi futuri. Cambiamo questa situazione in futuro, ma in questo momento è un vincolo con cui dobbiamo convivere. Ci auguriamo che possiate comprendere questa posizione e siamo molto dispiaciuti per la frustrazione che potremmo aver causato!”

Questo giustifica le loro azioni? Ovviamente no. Sono un produttore miliardario in un settore miliardario e sapevano molto bene che il loro codice funzionava secondo i termini della GPLv2 e che dovevano rispettarla. Nel 2013 è stato fatto un annuncio ostentando con orgoglio l’open source di Xiaomi Kernel. Hanno fatto un grosso problema sul fatto che gli sviluppatori siano in grado di personalizzare le ROM per gli smartphone Xiaomi, e i suoi apologeti hanno pubblicizzato Xiaomi come "tutto incentrato sulla condivisione di codice open source". Un anno dopo, i loro codici sorgente vengono ritardati per ragioni ingiustificabili, quando avrebbero dovuto essere distribuiti i sorgenti del kernel consumatori fin dall'inizio, senza aspettare che i consumatori li inseguano con i forconi e senza sputargli in faccia con assurdità ritardi. E questo senza tener conto nemmeno del lavoro di chi li ha preceduti, e del proverbiale merda Xiaomi (e ogni altro OEM che non segue GPLv2) li affronta ogni volta che ne rilasciano uno nuovo dispositivo.

Voglio specificare un'ultima cosa per quei lettori che non hanno familiarità con la distinzione: la GPL è una licenza e non un contratto. Alcune giurisdizioni vedono distinzioni chiave tra questi due, poiché i contratti sono applicabili diritto contrattuale e le licenze rientrano diritto d'autore. Quindi infrangere i termini di una licenza è ancora giudicabile. I distributori che non accettano i termini e le condizioni della GPL non possono copiare e distribuire il software GPL ai sensi di legge. Dal momento che hanno scelto di distribuire il software, sono colpevoli di violazione agli occhi della legge.

Che qualcuno sia in disaccordo o meno con la visione di GNU di un software libero democratico, aperto e inclusivo, non prende in considerazione le decisioni di Xiaomi e la loro reiterata violazione dei termini a cui hanno aderito sbagliato. Stanno traendo profitto da Android ad una velocità che nessun rivale ha mai visto e non seguono le regole che hanno reso Android quello che è oggi, le regole che hanno consentito agli OEM e ai singoli sviluppatori di promuovere la crescita e il progresso all'interno dell'ecosistema del sistema operativo. Le regole che milioni di persone hanno rispettosamente rispettato per creare la propria carriera di successo, le proprie aziende di successo, E il nostro hobby preferito su XDA.

Da un punto di vista pratico, affrontare la questione in un tribunale non è la cosa più semplice. Il governo della Cina è consapevole del furto di brevetti, della pirateria e delle violazioni dei diritti d’autore di ogni sorta che avvengono nel paese, ma non è disposto a fare nulla al riguardo. Molti analisti e accademici danno la colpa a questo plagio latente che la Cina osserva da anni, alcuni suggeriscono che potrebbe trattarsi di un problema parte integrante della filosofia confuciana su cui si basa in gran parte la cultura cinese. Ma che abbiano ragione o meno accademici, analisti o uomini d’affari frustrati, il problema della violazione del copyright cinese riguarda l’intero spettro di prodotti, e Android non è diverso.

Xiaomi è sotto i riflettori come uno degli OEM più importanti di oggi, con un riconoscimento del marchio che cresce di giorno in giorno e una possibile incursione presto nel mercato americano. Anche se le loro violazioni non significano necessariamente molto per il consumatore Android occasionale, hanno un grave impatto non solo sugli sviluppatori, ma sull’ecosistema nel suo insieme. Come suggerisce il progetto GNU, questa particolare pratica, specialmente in questo caso particolare, danneggia il progresso del nostro amato software.

E questa è anche una questione di rispetto e di umiltà. Vi lascio con una citazione di un rivoluzionario visionario che riconobbe che il suo impatto sul mondo era stato tale grazie al lavoro precedente di coloro che lo avevano preceduto. Speriamo che un giorno Xiaomi adotti questa filosofia, rispetti i termini e aiuti Android a prosperare come solo lui sa fare.