GPLv2 și încălcarea acesteia de către Xiaomi

Aflați cum Xiaomi încalcă termenii GPL și cum decizia lor de a face acest lucru afectează comunitatea Android și viitorul sistemului de operare.

Xiaomi și-a anunțat Mi Note Pro, cu specificații spectaculoase, care include cele mai recente în procesoarele Qualcomm Snapdragon alături de un ecran mare de 2K și 4 GB de RAM la un preț ucigător. Acestea fiind spuse, există ceva care nu este atât de bun despre ofertele Xiaomi care este o preocupare pentru mulți dezvoltatori, în special pentru mulți găsit aici pe XDA: încălcările repetate de către Xiaomi ale licenței GPLv2 pentru nucleul Linux care este Android (și, prin urmare, dispozitivele Xiaomi). construit pe.

Xiaomi este nu este singura companie care a încălcat GPL totuși, și în trecut, mulți producători OEM, cum ar fi Rockchip și Micromax, au făcut acest lucru, mulți continuând comportamentul de haiduc până în prezent. Noi am vorbit puțin despre asta pe XDA, și noi de ce nu? XDA este în primul rând o comunitate de dezvoltatori și suntem cunoscuți pentru că oferim mii de utilizatori puternici modificări ale software-ului care se încadrează sub GPL, dar comunitatea noastră urmează

politica noastră GPL și astfel nu vedem prea multă însuşire umbrită aici.

Deci, ce face Xiaomi greșit, exact? Și este ilegal, imoral sau pur și simplu impropriu? Deoarece ar putea exista unii cititori, utilizatori sau chiar dezvoltatori care nu sunt la curent cu aceste chestiuni, haideți să aruncăm o privire rapidă la ce înseamnă GPL.

Licența publică generală GNU (GPL) este o licență de software gratuită care garantează dezvoltatorilor, OEM-urilor, utilizatorilor sau orice fel de organizație care le îmbină pe cele trei pentru a avea acces nelimitat la bazele și funcționalitatea software-ului care cade sub ea. Ei pot folosi, studia, partaja și copia sau modifica respectivul software, deoarece este software gratuit. Dezvoltatorii GNU ai Proiectului GNU definesc software-ul liber astfel:

„Software gratuit” înseamnă software care respectă libertatea și comunitatea utilizatorilor. Aproximativ, înseamnă că utilizatorii au libertatea de a rula, copia, distribui, studia, schimba și îmbunătăți software-ul. Astfel, „software-ul liber” este o chestiune de libertate, nu de preț. Pentru a înțelege conceptul, ar trebui să vă gândiți la „liber” ca la „libertatea de exprimare”, nu ca la „bere gratuită”.

Deci, în timp ce software-ul liber (de exprimare liberă) ar putea ajunge în cele din urmă să fie gratuit (bere gratuită), într-adevăr este vorba despre promovarea un mediu de dezvoltator care se concentrează pe progresul informaticii și al ingineriei software prin intermediul îmbunătățire colectivă, partajare și învățare a oricărui cod de software gratuit.

Proiectul GNU are o viziune foarte nobilă asupra software-ului și fac campanie pentru că cred că fiecare utilizator și creator merită această libertate. Nu numai că permite publicului să controleze programul și ceea ce face acesta, ci și software-ul proprietar face opusul controlând utilizatorul prin controlul programului de către dezvoltator, ceea ce ar rezulta în un instrument al puterii nedrepte. Cu libertățile esențiale ale software-ului liber (care sunt să ruleze programul cum doriți, să studiați cum funcționează, să-l redistribuiți când doriți și să vă distribuiți propriile modificări), software-ul ingineria devine mai mult ca o știință pură care permite cuiva să dețină documente, mai degrabă decât brevete, permițând fiecărui programator să ia un punct de vârf la teoria codului cuiva, metodologiile și stilul de programare preferat pentru a-și îmbunătăți propria înțelegere a modului în care funcționează și pentru a aduna perspective pentru dezvoltarea lui personală. Mai mult, îi permite să apuce acel software și să-l modifice.

Cuvântul „proprietar” folosit pentru a descrie software-ul non-liber nu implică doar faptul că funcționarea interioară a codului este în afara temeiului altor părți; implică, de asemenea, că proprietarul software-ului pe care îl utilizați (fie că este o aplicație pe care o descărcați sau un sistem de operare pe care îl rulați) este creatorul și, astfel, proprietarul decide dacă îl puteți copia sau partaja. Astfel de obstacole non-libere duc la mai puține persoane care folosesc programul și învață din el și la incapacitatea utilizatorilor de a modifica, adapta sau repara programul. Lăsând deoparte temeiurile mai etice despre coeziunea socială și ideologiile sale reținătoare, această vătămare materială are un impact vizibil în viitorul informaticii și al consumatorilor, mai ales având în vedere că informatica și produsele sale secundare sunt împletite cu viețile utilizatorilor - și cu viitorul acestora - mai mult ca niciodata astăzi.

