Finn ut hvordan Xiaomi bryter vilkårene for GPL, og hvordan deres beslutninger om å gjøre det påvirker Android-fellesskapet og fremtiden til operativsystemet.
Xiaomi har annonsert deres spektakulært spesifiserte Mi Note Pro, som har siste innen Qualcomms Snapdragon-prosessorer sammen med en stor 2K-skjerm og 4 GB RAM for en kjempepris. Når det er sagt, er det noe som ikke er så bra med Xiaomis tilbud som er en bekymring for mange utviklere, spesielt mange funnet her på XDA: Xiaomis gjentatte brudd på GPLv2-lisensen for Linux-kjernen som Android (og dermed Xiaomis enheter) er bygd på.
Xiaomi er ikke det eneste selskapet som har brutt GPL skjønt, og tidligere har mange OEM-er som Rockchip og Micromax også gjort det, med mange fortsetter sin ulovlige oppførsel til i dag. Vi snakket litt om dette på XDA, og hvorfor skulle vi ikke det? XDA er først og fremst et utviklerfellesskap, og vi er kjent for å gi tusenvis av avanserte brukere modifikasjoner av programvare som faller inn under GPL, men fellesskapet vårt følger våre GPL-retningslinjer og dermed ser vi ikke mye lyssky tilegnelse her.
Så hva gjør Xiaomi feil, nøyaktig? Og er det ulovlig, umoralsk eller rett og slett upassende? Siden det kan være noen lesere, brukere eller til og med utviklere som ikke er oppdatert på disse sakene, la oss ta en rask titt på hva GPL betyr.
GNU General Public License (GPL) er en gratis programvarelisens som garanterer utviklere, OEM-er, brukere eller alle slags organisasjon som slår sammen de tre for å ha ubegrenset tilgang til grunnlaget og funksjonaliteten til programvaren som faller under den. De kan bruke, studere, dele og kopiere eller endre nevnte programvare, siden det er gratis programvare. GNU-utviklere av GNU-prosjektet definerer fri programvare slik:
"Gratis programvare" betyr programvare som respekterer brukernes frihet og fellesskap. Grovt sett betyr det det brukerne har friheten til å kjøre, kopiere, distribuere, studere, endre og forbedre programvaren. Derfor er "fri programvare" et spørsmål om frihet, ikke pris. For å forstå konseptet bør du tenke på "fri" som i "ytringsfrihet", ikke som i "gratis øl".
Så selv om fri (fri tale) programvare til slutt kan ende opp med gratis (gratis øl), handler det egentlig om å fremme et utviklermiljø som fokuserer på fremdriften innen informatikk og programvareteknikk gjennom kollektiv forbedring, deling og læring av hvilken som helst fri programvares kode.
GNU-prosjektet har et veldig edelt syn på programvare, og de kampanjer fordi de mener at hver bruker og skaper fortjener denne friheten. Ikke bare lar det publikum kontrollere programmet og hva det gjør, men proprietær programvare gjør det motsatte ved å kontrollere brukeren gjennom utviklerens kontroll over programmet, noe som ville resultere i et instrument for urettferdig makt. Med de grunnleggende frihetene til fri programvare (som kjører programmet slik du ønsker, studerer hvordan det fungerer, redistribuerer det når du vil og distribuerer dine egne modifikasjoner), programvare engineering blir mer som en ren vitenskap som lar en ha papirer i stedet for patenter, slik at enhver programmerer kan ta en titt på noens teori om kode, deres metoder og deres foretrukket programmeringsstil å fremme sin egen forståelse av hvordan det fungerer, og samle innsikt for sin personlige utvikling. Dessuten lar det ham ta tak i programvaren og endre den.
Ordet "proprietær" som brukes for å beskrive ikke-fri programvare, antyder ikke bare at kodens indre virkemåte er juridisk upassende for andre parter; det innebærer også at eieren av programvaren du bruker (det være seg en app du laster ned eller et operativsystem du kjører) er skaperen, og dermed bestemmer eieren om du kan kopiere den eller dele den. Slike ikke-frie hindringer fører til at færre bruker programmet og lærer av det, og at brukerne ikke kan endre, tilpasse eller fikse programmet. Hvis man ser bort fra de mer etiske grunnene om sosial samhørighet og dens tilbakeholdende ideologier, har denne materielle skaden en merkbar innvirkning på fremtiden til informatikk og forbrukere, spesielt gitt at informatikk og dens biprodukter er sammenvevd med brukernes liv - og deres fremtid - mer enn noen gang før i dag.
Det er ingen fangst. Men det er ting som irriterer OEM-er. Personene som forsøker å endre fri programvare lisensiert under GPL, må overholde noen regler.
Først av alt må vilkårene være tilgjengelige for alle som mottar en kopi av GPL-lisensiert arbeid, og alle som følger vilkårene for GPL har tillatelse til å dele, studere og endre arbeidet så vel som dets derivater. I motsetning til andre lisenser, GPL gjør tillate at fri (fri tale) programvare ikke er gratis (gratis øl), i motsetning til andre lisenser som eksplisitt forbyr kommersiell distribusjon.
En GPL-lisensinnehaver eller -distributør kan ikke pålegge ytterligere begrensninger på rettighetene gitt av GPL - forbyr distribusjon av GPL-programvare uten eksplisitt avsløring av dens natur, eller under taushetsplikt kontrakter. Alle patenter som brukes i GPL-programvaren er tilgjengelige for ubegrenset bruk for de som overholder GPL-vilkårene.
GPL krever også at programmene som distribueres som forhåndskompilerte binære filer er ledsaget av en kopi av kildekoden og en ansvarsfraskrivelse som informerer brukeren eller utvikleren om at programvaren er GPL-lisensiert eller gratis å bli studert, delt eller modifisert under GPL. Og en av de viktigste delene, GPL krever at distributører gir alle mottakere en lisens sammen med programmet, samt gjøre kildekoden tilgjengelig via et eller annet medium for de som ber om det, sammen med klare instruksjoner om hvordan du får tak i kildekoden.
Android er lisensiert under Apache 2.0 lisens, og ikke GPL. Apache er en mer "tillatt" lisens og har ikke de samme kravene som GPL. Det krever ikke at du distribuerer kildekoden til et dekket verk, og det avledede arbeidet har ikke nødvendigvis Apache-lisensen, som den mer virale GPL, så lenge du inkluderer deres tillatelse.
Så mens GPL fremmer veksten av fri programvare, er Apache mer libertariansk med sin tilnærming til hvordan vilkårene for fremtidige avledninger utvikler seg. Og OEM-er kan for eksempel ta Apache-lisensiert programvare, legge til skins, bloat og hva-har-du, og deretter stenge den og holde kilden lukket. Det er det Xiaomi og mange OEM-er gjør. Men Linux-kjernen som Android baserer grunnlaget på er ikke lisensiert under Apache, for Linux er GPLv2 programvare og på grunn av denne "virale" eller "smittsomme" egenskapen til GPLv2, den Linux-baserte kjernen til Android som bruker Linuxs GPLv2-kode har å forbli GPLv2.
Xiaomi ga ikke ut Android-grenens kjernekildekoder. Siden deres kjerne er basert på Androids kjerne, som er basert på Linuxs kjerne, som er GPLv2, vilkårene for GPLv2 bæres hele veien til Xiaomi. Hvis de ville ha brukt sin egen kjerne, ville de ha all rett til ikke å distribuere kilden sin, og de ville ikke ha noen forpliktelse til å gjøre det heller. Men ved å modifisere og distribuere GPL-programvare, må de overholde GPL-vilkårene, i dette tilfellet GPLv2.
Brukere og utviklere fortjener rettmessig tilgang til kjernekildekodene, og for XDA mangelen på en slik viktig del av Xiaomis modifiserte Android-kjernekilde betyr at tweaking og triksing på Xiaomi-enheter får et slag. Og for et fellesskap som er viet til å utforske Android-verdenen og gjøre den til det beste den kan være, å bli utelatt fra å endre programvaren til telefoner fra raskest voksende OEM i verden er en viktig sak.
Det har vært begjæringer for å få Xiaomi til å overholde GPLv2 og frigi kildene deres i rett tid, men så langt har de bare klart å få oss løfter. Og disse løftene har fortsatt ikke blitt holdt. Hugo Barra, visepresident i Xiaomi, lovet i oktober 2014 at vi skulle se kjernekilder for Mi3 i "i løpet av de neste ukene", men det skjedde aldri. Dessuten sa de i desember i fjor at kildene deres ville bli frigitt ikke i 2014, men i 2015.
Hvorfor ga ikke Xiaomi ut kildene for Mi3-enheten deres i rett tid? Hugo Barra sa i desember at de ikke gjorde det for å forhindre en informasjonslekkasje på deres kommende enheter. Sier han:
"Kjernekildekoden for disse enhetene inneholder en betydelig mengde kildekode som vil bli brukt i to kommende modeller. Hvis vi slipper kjernekilden i dens nåværende tilstand, vil vi avsløre mer enn vi ønsker om fremtidige enheter. Vi vil endre dette fremover, men akkurat nå er det en begrensning vi må leve med. Vi håper du kan forstå denne posisjonen, og vi beklager frustrasjonen vi kan ha forårsaket!"
Rettferdiggjør dette deres handlinger? Selvfølgelig ikke. De er en milliardærprodusent i en milliardærindustri, og de visste godt at koden deres kjørte under GPLv2s vilkår og at de måtte overholde den. I 2013 en kunngjøring ble gjort stolt av Xiaomi Kernels åpne kildekode. De gjorde en stor avtale om at utviklere kunne tilpasse ROM-er for Xiaomi-smarttelefoner, og apologetene deres utpekte Xiaomi som "alt om åpen kildekode-deling av kode". Spol et år fremover og kildekodene deres er forsinket av uforsvarlige årsaker, når kjernekildene deres skulle ha blitt distribuert til forbrukere fra starten, uten å vente på at forbrukerne skal jage dem med høygafler og uten å spytte dem i ansiktet med absurd forsinkelser. Og det tar ikke engang hensyn til arbeidet til de som har gått foran dem, og det ordspråklige dritt Xiaomi (og alle andre OEM som ikke følger GPLv2) tar på dem hver gang de slipper en ny enhet.
Jeg vil spesifisere en siste ting for de leserne som ikke er kjent med skillet: GPL er en lisens og ikke en kontrakt. Noen jurisdiksjoner ser viktige forskjeller mellom disse to, ettersom kontrakter kan håndheves av kontraktsrett og lisenser faller inn under opphavsrett. Så å bryte en lisensperiode er fortsatt rettslig. Distributørene som ikke godtar GPLs vilkår og betingelser kan ikke kopiere og distribuere GPL-programvare i henhold til loven. Siden de valgte å distribuere programvaren, er de skyldige i brudd i lovens øyne.
Enten noen er uenig i GNUs visjon om demokratisk, åpen og inkluderende fri programvare, eller ikke, tar ikke Xiaomis avgjørelser, og deres gjentatte brudd på vilkårene de kjøpte seg inn i, i hvert fall feil. De tjener på Android i en hastighet ingen rival har sett og de følger ikke reglene som gjorde Android til det det er i dag, reglene som gjorde at både OEM-er og individuelle utviklere kunne fremme vekst og fremgang i OS-økosystemet. Reglene som millioner respektfullt har overholdt for å skape sine egne vellykkede karrierer, sine egne suksessrike selskaper, og vår favoritthobby på XDA.
Fra et praktisk perspektiv er det ikke det letteste å gå om dette i en domstol. Kinas regjering er advart av patenttyveri, piratkopiering og opphavsrettsbrudd av alle slag og slag som foregår i landet, men er uvillig til å gjøre noe med det. Mange analytikere og akademikere skylder på dette latent plagiat som Kina har sett i årevis, noen antyder at det kan være en integrert del av konfuciansk filosofi som kinesisk kultur i stor grad er basert på. Men uansett om akademikere, analytikere eller frustrerte forretningsmenn har rett eller ikke, ser problemet med kinesiske opphavsrettsbrudd hele spekteret av produkter, og Android er ikke annerledes.
Xiaomi er i søkelyset som en av de viktigste OEM-ene i dag, med en merkevaregjenkjenning som vokser for hver dag og en mulig inntrengning i det amerikanske markedet snart. Selv om bruddene deres ikke nødvendigvis betyr mye for den tilfeldige Android-forbrukeren, har det en alvorlig innvirkning på ikke bare utviklere, men økosystemet som helhet. Som GNU-prosjektet antyder, skader denne spesielle praksisen, spesielt i dette spesielle tilfellet, fremdriften til vår elskede programvare.
Og dette er også et spørsmål om respekt og ydmykhet. Jeg gir deg et sitat av en visjonær revolusjonær som erkjente at hans innvirkning på verden var så takket være det tidligere arbeidet til de før ham. La oss håpe Xiaomi adopterer denne filosofien en dag, overholder vilkårene og hjelper Android med å blomstre som bare den kan.