Artikel

Vad är gaffeln en "gaffel"?

protection click fraud
Gafflar

De senaste dagarna har du nog hört ordet "gaffel"fler gånger än du kan räkna. Facebook gafflade detta (även om det inte gjorde det), Amazon gafflar det, Chrome-teamet gafflade hela webben, och så vidare och så vidare. Medan alla pratar om vem som gafflar vem, stör ingen att förklara exakt vad gaffel är och varför så många människor har problem med det.

Forking, eller splittring, fick lite av en dålig rep tillbaka för ungefär 20 år sedan, eftersom det tenderade att dela upp utvecklare i separata fraktioner som inte delade koden med varandra. I tiden av saker som Gnu-Emacs / XEmacs split, var detta viktigt eftersom det inte var nästan lika många människor som kunde arbeta på dessa stora projekt med öppen källkod och med två grenar eller gafflar innebar det att det tar längre tid att lägga till funktioner och ta itu med problem för båda sidor. I vissa fall händer det fortfarande, jag är säker, men för det mesta finns det många utvecklare som kan fylla tomrummet som lämnas av dem som har en separat vision och kommer att dela upp koden för att följa den. Men vissa människor glömmer aldrig bort, och stigmatiseringen som är knuten till gaffelgafflarna går över. Med detta sagt kan vi inte låtsas att dåliga gafflar inte händer. Vi behöver bara se förbi själva handlingen innan vi fattar våra beslut.

Jag vet att några av er där ute vet vad allt detta betyder och försöker bara ignorera allt buller, men för många är det förvirrande. Låt oss försöka fixa det.

Vad är en mjukvarugaffel och hur påverkar det Android?

Android

Tänk på Android en massa kod. Det finns två delar - öppen källkodsdelar, vilket är vad AOSP är, och de proprietära delarna som Google håller för sig själv. Om någon vill ta Google Android och göra ändringar i den, kommer de att ladda ner koden för att användas som bas och bilda sitt eget projekt med den. Samsung gör det, HTC gör det, och din favorit-ROM-utvecklare kan göra det. När som helst någon tar befintlig kod och startar en oberoende (det är en viktig skillnad) projekt baserat på det, de har skapat en gaffel. Många utvecklare kommer att kolla in koden, redigera delar av den och sedan skicka sina ändringar tillbaka uppströms i sin helhet, vilket inte är en gaffel.

Amazon höjde en hel del ögonbryn när det gafflade Android för att bygga operativsystemet för Kindle Fire-linjen. Men på öppen källkodssidan var det inte annorlunda än vad Motorola gjorde med Cliq, eller HTC gjorde med hjälten - eller vad Samsung gör nu för enheter i Galaxy-serien. Så här fungerar många stora open source-projekt. Varje leverantör (utom kanske Amazon) arbetar med samma grunder, sannolikt rapporterar buggar och skickar korrigeringar tillbaka uppströms när de går, för att skapa sin egen syn på den slutliga produkten.

Facebook gaffel

Facebook gafflade inte Android. Det använde Android-avsiktssystemet (ett sätt som appar kan arbeta med varandra och dela på Android) och byggde en stor app som dessutom innehåller ett ersättningshem. Inuti sin sandlåda kan de göra vad de vill eller behöver göra, och så länge de använder Androids avsikter kan de kommunicera med resten av systemet. Om du vill bli teknisk kan HTC ha gafflat Android för att fungera bättre med Facebook Home i HTC First, eftersom det nämns några ändringar som gjordes för bättre kompatibilitet. Vi får veta mer om vad de gjorde när telefonen sipprar ut.

I vilket fall som helst är gaffelkod inte alltid en dålig sak och förtjänar inte all negativitet du hör när någon nämner den. Branschanalytiker Stephen O'Grady sammanfattar det snyggt Jag tror:

Det är värt att nämna att ur ett kundperspektiv är gafflar eller varianter inte allmänt dåliga. Medan de olika Android-versionerna kan representera olyckliga designbeslut från de leverantörer som ansvarar för dem, applikationer är i överväldigande majoritet av fallen kompatibla från enhet till enhet, förutsatt version likvärdighet.

Att ha appar kompatibla från enhet till enhet är därför Android designades. Forking-kod gör inte att det inte händer. Men andra saker gör det.

