Kód platformy Android byl odstraněn z jádra. Co to znamená?

Adam Štrauch 5. 2. 2010

Že Android není Linux, to už jsme četli mnohokrát. Pravdou je, že v jeho srdci Linux sedí, Je upravený, je trochu jiný, ale je tam. Jak moc to jde dohromady s Linuxem, jakého známe, těžko rozhodneme, ale jedno víme, to, co se děje v jádře Androida, resp. androidího Linuxu, vystupuje mimo zaběhnuté koleje vývoje Linuxu a nedělá to dobrotu.

Je tu Android, je open, pojďme vyvíjet

Přesně 5. listopadu 2007 se Google nechal slyšet, že plánuje během krátké doby uvolnit nový operační systém postavený na Linuxu s názvem Android. Měl být upravený pro běh na mobilních zařízeních. Byla to vcelku velká událost. Prakticky první linuxový operační systém, který měl potenciál dostat se dál než jeho předchůdci a navíc tu bylo jedno obrovské plus, vývoj aplikací měl probíhat v Javě, celý operační systém měl být open source a to ještě pod velmi volnou licencí Apache free-software and open-source license.

Znělo to jako vynikající nápad a Google asi o měsíc později uvolnil SDK pro celou platformu. To obsahovalo všechno, co bylo potřeba pro vývoj, od emulátoru po moduly do Eclipse. Když bylo vše pro vývoj uvolněno, začali se pomalu hrnout vývojáři aplikací. Aby tuto fázi Google urychlil, vyhlásil v této době soutěž, ve které se hrálo celkově o 10 000 000 USD. Ty byly rozděleny mezi vývojáře vítězných aplikací. Došlo tedy k tomu, že na Android existovalo již několik stovek aplikací, aniž by uživatelé nebo vývojáři dostali telefon do ruky. To se ale brzy změnilo. Přesně 23. září byl uvolněn Android 1.0 včetně SDK a na konci roku už mohli první uživatelé získat telefon s novým Androidem.

Od té doby se Android posunul až na verzi 2.1. Ve většině dnešních telefonů ale najdeme verze 1.5 a 1.6.

Jak se Android začal rozšiřovat, tak ho začalo zkoumat i víc lidí a začaly se objevovat články na téma „Android není Linux“.

Linux sice ano, ale …

Co to tedy Android je? Googlu se podařilo vytvořit linuxový operační systém přesně na míru mobilním zařízením, a to primárně telefonům, resp. čemukoli do kapsy. Dnes už se dá snad sehnat s Androidem i mikrovlnka, takže to už rozhodně není operační systém pouze telefony. Každopádně Google vzal linuxové jádro, trochu ho učesal a upravil a doplnil ho o základní nástroje, javovský virtual machine Dalvik a nakonec i o vlastní API a na něj navazující uživatelské prostředí.

Právě Java a jednotné API je „killer feature“ operačního systému Android. Když se podíváte na dnešní linuxový desktop, je tu konkurenční boj hlavně mezi GTK a Qt a na nich postavenými desktopovými prostředími. Není na tom nic špatného, ale rozhodně se to nehodí pro mobilní platformu, kam je potřeba co nejrychleji nahnat co nejvíce firem a vývojářů. Google měl toto v rukou a rozhodl se tak, aby se Android rozšířil a to všechno na úkor svobody ve výběru API. To je zpětně kompatibilní se staršími verzemi a dává vývojářům nástroj, kterým mohou přistupovat k hardwaru telefonu i k jeho funkcím a funkcím celého Androida. Když vývojář něco napíše pro Androida, pojede to na všech telefonech, na kterých je minimálně ta verze systému, na kterou to vývojář napsal. V reálném světě to není vždycky ideální, protože jsou malé rozdíly mezi jednotlivými výrobci. U čistého Androida se to ale dá říct.

Možná se ptáte, proč Google nepoužil třeba Qt nebo GTK. Na to je jednoduchá odpověď. Obojí se stará prakticky jen o vykreslování oken, grafiky a maximálně ještě o přístup k databázi. Androidí API ale pokrývá přístup k síti, Bluetooth, senzoru přiblížení, senzoru polohy či světla, GPS nebo přes něj můžete vytvořit aplikaci, jejíž vzhled bude závislý na nastavení zbytku telefonu a v neposlední řadě můžete přistupovat i k samotným funkcím systému Android. Tohle nemohlo nabídnout žádné existující API a když se podíváme, že Android má ještě velmi dobrou bezpečnostní politiku, tak zjistíme, že se vytvoření nového API vyplatilo.