Nu există nicio captură. Dar există lucruri care îi enervează pe OEM. Persoanele care încearcă să modifice software liber licențiat conform GPL trebuie să respecte anumite reguli.

În primul rând, termenii trebuie să fie disponibili pentru oricine care primește o copie a lucrării licențiate GPL și oricui care aderă la termenii GPL are permisiunea de a partaja, studia și modifica lucrarea, precum și ea derivate. Spre deosebire de alte licențe, GPL face permite ca software-ul liber (liberă exprimare) să nu fie liber (bere gratuită), spre deosebire de alte licențe care interzic în mod explicit distribuția comercială.

Un licențiat sau un distribuitor GPL nu poate impune restricții suplimentare cu privire la drepturile acordate de GPL - interzicând distribuirea de software GPL fără dezvăluirea explicită a naturii acestuia sau sub dezvăluire contracte. Toate brevetele utilizate în software-ul GPL sunt disponibile pentru utilizare nelimitată pentru cei care respectă termenii GPL.

GPL cere, de asemenea, ca programele care sunt distribuite ca binare pre-compilate să fie însoțite de o copie a codului sursă și o clauză de declinare a răspunderii care informează utilizatorul sau dezvoltatorul că software-ul are licență GPL sau care poate fi studiat, partajat sau modificat conform GPL. Și una dintre cele mai importante părți, GPL cere distribuitorilor să ofere tuturor destinatarilor o licență împreună cu programul, precum și făcând ca codul sursă să poată fi obținut printr-un mediu pentru cei care îl solicită, alături de instrucțiuni clare cu privire la modul de obținere a codului sursă.

Android este licențiat sub Apache 2.0 licență, și nu GPL. Apache este o licență mai „permisivă” și nu are aceleași cerințe ca GPL. Nu necesită să distribuiți codul sursă al unei lucrări acoperite și al lucrării derivate nu are neapărat licența Apache, ca GPL mai virală, atâta timp cât le includeți licență.

Așadar, în timp ce GPL promovează creșterea software-ului liber, Apache este mai libertarian cu abordarea lor asupra modului în care se dezvoltă termenii derivatelor viitoare. Și OEM-urile pot, de exemplu, să ia software-ul cu licență Apache, să-și adauge skin-urile, să-și umfle și ce-ai, apoi să-l închidă și să păstreze sursa închisă. Ceea ce face Xiaomi și mulți OEM. Dar nucleul Linux pe care Android își bazează bazele este nu licențiat sub Apache, pentru Linux este GPLv2 software și datorită acestei proprietăți „virale” sau „infecțioase” a GPLv2, nucleul Android bazat pe Linux care utilizează codul GPLv2 Linux are să rămână GPLv2.

Xiaomi nu a lansat codurile sursă Kernel ale filialei sale Android. Deoarece Kernel-ul lor se bazează pe Kernel-ul Android, care se bazează pe Kernel-ul Linux, care este GPLv2, termenii GPLv2 sunt transportați până la Xiaomi. Dacă și-ar fi folosit propriul Kernel, atunci ar avea tot dreptul să nu-și distribuie sursa și nici nu ar avea nicio obligație să facă acest lucru. Dar prin modificarea și distribuirea software-ului GPL, ei trebuie să respecte termenii GPL, în acest caz GPLv2.

Utilizatorii și dezvoltatorii merită pe bună dreptate acces la codurile sursă Kernel, iar pentru XDA lipsa unui astfel de parte importantă a sursei modificate a nucleului Android de la Xiaomi înseamnă că modificarea și modificarea pe dispozitivele Xiaomi primește o lovitură. Și pentru o comunitate dedicată explorării lumii Android și transformării acesteia în cea mai bună posibilitate, fiind lăsată în afara modificării software-ului telefoanelor din OEM cu cea mai rapidă creștere din lume este o chestiune importantă.

Au existat petiții pentru ca Xiaomi să respecte GPLv2 și să-și elibereze sursele în timp util, dar până acum nu au reușit decât să ne câștige promisiuni. Și aceste promisiuni încă nu au fost respectate. Hugo Barra, vicepreședintele Xiaomi, a promis în octombrie 2014 că vom vedea sursele Kernel pentru Mi3 în „în următoarele câteva săptămâni”, dar asta nu s-a întâmplat niciodată. Mai mult, în decembrie anul trecut au spus că sursele lor vor fi lansate nu în 2014, dar în 2015.