Den andra sidan av att gaffla Android

Kindle Fire

I Kina kan du köpa en telefon från en operatör som kör Android, men har inga Google-tjänster? Precis som Kindle Fire är den byggd från Googles Android-kod (ibland omodifierad) men skickades inte in och testades för att vara Google-kompatibel och inkluderade saker som Gmail eller Google Play. Dessa appar och de olika systemfilerna som de behöver köra är inte öppen källkod, och du kan inte bara inkludera dem utan tillstånd från Google.

Förutom en "annorlunda" (jag tänker inte säga att den är "värre", bara annorlunda) användarupplevelse utan dessa appar, de kan se ut och kännas precis som en Android-telefon du köper från Verizon eller AT&T. De kan också se ut och känna sig väldigt olika, som Amazon har gjort. Men inget av detta beror på att de gafflar bort Googles Android-kod - det var ett medvetet beslut att inte göra en Google "certifierad" enhet. Google presenterar Android som en applikationsplattform och uppsättning appramar. Att inte inkludera Googles tjänsteapplikationer gör det inte mindre till en appplattform. Naturligtvis föreställer vi oss att Google hellre vill att alla Android- och Android-baserade enheter ska använda Googles tjänster, men det finns ingen hård och snabb regel som säger att en leverantör måste göra det.

Att skapa enheter utan Googles appar har inget att göra med att gaffla Android. Det kan göra enheter mindre önskvärda, eller en dag kan den ultimata Android-telefonen byggas utan Googles appar, men det kan hända utan att gaffla någon kod. Vi är alla skyldiga till att ha sammanfogat de två sakerna, men vi ska inte göra det.

Gaffel är bara en sak

Arg pöbel

Det är inte bra att OEM-tillverkare delar ut Android och arbetar med sitt eget projekt med koden. Det är inte illa att OEM-tillverkare delar ut Android och arbetar med sitt eget projekt med koden. Det är bara en sak som de alla gör.

Nexus-fanklubben åt sidan, du kan inte berätta för mig att Samsung eller HTC har förstört Android genom att förka koden och bygga vidare på den. De lade till funktioner samtidigt som de höll allt kompatibelt så att applikationer byggda för "Android" enligt utvecklarens riktlinjer kommer att fungera bra. Och de levererar konsekvent enheter som folk vill köpa. Jag tror att det här är precis vad Google tänkte på för Android. De visste att någon så småningom skulle gå lite längre och skapa något som inte är helt "Android" -kompatibelt, men det är OK. Användare av dessa enheter är fortfarande på Internet, och Googles mobila webbappar är ganska anständiga.

Förhoppningsvis, nu vet du lite mer om vad människor menar när de pratar om att gaffla Android.

Det här är de bästa trådlösa öronsnäckorna du kan köpa till varje pris!
Det är dags att klippa sladden!

Det här är de bästa trådlösa öronsnäckorna du kan köpa till varje pris!

De bästa trådlösa öronsnäckorna är bekväma, låter fantastiskt, kostar inte för mycket och sitter lätt i fickan.

Allt du behöver veta om PS5: Släppdatum, pris och mer
Nästa generation

Allt du behöver veta om PS5: Släppdatum, pris och mer.

Sony har officiellt bekräftat att de arbetar på PlayStation 5. Här är allt vi vet om det hittills.

Nokia lanserar två nya budget Android One-telefoner under 200 dollar
Nya Nokias

Nokia lanserar två nya budget Android One-telefoner under 200 dollar.

Nokia 2.4 och Nokia 3.4 är de senaste tillskotten till HMD Globals budget smartphone-sortiment. Eftersom de båda är Android One-enheter får de garanterat två stora OS-uppdateringar och regelbundna säkerhetsuppdateringar i upp till tre år.

Säkra ditt hem med dessa SmartThings dörrklockor och lås
Ding Dong - dörrar låsta

Säkra ditt hem med dessa SmartThings dörrklockor och lås.

En av de bästa sakerna med SmartThings är att du kan använda en massa andra enheter från tredje part på ditt system, dörrklockor och lås ingår. Eftersom de alla i huvudsak delar samma SmartThings-stöd har vi fokuserat på vilka enheter som har de bästa specifikationerna och tricksna för att motivera att de läggs till i din SmartThings-arsenal.

instagram story viewer