Jenže…

 K čemu hlavní větev? Máme svoji!

… zde narážíme na problém, o kterém se rozepsal jeden z jaderných vývojářů, Greg Kroah-Hartman. Jak jste se mohli dočíst v naší včerejší zprávičce, Greg má obavy o budoucnost Androida, co se týče zařazení do hlavní větve jádra.

Android, bohužel, pracuje se specifickými úpravami a háčky linuxového jádra, které jsou neslučitelné s aktuálním linuxovým jádrem. Podle jeho slov není Android jen pár ovladačů a jinak standardní jádro jaké si stáhneme z kernel.org, ale obsahuje dost zásadní změny jako speciální lock type a háčky nutné pro speciální bezpečnostní model. Tyto změny se neslučují se stavem v jakém Android je a nejhorší je, že ovladače napsané pro jádro Androida nemohou být zahrnuty v hlavní větvi linuxového jádra, protože jsou závislé na těchto zásadních odlišenostech.

Před výrobci stojí volba a to vést vývoj ovladačů pro obě větve nebo se soustředí jen na Androida. Otázkou samozřejmě je, co jim přinese posílání patchů jinam než do Androida. Odpověď je jednoduchá, krom dobrého pocitu a podpory jejich hardwaru v normálním linuxovém systému prakticky nic.

Rozuzlení

Co z toho všeho tedy plyne? Google si syslí vývoj u sebe. Kód je k dispozici, takže se o spojení někdy někdo třeba pokusí, ale bez podpory od samotného Googlu k tomu pravděpodobně nedojde. Google bude svoji práci zakládat na aktuálním vývoji hlavní větve jádra a bude udržovat jen patche specifické pro Androida. Uživatelé proto nepřijdou o Linux jako takový, zvlášť když si uvědomíme, jak nákladný by mohl být kompletní fork. Google ví, že vývojáři v Linuxu udělají spoustu práce a byla by škoda té práce nevyužít.

widgety

Situace proto není tak špatná, jak by se mohla zdát a krom svrbění u žaludku nás to jako uživatele nějak trápit nebude. Je klidně možné, že se časem obě větve změní společně s tím, jak půjde vývoj Androida a Linuxu dál, resp. někdo najde způsob, jak to udělat čistě, aby mohly být změny zahrnuty do jádra jen jako nenápadná volba „Android“.

Dosavadní kód Androida, který se nacházel v hlavní větvi jádra, resp. ve větvi staging, byl odstraněn. Bylo to z důvodu, že už ho nikdo nevyvíjel a nemělo smysl ho tam nechávat. Zdaleka nešlo o všechny změny, takže jeho použitelnost byla prakticky nulová.

Našli jste v článku chybu?
DigiZone.cz: Test LG 55UH750V aneb Cena/výkon

Test LG 55UH750V aneb Cena/výkon

Vitalia.cz: Jaký je rozdíl mezi brambůrky a chipsy?

Jaký je rozdíl mezi brambůrky a chipsy?

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Vitalia.cz: Inspekce našla nelegální sklad v SAPĚ. Zase

Inspekce našla nelegální sklad v SAPĚ. Zase

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Podnikatel.cz: Znáte už 5 novinek k #EET

Znáte už 5 novinek k #EET

Podnikatel.cz: Instalatér, malíř a elektrikář. "Vymřou"?

Instalatér, malíř a elektrikář. "Vymřou"?

Vitalia.cz: Když všichni seli řepku, on vsadil na dýně

Když všichni seli řepku, on vsadil na dýně

Vitalia.cz: 5 pravidel proti infekci močových cest

5 pravidel proti infekci močových cest

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

120na80.cz: Hrbatá prsa aneb mýty o implantátech

Hrbatá prsa aneb mýty o implantátech

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

DigiZone.cz: Ginx TV: pořad o počítačových hráčích

Ginx TV: pořad o počítačových hráčích