Mikä on avoin lähdekoodi? Avoimen lähdekoodin ohjelmisto on ohjelmisto, joka antaa lähdekoodin vapaasti kaikkien saataville ja käyttäjille. Yritykset, yksityishenkilöt, yliopistot ja monet muut yhteisöt rakentavat kokonaisia projekteja ja käyttävät avoimen lähdekoodin lisenssiä, jolloin ne antavat koodin kaikille, jotka haluavat käyttää sitä. Käytetty lisenssi määrittää, kuinka muut, jotka käyttävät tätä koodia, jakavat muutokset.
On olemassa erilaisia avoimen lähdekoodin lisenssejä, joilla on erilaiset käyttöedellytykset, GPL: stä (GNU General Public License) - joka sallii "ilmaisen jakelun sillä ehdolla, että jatkokehitys ja sovellukset asetetaan samaan lisenssiin" - vapaampiin lisensseihin, kuten Apache-lisenssi, joka ei vaadi muutoksia, jotta se olisi avoin ja lähdekoodin saatavana. Android käyttää molempia näitä lisenssejä, ja me tarkastelemme niitä vuorotellen.
Androidissa käytetty Linux-ydin on GPL: n alainen. Tämä tarkoittaa, että kaikki lähdekoodiin tehdyt muutokset on asetettava saataville, kun binaari (koottu, suoritettava ohjelmistokappale geek-puhu) julkaistaan yleisölle. Tämä tarkoittaa, että valmistajien, kuten HTC, Samsung, Motorola ja muiden, on vapautettava ytimen lähdekoodi kaikille myytäville laitteille samaan aikaan kun he alkavat myydä niitä. Tätä tapahtuu tietysti harvoin ja odotamme, että joukkue poistaa muistiinpanoja, lähdekommentteja ja muita hyödyllisiä asioita ennen kuin se saa meille. Nämä ovat Internetissä mainitut kooditiedotteet, ja ne koostuvat ytimen lähteestä ja muista avoimen lähdekoodin "biteistä", jotka kuuluvat GPL: n piiriin.
Itse Androidin lähdekoodi julkaistaan pääasiassa Apache-lisenssillä. Kuka tahansa saa ladata lähdekoodin ja muuttaa sitä haluamallaan tavalla, mutta heidän ei tarvitse asettaa muutoksia saataville lähdekoodimuodossa yleisölle. Siksi emme voi helposti muokata esimerkiksi Samsungin Touchwiziä - heidän tekemiin muutoksiin Androidin peruslähdekoodissa ei ole meille saatavissa. Vaikka monet ihmiset (mukaan lukien minä) eivät pidä tästä tilanteesta kovinkaan paljon, se on liiketoiminnan kannalta järkevää. Jos valmistajien olisi jaettava kaikki salaisuutensa, innovointiin ei olisi niin paljon rahallisia kannustimia, joten lähteelle tarjottiin paljon vapaampi lisenssi. Se varmasti toimi, koska näemme laitteita monilta tärkeimmiltä elektroniikkamaailman toimijoilta.
Googlen toinen tärkein kuluttajatuote - Chrome OS - on kirjoitettu Chromium-lähteestä. Chromiumin Google-kirjoittamat osat ovat avoimen lähdekoodin tuotteita BSD-lisenssillä. Muut avustajat käyttävät erilaisia avoimen lähdekoodin lisenssejä, kuten MIT-lisenssi tai GPL.
Tärkeä asia muistaa tässä on, että Android ja Chromium ovat avoimen lähdekoodin ohjelmia, mutta Nexus-laitteiden ja Chromebookien käyttöjärjestelmät eivät ole. Ne on rakennettu avoimen lähdekoodin projekteista, mutta ne voivat sisältää omistusosia parantaakseen jokaisen laitteen ohjelmistoja. Nexus-puhelimissa nämä omistetut bitit julkaistaan Android Developer -sivustolla ja ovat valmiita pudottamaan kaikkeen mitä voit rakentaa AOSP: sta saadaksesi saman kokemuksen. Chromebookit toimivat täysin avoimessa Chromium-kokoonpanossa, mutta niissä ei ole suljettuja Google-sovellusliittymiä tai täydellisiä video- ja äänen koodekkeja.
Google julkaisee myös sovelluksia, jotka eivät ole avoimen lähdekoodin lisenssiä. Gmail, Maps ja monet muut puhelimissamme olevat Google-sovellukset eivät ole osa AOSP: tä, ja ne on kehitetty itsenäisesti Androidille, Chromelle, iOS: lle ja verkolle. Kun kuulet Internetin riisumisia siitä, että Android ei ole "avoin", tästä he puhuvat. Android, ja kaikki Android-sovellusten asentamiseen ja suorittamiseen tarvittava on täysin avoimen lähdekoodin sovelluksia, mutta suosittuja sovelluksia, jotka tekevät siitä paremman, ei ole. Tämä ei todennäköisesti muutu.