Logo da.androidermagazine.com
Logo da.androidermagazine.com

Hvad gaflen er en 'gaffel'?

Indholdsfortegnelse:

Anonim

De sidste par dage har du sandsynligvis hørt ordet "gaffel" flere gange, end du kan tælle. Facebook gaffede dette (selvom det ikke gjorde det), Amazon gaffer det, Chrome-teamet gaffelede hele nettet, og så videre og så videre. Mens alle taler om, hvem der forfalsker hvem, er det ikke nogen der gider at forklare nøjagtigt, hvad der er gafleri, og hvorfor så mange mennesker har problemer med det.

Forking, eller knust, fik lidt af en dårlig rep tilbage for 20 år eller deromkring siden, da det havde en tendens til at opdele udviklere i separate fraktioner, der ikke delte koden med hinanden. I dagene med ting som Gnu-Emacs / XEmacs var dette vigtigt, fordi der ikke var næsten så mange mennesker, der var i stand til at arbejde på disse store open source-projekter, og at have to grene eller gafler betød, at det tager længere tid at tilføje funktioner og adresser spørgsmål for begge sider. I nogle tilfælde sker dette stadig, jeg er sikker på, men for det meste er der masser af udviklere, der kan udfylde det tomrum, der er tilbage af dem, der har en separat vision og vil afkode kode for at følge det. Men nogle mennesker glemmer aldrig, og stigmatiseringen, der er knyttet til gaffeltrucks, går bort. Når alt dette er sagt, kan vi ikke lade som om dårlige gafler ikke sker. Vi er bare nødt til at se forbi selve handlingen, inden vi træffer vores beslutninger.

Jeg ved, at nogle få af jer derude ved, hvad alt dette betyder, og prøver bare at ignorere al støj, men for mange er det forvirrende. Lad os prøve at ordne det.

Hvad er en softwaregaffel, og hvordan påvirker den Android?

Tænk på Android en flok kode. Der er to dele - open source-delene, som AOSP er, og de beskyttede dele, som Google holder for sig selv. Hvis nogen vil tage Google Android og foretage ændringer i den, vil de downloade koden, der skal bruges som base, og danne deres eget projekt med det. Samsung gør det, HTC gør det, og din foretrukne ROM-udvikler gør muligvis det. Når nogen tager eksisterende kode, og starter et uafhængigt (det er en vigtig forskel) -projekt baseret på det, har de oprettet en gaffel. Mange udviklere vil tjekke kode, redigere dele af den og derefter sende deres ændringer tilbage opstrøms i deres helhed, hvilket ikke er en gaffel.

Amazon løftede ganske mange øjenbryn, da det gaffede Android til at bygge OS til Kindle Fire-linjen. Men på open source-siden af ​​tingene var det ikke anderledes end hvad Motorola gjorde med Cliq, eller HTC gjorde med Hero - eller hvad Samsung gør nu til Galaxy-serienhederne. Sådan fungerer mange store open source-projekter. Hver sælger (undtagen måske Amazon) arbejder med de samme grundlæggende, rapporterer sandsynligvis fejl og indsender rettelser tilbage opstrøms, mens de går sammen, for at skabe deres eget tag på det endelige produkt.

Facebook gaffede ikke Android. Det brugte Android-intensionssystemet (en måde, apps kan arbejde med hinanden og dele på Android) og byggede en stor app, der desuden inkluderer et erstatningshjem. Inde i deres sandkasse kan de gøre, hvad de vil eller har brug for, og så længe de bruger Android's formål, kan de kommunikere med resten af ​​systemet. Hvis du ønsker at blive teknisk, kan HTC muligvis have gafflet Android til at arbejde bedre med Facebook Home i HTC First, da det nævner nogle ændringer, der blev foretaget for bedre kompatibilitet. Vi vil vide mere om, hvad de gjorde, når telefonen løber ud.

Under alle omstændigheder er gaffelkode ikke altid en dårlig ting og fortjener ikke al den negativitet, du hører, når nogen nævner det. Industrianalytiker Stephen O'Grady opsummerer det pænt Jeg synes:

Det er dog værd at nævne, at fra et kundeperspektiv er gafler eller varianter ikke universelt dårlige. Mens de forskellige Android-versioner kan repræsentere uheldige designbeslutninger fra de leverandører, der er ansvarlige for dem, er applikationer i det overvældende flertal af tilfælde kompatible fra enhed til enhed under forudsætning af, at versionen er ækvivalent.

At have apps kompatible fra enhed til enhed er grunden til, at Android blev designet. Gaffelkode får det ikke til at ske. Men andre ting gør det.

Den anden side af gafleri Android

I Kina kan du købe en telefon fra en operatør, der kører Android, men har ingen Google-tjenester? Ligesom Kindle Fire er den bygget fra Googles Android-kode (nogle gange umodificeret) men blev ikke sendt og testet for at være Google-kompatibel og har ting som Gmail eller Google Play inkluderet. Disse apps og de forskellige systemfiler, som de har brug for at køre, er ikke open-source, og du kan ikke bare inkludere dem uden tilladelse fra Google.

Bortset fra en "anderledes" (jeg vil ikke sige, at det er "værre", kun anderledes) brugeroplevelse uden disse apps, kan de se og føle sig som en Android-telefon, du køber fra Verizon eller AT&T. De kan også se og føle sig meget forskellige, som Amazon har gjort. Men intet af dette skyldes, at de afskaffede Googles Android-kode - det var en bevidst beslutning om ikke at lave en Google "certificeret" enhed. Google præsenterer Android som en applikationsplatform og sæt af apprammer. At inkludere Googles serviceapplikationer gør det ikke mindre til en app-platform. Selvfølgelig kan vi forestille os, at Google hellere vil have, at alle Android- og Android-baserede enheder bruger Googles tjenester, men der er ingen hurtig og hurtig regel, der siger, at en leverandør skal gøre det.

At fremstille enheder uden Googles apps har intet at gøre med forfalskning af Android. Det kan gøre enheder mindre ønskelige, eller en dag kan den ultimative Android-telefon bygges uden Googles apps, men det kan ske uden at forfalse nogen kode. Vi er alle skyldige i at gribe ind i de to ting sammen, men vi skulle ikke gøre det.

Forking er bare en ting

Det er ikke godt, at OEMs uddeler Android og arbejder på deres eget projekt med koden. Det er ikke dårligt, at OEMs uddeler Android og arbejder på deres eget projekt med koden. Det er bare en ting, de alle gør.

Nexus fanklub til side, du kan ikke fortælle mig, at Samsung eller HTC har ødelagt Android ved at forfalde koden og bygge videre på den. De tilføjede funktioner, mens de holdt alt kompatibelt, så applikationer, der er bygget til "Android" i henhold til udviklerens retningslinjer, fungerer fint. Og de leverer konsekvent enheder, som folk vil købe. Jeg tror, ​​det er nøjagtigt, hvad Google havde i tankerne til Android. De vidste, at til sidst ville nogen gå lidt længere og oprette noget, der ikke er fuldt kompatibelt med "Android", men det er OK. Brugere af disse enheder er stadig på Internettet, og Googles mobile webapps er ret anstændige.

Forhåbentlig, nu ved du lidt mere om, hvad folk mener, når de taler om forfalskning af Android.