Logo hr.androidermagazine.com
Logo hr.androidermagazine.com

Što je vilica "vilica"?

Sadržaj:

Anonim

Proteklih nekoliko dana vjerojatno ste čuli riječ "viljuška" više puta nego što možete računati. Facebook je to forsirao (iako nije), Amazon to forsira, Chromeov tim forsirao je cijeli web, i tako dalje, i tako dalje. Dok svi razgovaraju o tome tko forkcionira, tko se ne trudi objasniti što je to forking i zašto toliko mnogo ljudi ima problema s tim.

Forking ili drobljenje dobili su pomalo loš rep još prije 20 godina ili otprilike, jer je imalo tendenciju podijeliti programere na odvojene frakcije koje nisu dijelile kôd jedni s drugima. U danima stvari poput razdvajanja Gnu-Emacs / XEmacs, ovo je bilo važno jer nije bilo gotovo toliko ljudi sposobnih za rad na ovim velikim projektima otvorenog koda, a imati dvije grane ili vilice značilo je da treba duže trajati značajkama i rješavanju problema za obje strane. U nekim se slučajevima to još uvijek događa, siguran sam, ali u većem dijelu postoji dosta programera koji mogu ispuniti prazninu koju ostavljaju oni koji imaju zasebnu viziju i koji će isključiti kod da ga slijede. Ali neki se ljudi nikada ne zaborave, a stigme povezane s vilinskim viljuškama propadaju. Rekavši sve to, ne možemo se pretvarati da se loše vilice ne događaju. Moramo samo pogledati mimo samog čina prije nego što donesemo svoje odluke.

Znam da nekoliko vas vani zna što sve to znači i samo pokušavaju ignorirati svu buku, ali za mnoge je to zbunjujuće. Pokušajmo to popraviti.

Što je programska vilica i kako utječe na Android?

Pomislite na Android kao hrpu koda. Postoje dva dijela - otvoreni izvorni dijelovi, što je AOSP, i vlasnički dijelovi koje Google zadržava za sebe. Ako netko želi preuzeti Google Android i u njega unijeti promjene, preuzet će kôd koji će se koristiti kao baza i s njim će stvoriti vlastiti projekt. Samsung to čini, HTC to čini, a mogao bi to učiniti i vaš omiljeni programer ROM-a. Kad god netko uzme postojeći kôd i pokrene neovisni (to je važno razlikovanje) projekt na temelju njega, kreirao je vilicu. Mnogi programeri će provjeriti kôd, urediti njegove dijelove i u cijelosti poslati svoje promjene uzvodno, što nije vilica.

Amazon je podigao prilično obrve kad je forsirao Android da izgradi OS za Kindle Fire liniju. Ali s druge strane stvari otvorenog koda nije se razlikovalo od onoga što je Motorola napravila s Cliqom ili HTC s Heroom - ili onoga što Samsung sada radi za uređaje iz serije Galaxy. To je rad na kojem djeluju veliki projekti otvorenog koda. Svaki dobavljač (osim možda Amazon) radi s istim osnovama, vjerovatno prijavljuje greške i šalje ispravke natrag uzvodno dok idu dalje, kako bi stvorio vlastiti preuzimanje konačnog proizvoda.

Facebook nije forsirao Android. Koristio je sustav Android namjera (način na koji aplikacije mogu međusobno raditi i dijeliti na Androidu) i izgradio je veliku aplikaciju koja dodatno uključuje zamjenski dom. Unutar svoje kutije za pijesak mogu raditi sve što žele ili trebaju učiniti, a sve dok koriste Androidove namjere mogu komunicirati s ostatkom sustava. Ako želite dobiti tehničku tehniku, HTC je možda prisilio Android da bolje radi s Facebook Homeom u HTC-u Prvo, jer spominje neke promjene koje su napravljene zbog bolje kompatibilnosti. Znat ćemo više o tome što su učinili kad se telefon oglasi.

U svakom slučaju, forking kôd nije uvijek loše i ne zaslužuje svu negativnost koju čujete kada to netko spominje. Analitički analitičar Stephen O'Grady lijepo to rezimira. Mislim:

Ipak vrijedi spomenuti da iz perspektive kupca viljuške ili varijante nisu univerzalno loše. Iako različite verzije Androida mogu predstavljati nesretne dizajnerske odluke dobavljača odgovornih za njih, aplikacije su u ogromnoj većini slučajeva kompatibilne od uređaja do uređaja, pretpostavljajući ekvivalentnost verzije.

Zbog toga je Android dizajniran tako da aplikacije budu kompatibilne s uređaja na uređaj. Kôd za forkiranje ne znači da se to ne događa. Ali druge stvari rade.

S druge strane forking Android

U Kini možete kupiti telefon od operatera koji radi Android, ali nema Googleove usluge? Baš kao Kindle Fire, izgrađen je od Googleovog Android koda (ponekad nepromijenjen), ali nije dostavljen i testiran kao kompatibilan s Googleom i sadrži stvari poput Gmail ili Google Play. Te aplikacije i razne sistemske datoteke koje trebaju pokrenuti nisu otvorenog koda i ne možete ih jednostavno uključiti bez odobrenja Googlea.

Osim "različitog" (neću reći da je "gore", samo različitog) korisničkog iskustva bez ovih aplikacija, oni mogu izgledati i osjećati se poput Android telefona koji kupite od Verizon ili AT&T. Oni također mogu izgledati i osjećati se vrlo različito, kao što je to učinio Amazon. Ali ništa od toga nije, jer su odbacili Googleov Android kod - bila je to svjesna odluka da se ne napravi Googleov „certificirani“ uređaj. Google predstavlja Android kao platformu aplikacija i skup okvira aplikacija. Ako ne uključuju Googleove aplikacije za usluge, ništa manje ne čini platformom aplikacija. Naravno, pretpostavljamo da bi Google radije imao da svi uređaji sa sustavom Android i Android koriste Googleove usluge, ali ne postoji čvrsto i brzo pravilo koje kaže da dobavljač mora to učiniti.

Izrada uređaja bez Googleovih aplikacija nema nikakve veze sa forkiranjem Androida. Uređaji mogu činiti manje poželjnim ili će jednog dana ultimativni Android telefon biti izgrađen bez Googleovih aplikacija, ali može se dogoditi bez forsiranja bilo kakvog koda. Svi smo krivi što povezujemo dvije stvari zajedno, ali to ne bismo smjeli činiti.

Forking je samo stvar

Nije dobro što OEM proizvođači odvajaju Android i rade na vlastitom projektu s kodom. Nije loše što OEM proizvođači razvijaju Android i rade na vlastitom projektu s kodom. To je samo stvar koju svi rade.

Na stranu navijačkog kluba Nexusa, ne možete mi reći da je Samsung ili HTC uništio Android forsiranjem koda i nadogradnjom na njega. Dodali su značajke uz zadržavanje svega kompatibilnog tako da će aplikacije izgrađene za "Android" prema smjernicama za programere funkcionirati u redu. A oni dosljedno isporučuju uređaje koje ljudi žele kupiti. Mislim da je to točno ono što je Google imao na umu za Android. Znali su da će na kraju netko otići malo dalje i stvoriti nešto što nije u potpunosti "Android", ali to je u redu. Korisnici tih uređaja i dalje su na internetu, a Googleove mobilne web aplikacije prilično su pristojne.

Nadamo se da sada znate nešto više o tome što ljudi misle kada govore o forking Androidu.