Sisällysluettelo:
- Mikä on ohjelmistohaarukka ja miten se vaikuttaa Androidiin?
- Android-haarukan toinen puoli
- Haarukka on vain asia
Parin viime päivän aikana olet todennäköisesti kuullut sanan "haarukka" useammin kuin voit luottaa. Facebook haastatteli tämän (vaikkakaan ei), Amazon haastaa sen, Chrome-tiimi haastaa koko webin ja niin edelleen ja niin edelleen. Vaikka kaikki puhuvat siitä, kuka haaroittaa ketään, kukaan ei vaivaudu selittämään tarkalleen mitä haarukka on ja miksi niin monilla ihmisillä on ongelma sen kanssa.
Haastaminen tai murtuminen sai vähän huonon edustajan noin 20 vuotta sitten, koska se pyrki jakamaan kehittäjät erillisiksi ryhmiksi, jotka eivät jakaneet koodia keskenään. Gnu-Emacs / XEmacs-hajoamisen aikoina tämä oli tärkeää, koska näissä suurissa, avoimen lähdekoodin projekteissa ei ollut melkein yhtä paljon ihmisiä, jotka pystyisivät työskentelemään, ja kahdella haaralla tai haarukalla oli tarkoitus viedä kauemmin ominaisuudet ja osoitekysymykset molemmille osapuolille. Joissain tapauksissa näin tapahtuu, olen varma, mutta suurimmaksi osaksi on paljon kehittäjiä, jotka pystyvät täyttämään tyhjyyden niistä, jotka ovat erillisillä visioilla ja haastavat koodin seuraamaan sitä. Mutta jotkut ihmiset eivät koskaan unohda, ja haarukoiden haarukoihin liittyvä leimahdus päättyy. Kaiken tämän jälkeen emme voi teeskennellä, että huonoja haarukoita ei tapahdu. Meidän on vain katsottava itse säädöksen ohi, ennen kuin teemme päätöksiä.
Tiedän, että muutama teistä siellä tietää, mitä tämä kaikki tarkoittaa, ja yritän vain sivuuttaa kaiken melun, mutta monille se on hämmentävää. Yritetään korjata se.
Mikä on ohjelmistohaarukka ja miten se vaikuttaa Androidiin?
Ajattele Androidia nippu koodia. Siinä on kaksi osaa - avoimen lähdekoodin osat, mikä AOSP on, ja omistamat osat, jotka Google pitää itselleen. Jos joku haluaa käyttää Google Androidia ja tehdä siihen muutoksia, hän lataa koodin pohjana käytettäväksi ja muodostaa sen kanssa oman projektin. Samsung tekee niin, HTC tekee sen, ja suosikki ROM-kehittäjäsi saattaa tehdä sen. Aina kun joku ottaa olemassa olevan koodin ja käynnistää sen perusteella itsenäisen (se on tärkeä ero) projektin, hän on luonut haarukan. Monet kehittäjät tarkistavat koodin, muokkaa sen osia ja lähettävät sitten muutokset takaisin kokonaisuutena ylävirtaan, mikä ei ole haarukka.
Amazon nosti melko vähän kulmakarvoja, kun se haastaa Androidia rakentamaan käyttöjärjestelmän Kindle Fire -linjalle. Asioiden avoimen lähdekoodin puolella se ei kuitenkaan ollut erilainen kuin mitä Motorola teki Cliqilla tai HTC teki sankarilla - tai mitä Samsung tekee nyt Galaxy-sarjan laitteille. Näin monet suuret avoimen lähdekoodin projektit toimivat. Jokainen myyjä (paitsi ehkä Amazon) työskentelee samojen perusteiden kanssa, ilmoittaen todennäköisesti virheistä ja lähettämällä korjauksia takaisin ylävirtaan kulkeutuessaan luodakseen oman lopputuotteensa.
Facebook ei haastanut Androidia. Se käytti Android-tarkoitusjärjestelmää (tapa, jolla sovellukset voivat toimia toistensa kanssa ja jakaa Androidilla) ja rakensi suuren sovelluksen, joka sisältää lisäksi korvaavan kodin. Hiekkalaatikonsa sisällä he voivat tehdä mitä haluavat tai tarvitsevat tehdä, ja niin kauan kuin he käyttävät Android-aikomuksia, he voivat kommunikoida muun järjestelmän kanssa. Jos haluat saada teknistä tietoa, HTC on ehkä haastanut Androidia toimimaan paremmin Facebook Home -sovelluksen kanssa HTC First -sovelluksessa, koska siinä mainitaan joitain muutoksia, jotka tehtiin paremman yhteensopivuuden varmistamiseksi. Me tiedämme enemmän siitä, mitä he tekivät, kun puhelin tippui.
Joka tapauksessa koodin haarukkaaminen ei ole aina huono asia, eikä se ansaitse kaikkea negatiivisuutta, jonka kuulet, kun joku mainitsee sen. Alan analyytikko Stephen O'Grady tiivistää sen hienosti mielestäni:
On kuitenkin syytä mainita, että asiakkaan näkökulmasta haarukat tai vaihtoehdot eivät ole yleisesti huonoja. Vaikka erilaiset Android-versiot voivat edustaa niistä vastuussa olevien toimittajien valitettavaa suunnittelupäätöstä, sovellukset ovat valtaosassa tapauksissa yhteensopivia laitteiden välillä, olettaen, että versio on vastaava.
Sovellusten yhteensopivuus laitteesta toiseen on siksi Android suunniteltu. Haarukkakoodi ei tee sitä, että sitä ei tapahdu. Mutta muut asiat tekevät.
Android-haarukan toinen puoli
Kiinassa voit ostaa puhelimen operaattorilta, joka käyttää Androidia, mutta jolla ei ole Google-palveluita? Kuten Kindle Fire, se on rakennettu Googlen Android-koodista (joskus muuttamaton), mutta sitä ei toimitettu ja testattu olevan Google-yhteensopiva ja siinä on esimerkiksi Gmail tai Google Play. Nämä sovellukset ja niiden suorittamat järjestelmätiedostot eivät ole avoimen lähdekoodin sovelluksia, etkä voi sisällyttää niitä vain ilman Googlen lupaa.
Muu kuin "erilainen" (en aio sanoa, että se on "huonompi", vain erilainen) käyttökokemus ilman näitä sovelluksia, ne voivat näyttää ja tuntua aivan kuin Verizonista tai AT&T: ltä ostamasi Android-puhelin. Ne voivat myös näyttää ja tuntua hyvin erilaisilta, kuten Amazon on tehnyt. Mutta mikään tästä ei johtu siitä, että he haastavat Googlen Android-koodin - se oli tietoinen päätös olla tekemättä Googlen "sertifioimaa" laitetta. Google esittelee Androidin sovellusympäristönä ja sovelluskehyksinä. Jos Googlen palvelusovellukset eivät sisälly siihen, se ei tee siitä yhtäkään sovellusalustaa. Tietenkin kuvittelemme, että Google mieluummin kaikki Android ja Android-pohjaiset laitteet käyttävät Googlen palveluita, mutta ei ole mitään nopeaa ja nopeaa sääntöä, jonka mukaan myyjän on tehtävä se.
Laitteiden luominen ilman Googlen sovelluksia ei ole mitään tekemistä Android-haarukan kanssa. Se voi tehdä laitteista vähemmän toivottavia, tai jonain päivänä lopullinen Android-puhelin voidaan rakentaa ilman Googlen sovelluksia, mutta se voi tapahtua ilman, että koodia haetaan. Olemme kaikki syyllisiä kahden asian yhdistämiseen, mutta meidän ei pitäisi tehdä sitä.
Haarukka on vain asia
Ei ole hyvä, että OEM-valmistajat haastavat Androidin ja työskentelevät oman projektinsa kanssa koodilla. Ei ole paha, että OEM-valmistajat haastavat Androidin ja työskentelevät oman projektinsa kanssa koodilla. Se on vain asia, jonka he kaikki tekevät.
Nexus-faniklubi syrjään, et voi kertoa minulle, että Samsung tai HTC on pilannut Androidin haastamalla koodin ja rakentamalla sitä. He lisäsivät ominaisuuksia pitäen kaiken yhteensopivana, jotta kehittäjäohjeiden mukaan "Android" -sovellukselle rakennetut sovellukset toimivat hienosti. Ja he toimittavat jatkuvasti laitteita, joita ihmiset haluavat ostaa. Mielestäni juuri tämän Google piti mielessä Androidille. He tiesivät, että lopulta joku menee hiukan pidemmälle ja luo jotain, joka ei ole täysin "Android" -yhteensopivaa, mutta se on ok. Näiden laitteiden käyttäjät ovat edelleen Internetissä, ja Googlen mobiiliverkkosovellukset ovat melko kunnollisia.
Toivottavasti tiedät nyt hieman enemmän siitä, mitä ihmiset tarkoittavat, kun he puhuvat Android-haarukoinnista.