To je trocha zjednodušená odpoveď. CM síce zkompiluješ z dostupných zdrojákov, ale bez closed source aplikácii od Goolge (tzv. GAPPS) prídeš o celú radu nových aplikácií od Google, vrátane Play, bez ktorých ti z telefónu zostane de-facto hračka pre geekov. Plus sú tam ďaľšie aspekty. Odporúčam prečítať tento článok:
Moc pěkný článek, díky za odkaz :)
Jen si říkám, jak to pak třeba je s těmi custom romkami, konkrétně CM. Tam to přece funguje tak, že si člověk nainstaluje čistý open CM a pak si přidá balík s Google Apps. To by to nemohlo OEM výrobce udělat stejně? Vyrobit telefon, nahrát do něj svůj nějaký Android postavený na AOSP a odděleně přidat balík Google aplikací...
Ne nemohl, pravda je taková, že přidáním GAPPS do custom ROM dochází k porušení smluvních podmínek....CM inc. to Google toleruje právě proto, že téměř 7 miliónů zařízení na něm běží a to je pro Google příliš velké číslo na to aby se odvážil naštvat dav povětšinou Geeků a IT fandů. Takže v tom nehledejte nic složitého..je to jen zdravý rozum někoho ve vedení společnosti.
Aha, takto to dává smysl. No skoro mi začíná být sympatičtější ten rovný přístup Applu či Microsoftu... prostě closed od začátku do konce... tohle hraní si na Open Source a ty následné popisované praktiky, je to docela špína :) Na tu druhou stranu, Googlu se nesmíme divit, prostě dělá vše pro to, aby byl úspěšný, a i když je toto proti duchu Open Source, tak pořád Google je ten, kdo ohromným způsobem posouvá Android dál. Otázka je, zda se to pak nakonec neobrátí proti němu :)
Cože není tak úplně pravda. Ve skutečnosti je situace taková, že vývojáři upravující ROMky nesmějí dále distribuovat balíček aplikací gapps. Proto se Google s týmem CM dohodl, že gapps bude distribuovat google sám a CM si bude dál vyvíjet svoji ROM. Samostatná instalace gapps do čisté ROM není proti ničemu, protože android jako čistý OS neobsahuje žádnou integraci do google služeb a lze ho bez problémů používat bez google služeb. Jen je to mnohem komplikovanější (asi jako v dobách Windows 95, kdy u nás internet téměř neexistoval).
Takže ještě jednou, přidáním gapps do ROM nedochází k porušení ničeho. To by asi Google sám nedistribuoval balíčky s aktuální verzí gapps...
V tom případě je otázka, proč to stejně nedělají i OEM výrobci... Ten linkovaný článek popisoval, jak Google maximálně znepříjemňuje život těm, kdo Android využívají na svých zařízeních bez jeho požehnání. Nicméně když jsou gapps volně dostupné a instalovatelné, tak co brání výrobcům vyrobit si telefon podle svého gusta nezávisle na Googlu, a pak jen distribuovat spolu s přístrojem volitelně instalovatelný balíček Google aplikací. V tom musí být ještě něco...
OEM výrobci mohou podepsat smlouvu. A obyčejný uživatel chce nakupovat aplikace na Google Play a Mapy, a chce Facebook. Pro takového by bylo ideální, kdyby si koupil mobil s GApps nejen předinstalovanými, ale i předkonfigurovanými.
Třeba třeba takový tablet Prestigio se při prvním spuštění ptal, co chci do systému zaintegrovat.
Výrobci pochopili, že výrazným forkováním Androidu mohou jen ztratit - velké investice, nekompatibilita, složité přejímání novinek z upstreamu.
I sám Google se spálil, když forkoval linuxové jádro. Pochopil, že ani pro tak velkou a bohatou firmu není výhodné, když každou novou vlastnost z upstreamu musí pracně portovat, a že se vyplatí věci psát tak, aby nenarušovaly běžné chování Linuxu.
Poslední odstavec přesně popisuje, proč pro naprostou většinu zákazníků nemá open source jiný přínos, než nulovou (nebo obecně nízkou) cenu. Pokud si člověk nenajme zatraceně drahé vývojáře a neúčastní se vývoje přímo "u zdroje", je možnost modifikace zdrojáku tak nepraktická, že je spíš hypotetická.
No popravdě řečeno, to je hodně podstatný přínos :D Z pozice firmy je pro mě naprosto klíčové, abych svým zákazníkům byl schopný dodat službu/produkt, která bude levnější a kvalitnější, než ta konkurenční. To je určitě jeden z důvodů, proč je Android tak rozšířený dnes. Nulové licenční poplatky a přitom možnost do toho sahat, což výrobci i operátoři dělají velice rádi (i když ne asi vždy na úrovni kódu).
Na druhou stranu je skutečně na místě otázka, zda by ke stejnému rozšíření došlo i v případě, když by Android nebyl Open Source, ale pouze "zadarmo" a možnosti úpravy by byly umožněny jen konkrétním partnerům (dříve Microsoft + Nokia). Těžko říci, ale myslím si, že minimálně v začátcích byla ta otevřenost dost důležitá. Třeba jen to, že většina alternativních launcherů, browserů a dalších aplikací vychází z původních Googlem vyvinutých otevřených verzí. Kdyby byl Android od začátku closed source, tak by nikdy nevzniklo tolik možností, jak Android customizovat. Dnes to postupné uzavírání nehraje takovou roli, protože Android je rozjetá mašina a pro firmy není problém investovat spoustu peněz do vlastního vývoje. To ale v počátcích nefungovalo a fakt, že mohl kdokoliv vzít výchozí launcher a doplnit do něj chybějící funkce, bylo pro oblibu Androidu hrozně důležité.
Dalším faktem je to, že Android se nepoužívá zdaleka jen na telefonech a tabletech, ale i na spoustě dalších zařízeních. Android se strká dnes už i do aut. Tam zrovna myslím těžko hraje roli nějaká restriktivní politika Googlu, ale naopak je nespornou výhodou, že automobilky mají k dispozici otevřený stabilní a odladěný systém. A mohou si s ním dělat co chtějí.
Abych to uzavřel, otevřenost Android sice pro většinu zákazníků má skutečně kromě té ceny jen minimální přímý přínos (i když osobně tu cenu považuji za dost podstatný aspekt), ale ten nepřímý je ohromný. Otevřenost Androidu posouvá a mění trh ve všech možných oblastech a to značnou rychlostí.
Určitě se shodneme, že nulová cena je velká výhoda. Ten nepřímý přínos mi ale není jasný. Dostupnost zdrojáku OS přece není pro úpravy GUI nutná. Například pro Windows Mobile vznikala spousta alternativních GUI, včetně HTC TouchFLO (předchůdce HTC Sense). Navíc úpravy GUI Androidu jsou naopak důvodem nespokojenosti zákazníků, protože jejich kvalita bývá nevalná.
V oblasti automobilového průmyslu také nevidím vyjma ceny moc výhod. Ford, Fiat i většina dalších výrobců má in-car entertainment založený na Windows Embedded CE, což je RTOS s podporou prakticky všeho co umí Windows Phone (SMP, multitouch, gesta, DLNA, vývoj ve Visual Studiu atd). Na druhém místě je QNX, a Android a embedded Linux jsou prozatím výrazně méně rozšířené.
Ta otázka ceny licence je také relativní. U Windows CE nebo QNX dostáváte hotový a vyzkoušený produkt, a nehrozí vám patentové spory. Otázka je, jestli těch pár ušetřených dolarů stojí za případné problémy.
Použití open source je především strategické rozhodnutí. Něco přinese, něco vezme. Vyžaduje jiné vývojové, obchodní i marketingové modely.
Manager A a B: Uveďme na trh zcela nové zařízení. Teď je otázkou, jak zajistit firmware.
Manager A: Najmeme dvacet programátorů, ti to za půl roku spíchnou.
Manager B: Ale to nestihneme vánoční trh.
Manager B: Co takhle nasadit na to Linux (Android, busybox,…). Naši tři programátoři to do vánoc stihnou.
Manager A: Ale to budeme muset zveřejnit zdrojové kódy. Konkurence bude od nás moci opisovat!
Manager B: Ale konkurence to nestihne do vánoc!
Jenže zrovna když jde o rychlost vývoje, tak se spíš vyplatí něco koupit. Například licenci Windows CE, protože programátory co píšou pro MS platformu už stejně nejspíš máte, a celou skládačku dají dohromady velmi rychle. Open source přináší spíš úsporu v oblasti licencování, a většinou za to zaplatíte nutností uvolnit zdroják.
Musím říci, že v softwarovém vybavení automobilů se příliš nevyznám, takže nemohu příliš oponovat. Domnívám se ale, že dnes i ten Android je hotový a vyzkoušený produkt, který je navíc zadarmo a díky otevřenosti jsou možnosti úprav mnohem větší. Ano, je tu problém s licencemi na druhé straně. Jsou tu prostě pro a proti, ale reálný trh ukazuje, že prosperovat mohou jak uzavřená, tak otevřená řešení.
Nicméně k tomu nepřímému přínosu. Jistě, pro úpravy GUI není znalost zdrojového kódu nutná, ale je otázka, kolik tenkrát stál vývoj TouchFLO a kolik tenkrát vlastně existovalo funkčních alternativních prostředí pro Windows Mobile. Mně teď jde hlavně o ty počáteční fáze, kdy Android byl skutečné na rychlo spíchnutá alternativa k iOS, spousta věcí nefungovala a výchozí funkčnost byla nedostatečná. Nicméně, ten systém byl otevřený. Tj. když někomu chyběla nějaká funkce ve výchozím launcheru, mohl si stáhnout kód a dopsat si ji tam. Časem jich tam dopsal více a vydal to jako alternativní launcher na Marketu. A spousta uživatelů díky tomu byla spokojenějších. To samé platí o alternativních browserech, sms klientech, dialerech a vůbec čemkoliv v Androidu. Spousta kvalitních aplikací, které jsou nalezitelné v Google Play, mají základy v kódu, který vyvinul Google. A je samozřejmě mnohem snazší vycházet z existujícího řešení, než si psát vše sám od začátku.
Dá se namítnout, že alternativní browser používají řádem jednotky procent lidí, alternativní launcher ještě méně a o alternativních romkách ani nemluvě. Je ale nutné si uvědomit, že dříve, když Android nebyl tak rozšířený, tak procento geeků v populaci uživatelů Androidu bylo mnohem větší a veškerá tato extrémní rozšířitelnost měla tenkrát mnohem větší význam. A druhá věc je ta, že většina lidí sice nepřijde do styku s Cyanogen Modem či MIUI romkou, ale naprostá většina lidí se setká s prvky převzatými z těchto alternativních "experimentů". Když Microsoft či Apple vydávají novou verzi svého systému, tak jim nezbývá než přidat novou funkci, otestovat ji na malém vzorku lidí a pak doufat, že se to zbytku bude líbit. Naopak Google a všichni OEM výrobci Androidu mají k dispozici neuvěřitelné množství existujících řešení a všemožných tweaků, které navrhl, implementoval a vyzkoušel někdo jiný, a jim stačí jen sáhnout a přidat to do své verze Androidu také. A z toho těží samozřejmě koncový zákazník.
Všechny tyto aspekty samozřejmě nejsou přímo vázané na otevřenost kódu. Symbian a Windows Mobile jsou toho důkazem. Ale rozšíření Androidu a především extrémní množství jeho podob je svým způsobem dosud unikátním fenoménem. A já jsem přesvědčen, že otevřenost kódu s tím má dost společného. Samozřejmě, vše co píši, vychází z premisy, že Android jako takový je "pozitivní", tj. jeho přítomnost na trhu je přínosem pro zákazníky :) A za to pak nelze než nepoděkovat původnímu zcela otevřenému charakteru Androidu.
No já si myslím, že Android má ještě své mouchy. Například master key vulnerability postihuje prakticky všechna zařízení s Androidem.
http://nakedsecurity.sophos.com/2013/07/10/anatomy-of-a-security-hole-googles-android-master-key-debacle-explained/
http://androidcommunity.com/android-4-4-contains-new-master-key-bug-20131104/
A jak uváděl kolega Brabec v příspěvku na který jsem původně reagoval, ta dostupnost zdrojáku žádné zvláštní výhody nepřináší. Naopak zprostředkovaně vede ke vzniku produktů, které jsou vysloveně příšerné. To demonstruje většina levných telefonů s Androidem, které často zamrzají nebo se samovolně restartují, lagují, mají resource leaks, a mají zpravidla grafickou nadstavbu napsanou asi nějakým studentem na drogách.
Ad Google a všichni OEM výrobci Androidu mají k dispozici neuvěřitelné množství existujících řešení ... stačí jen sáhnout a přidat to do své verze Androidu také - pokud jsem si všimnul, tak aplikace z Google Play zahrnout nemůžete. Takže nakonec nezahrnete ani ty lunchery, dialery a sms klienty, protože k nim nemáte licenční práva. Spíš to vypadá tak, že pokud máte dost času, levné lidi a malý rozpočet, tak se Android vyplatí, protože neplatíte za licenci.
Ta dostupnost zdrojových kódů dovoluje vytvářet odvozené produkty s pozměněným kódem. A to právě může být klíčové při uvádění nového produktu: získáte zde obrovskou část kódu zdarma, za cenu, že i to, co dopíšete, musíte zveřejnit.
Vývoj se změnou kódu může dělat nejenom dodavatel software, ale kdokoliv. Jestli na to někdo najme profesionály nebo partu školáků z Bangalore, je už jen na něm.
I aplikace z Google Play může mít volnou licenci. A nemá-li, dá se to doinstalovat klikátkem až u zákazníka.
Samozřejmě, že Android má své mouchy, ale to mají i uzavřené systémy. Tady na Rootu se pravidelně píše o chybách MS Widows, které jsou známé již deset let a stejně neopravené.
Jinak se mi zdá, že jsme si nerozuměli ohledně toho, jakým způsobem má být to "neuvěřitelné množství existujících řešení" využito. Já jsem neměl na mysli doslova vzít cizí kód a přidat ho do toho svého (i když třeba CyanogenMod je také otevřený a z něj lze tedy kopírovat libovolně). Spíše mi šlo o možnost inspirace. Od samého počátku existence Androidu lidé ten systém nějakým způsobem vylepšovali a hledali cesty, jak ho udělat příjemnějším. Výrobce se pak může podívat, co se lidem líbí, co jim chybí, a implementovat to vlastním způsobem také. To je ten ohromný rozdíl oproti OSX a Windows Phone, protože co neupeče Microsoft/Apple ve svých laboratořích, to se do systému nikdy nedostane. Samozřejmě že i pro OSX či Windows Phone vzniká kupa aplikací, ale nejsou to na rozdíl Androidu aplikace systémového typu (launcher, klávesnice, dialer, SMS klient apod.), a tedy logicky neposouvají platformu zdaleka tolik kupředu.
Teď to nemyslím tak, že bych Android považoval za lepší systém než OSX či WP (tj. že Open Source charakter systému převažuje nad closed source). Jde mi spíše o to, že Open Source charakter vede k velkému množství derivátů původního produktu (alternativní aplikace, romky), což posouvá Android kupředu a v rámci konkurenčního boje i ostatní closed source systémy. Abych to shrnul, dostupnost zdrojáku Androidu posouvá kupředu celý mobilní trh, z čehož těží v podstatě všichni mobilní zákazníci.
A ještě k těm levným telefonům s Androidem - jistě, jsou to zmetky (či spíše byly, teď už se mi to tak hrozné nezdá), ale osobně si myslím, že jsou to zmetky za odpovídající cenu. OSX je pro valnou většinu populace cenově dostupný a Windows Phone se do nižších cenových hladin dostal poměrně nedávno. Tj. my ty telefony můžeme pomlouvat, ale pořád díky Androidu se spoustě lidí dostaly do rukou funkčně našlapané přístroje, a že jsou trochu pomalejší a ne zrovna hezké? Když dávám za telefon 3500, asi je mi to jedno.