Kazalo:
V zadnjih nekaj dneh ste verjetno slišali besedo "vilice" večkrat, kot lahko računate. Facebook je to forsiral (čeprav tega ni bilo), Amazon pa to forsira, Chromejeva ekipa je forsirala celoten splet in tako naprej in tako naprej. Medtem ko se vsi pogovarjajo o tem, kdo je kdo koga, se nihče ne trudi, da bi natančno razložil, kaj je forking in zakaj toliko ljudi ima težave s tem.
Napenjanje ali razbijanje se je pred 20 leti ali malo prej začelo slabo, saj je razvijalce razdelilo na ločene frakcije, ki si kode niso delile med seboj. V časih, kot sta Gnu-Emacs / XEmacs razšla, je bilo to pomembno, ker ni bilo skoraj toliko ljudi, ki bi lahko delali na teh velikih odprtokodnih projektih, in če imata dve veji ali vilice, je treba dodati še dlje funkcije in reševanje vprašanj za obe strani. V nekaterih primerih se to še vedno dogaja, prepričan sem, vendar večinoma obstaja veliko razvijalcev, ki lahko zapolnijo praznino tistih, ki imajo ločeno vizijo in bodo izbrali kodo, da ji sledijo. Toda nekateri ljudje nikoli ne pozabijo, in stigma, ki je povezana z vilicami, se prenaša. Po vsem tem se ne moremo pretvarjati, da se slabe vilice ne dogajajo. Moramo samo pogledati mimo samega dejanja, preden sprejmemo svoje odločitve.
Vem, da vas nekaj tam ve, kaj vse to pomeni, in skušajo prezreti ves hrup, a za mnoge je to zmede. Poskusimo to popraviti.
Kaj je programska vilica in kako vpliva na Android?
Pomislite na Android kot kup kode. Obstajata dva dela - odprtokodni deli, kar je AOSP, in lastniški deli, ki jih Google hrani pri sebi. Če želi nekdo vzeti Google Android in mu spremeniti spremembe, bo prenesel kodo kot osnovo in z njo oblikoval svoj projekt. Samsung to počne, HTC to počne, in vaš najljubši razvijalec ROM-ov lahko to stori. Kadarkoli nekdo vzame obstoječo kodo in na njej začne neodvisen (to je pomembno razlikovanje) projekt, je ustvaril vilico. Številni razvijalci bodo odkrili kodo, uredili njene dele in nato v celoti poslali spremembe nazaj navzgor, kar ni vilica.
Amazon je dvignil kar nekaj obrvi, ko je forsiral Android, da je zgradil OS za linijo Kindle Fire. Toda na strani odprtokodnih stvari ni bilo nič drugače kot to, kar je Motorola naredila s Cliqom ali HTC storil z Hero - ali tisto, kar Samsung zdaj počne za naprave serije Galaxy. Tako deluje veliko velikih odprtokodnih projektov. Vsak prodajalec (razen morda Amazon) deluje z enakimi osnovami, verjetno poroča o napakah in pošilja popravke nazaj navzgor, ko gre naprej, da ustvari svoj lastni prevzem končnega izdelka.
Facebook ni razvil Android. Uporabil je sistem namenov Android (način, kako lahko aplikacije delajo med seboj in delijo v Androidu) ter zgradil veliko aplikacijo, ki poleg tega vključuje nadomestni dom. Znotraj svojega peskovnika lahko počnejo vse, kar hočejo ali potrebujejo, in dokler uporabljajo Androidove namene, lahko komunicirajo z ostalim sistemom. Če želite pridobiti tehnično podporo, je morda HTC Androidu naložil, da bolje deluje s Facebook Home v HTC-ju, saj omenja nekaj sprememb, ki so bile izvedene zaradi boljše združljivosti. Izvedeli bomo več o tem, kaj so storili, ko se telefon zatakne.
Vsekakor vilicna koda ni vedno slaba stvar in si ne zasluži vse negativnosti, ki jo slišite, ko jo kdo omeni. Industrijski analitik Stephen O'Grady to lepo povzame. Mislim:
Omeniti pa je treba, da z vidika kupca vilice ali različice niso splošno slabe. Čeprav različne različice Android lahko predstavljajo nesrečne oblikovalske odločitve pri proizvajalcih, ki so zanje odgovorni, so aplikacije v veliki večini primerov združljive od naprave do naprave, ob predpostavki enakovrednosti različic.
Android je bil zasnovan tako, da imajo aplikacije, združljive od naprave do naprave. Kode za viljanje ne pomeni, da se to ne zgodi. Ampak druge stvari naredijo.
Druga stran forking Android
Na Kitajskem lahko telefon kupite od ponudnika operacijskega sistema Android, vendar nima Googlovih storitev? Tako kot Kindle Fire je zgrajena iz Googlove kode za Android (včasih nespremenjena), vendar ni bila predložena in preizkušena kot združljiva z Googlom in vsebuje stvari, kot sta Gmail ali Google Play. Te aplikacije in izbrane sistemske datoteke, ki jih potrebujejo za zagon, niso odprtokodne in jih ne morete samo vključiti brez Googlovega dovoljenja.
Razen "drugačne" (ne bom rekel, da je "slabše", samo drugačne) uporabniške izkušnje brez teh aplikacij, lahko izgledajo in se počutijo tako kot Android telefon, ki ga kupite od Verizon ali AT&T. Tudi na Amazon so lahko videti in se počutijo zelo drugače. A nič od tega, ker so se odrekli Googlovi Googlovi kodi Android - bila je zavestna odločitev, da ne bodo naredili Googlove "certificirane" naprave. Google predstavlja Android kot aplikacijsko platformo in nabor okvirov aplikacij. Če ne vključujete Googlovih storitev za storitve, ne pomeni nič manj platforme za aplikacije. Seveda si mislimo, da bi Google raje vse Android in Android naprave uporabljal Googlove storitve, vendar ni trdega in hitrega pravila, ki pravi, da mora to storiti prodajalec.
Izdelava naprav brez Googlovih aplikacij nima nobene zveze s forking Androidom. Naprave lahko naredijo manj zaželene, ali nekega dne bi lahko končni telefon Android izdelali brez Googlovih aplikacij, vendar se lahko zgodi, ne da bi pri tem poškodovali nobeno kodo. Vsi smo krivi, da dve stvari povežemo skupaj, vendar tega ne bi smeli storiti.
Vilice so samo stvar
Ni dobro, da proizvajalci originalne opreme razdelijo Android in delajo na svojem projektu s kodo. Ni slabo, da proizvajalci originalne opreme razdelijo Android in delajo na svojem projektu s kodo. To je samo stvar, ki jo počnejo vsi.
Nexusovega navijaškega kluba, ne morete mi povedati, da je Samsung ali HTC pokvaril Android, ker je kode klical in nadgradil. Dodali so funkcije, hkrati pa ohranili vse združljivo, tako da bodo aplikacije, izdelane za "Android" v skladu s smernicami za razvijalce, delovale čisto v redu. In dosledno dobavljajo naprave, ki jih ljudje želijo kupiti. Mislim, da je to točno tisto, kar je imel Google v mislih za Android. Vedeli so, da bo sčasoma nekdo šel še malo dlje in ustvaril nekaj, kar ni povsem združljivo z Androidom, ampak to je v redu. Uporabniki teh naprav so še vedno v internetu in Googlove mobilne spletne aplikacije so precej spodobne.
Upajmo, da zdaj veste malo več o tem, kaj ljudje mislijo, ko govorijo o vilici za Android.