De ce Xiaomi nu a lansat sursele pentru dispozitivul lor Mi3 la timp? Hugo Barra a spus în decembrie că nu au făcut acest lucru pentru a preveni o scurgere de informații pe viitoarele lor dispozitive. El declară:

„Codul sursă al nucleului pentru aceste dispozitive conține o cantitate semnificativă de cod sursă care va fi folosit în două modele viitoare. Dacă lansăm sursa kernel-ului în starea sa actuală, vom dezvălui mai multe decât ne-am dori despre dispozitivele viitoare. Vom schimba acest lucru în viitor, dar acum este o constrângere cu care trebuie să trăim. Sperăm că puteți înțelege această poziție și ne pare foarte rău pentru frustrarea pe care am putut-o fi cauzat!”

Acesta justifică acțiunile lor? Desigur că nu. Sunt un producător miliardar într-o industrie miliardară și știau foarte bine că codul lor rulează în condițiile GPLv2 și că trebuie să se conformeze acestuia. În 2013 a fost făcut un anunț etalând cu mândrie faptul că Xiaomi Kernel este open-source. Ei au făcut o afacere importantă pentru ca dezvoltatorii să poată personaliza ROM-urile pentru smartphone-urile Xiaomi, iar apologeții săi au spus că Xiaomi este „totul despre partajarea codului open-source”. Înainte rapid cu un an și codurile lor sursă sunt amânate din motive nejustificate, când sursele Kernel-ului ar fi trebuit să fie distribuite către consumatorii de la început, fără să aștepte ca consumatorii să-i urmărească cu furci și fără să le scuipe în față cu absurd întârzieri. Și asta nici măcar nu ține cont de munca celor care au mers înaintea lor și de proverbial prostii Xiaomi (și orice alt OEM care nu urmează GPLv2) ia asupra lor de fiecare dată când lansează un nou dispozitiv.

Vreau să precizez un ultim lucru pentru acei cititori care nu sunt familiarizați cu distincția: GPL este o licență și nu un contract. Unele jurisdicții văd distincții cheie între acestea două, deoarece contractele sunt executorii de către lege contractuala iar licențele se încadrează în drepturi de autor. Deci încălcarea termenului de licență este încă judecabilă. Distribuitorii care nu acceptă termenii și condițiile GPL nu pot copia și distribui software-ul GPL conform legii. Din moment ce au ales să distribuie software-ul, se fac vinovați de încălcarea legii.

Indiferent dacă cineva nu este de acord cu viziunea GNU despre software liber democratic, deschis și incluziv sau nu, nu ia deciziile Xiaomi și încălcarea reiterativă a termenilor pe care i-a cumpărat, cu atât mai puțin gresit. Ei profită de pe urma Android cu o viteză pe care niciun rival nu a văzut-o și nu respectă regulile care au făcut Android ceea ce este astăzi, regulile care au permis producătorilor OEM și dezvoltatorilor individuali deopotrivă să stimuleze creșterea și progresul în cadrul ecosistemului OS. Regulile pe care milioane de oameni le-au respectat cu respect pentru a-și crea propriile cariere de succes, propriile companii de succes, și hobby-ul nostru preferat la XDA.

Dintr-o perspectivă practică, a face acest lucru într-o instanță de judecată nu este cel mai ușor lucru. Guvernul Chinei este conștient de furtul de brevete, pirateria și încălcările drepturilor de autor de tot felul și felurile care au loc în țară, dar nu este dispus să facă nimic în acest sens. Mulți analiști și academicieni dau vina pe acest lucru plagiat latent pe care China le-a văzut de ani de zile, unii sugerând că ar putea fi un parte integrantă a filozofiei confucianiste pe care se bazează în mare măsură cultura chineză. Dar indiferent dacă academicienii, analiștii sau oamenii de afaceri frustrați au sau nu dreptate, problema încălcării drepturilor de autor din China vede întregul spectru de produse, iar Android nu este diferit.

Xiaomi este în centrul atenției ca unul dintre cei mai importanți producători OEM ai zilelor noastre, cu o recunoaștere a mărcii care crește pe zi ce trece și o posibilă incursiune pe piața americană în curând. În timp ce încălcările lor nu înseamnă neapărat mult pentru consumatorul ocazional de Android, are un impact sever nu doar asupra dezvoltatorilor, ci și asupra ecosistemului în ansamblu. Așa cum sugerează Proiectul GNU, această practică specială, mai ales în acest caz particular, dăunează progresului iubitului nostru software.

Și aceasta este, de asemenea, o chestiune de respect și umilință. Vă las cu un citat al unui revoluționar vizionar care a recunoscut că impactul său asupra lumii a fost atât de mult datorită muncii anterioare a celor dinaintea lui. Să sperăm că Xiaomi va adopta această filozofie într-o zi, respectă termenii și ajută Android să prospere așa cum numai el poate.