Твердження про те, що мобільне програмне забезпечення Android від компанії Google є і безкоштовним, і з відкритим вихідним кодом, так часто повторюється, що вже складно з цим не погодитися. Проте, ні те, ні інше - не зовсім вірно.
У той час як базове програмне забезпечення Android дійсно є і може бути завантажено, скомпільовано і змінено користувачем, інші сервіси, які представляють собою послуги мобільного зв'язку від компанії Google, наприклад, Maps, Gmail, і навіть Google Play, яке відкриває людям доступ до інтернет -магазин, де вони зможуть завантажити потрібні програми. Без них, девайс має мінімальну функціональність.
Щоб дістати доступ до ключових додатків, виробник комплектуючих повинен мати ліцензію "Google Mobile Services" (GMS). Так само, як у Microsoft з Windows і Windows Phone. Плата за GMS-ліцензію стягується з кожного пристрою. Якщо, наприклад, компанія планує випустити 100.000 планшетів, їй доведеться заплатити близько 75 тисяч доларів, згідно з джерелом «The Guardian».
Google ліцензує більше 1 млн пристроїв в день
Як би там не було, немає остаточного прайс-листа для отримання ліцензій GMS; Google намагається варіювати вартість в залежності від кількості випущених пристроїв і обсягу замовлень виробника. Угоди укладаються на індивідуальній основі, і частіше за все конфіденційні. Google не відповідає на запити про надання інформації про ціни GMS-ліцензій, також у відкритому доступі в інтернеті немає такого списку.
Спонтанний та трудомісткий процес
Сам процес отримання GMS-ліцензії здається спонтанним і надзвичайно трудомістким. Установка Google Play без ліцензії GMS є незаконною. Але, як стверджує джерело, у Google немає трудових ресурсів для відстеження даної процедури. Все залежить від обсягу. Великі виробники мобільних пристроїв платять, менші, в свою чергу, намагаються всіляко обійти цю ліцензію, а Google закриває на це очі. Нерідко «легальний» виробник самостійно подає до суду на компанію, яка не пройшла ліцензування. Так, конкуренти компанії Argos звинуватили її в тому, що представлений нею планшет MyTablet не має відповідної GMS-ліцензії.
Тест на сумісність з Android - останній крок, що передує одержанню GMS-ліцензії. Нерідко і те, і інше стикається з незадоволенням Google. Були навіть випадки, коли доводилося домовлятися аж зі старшим віце-президентом корпорації. Таким чином, невеликим виробникам стає невигідно і небезпечно займатися цим, тому ніякого іншого виходу, крім як користуватися, по суті, краденими Google Mobile Services, у них немає. Варто відзначити, що існує спосіб уникнути цих обмежень. Користувачі девайсів, якщо вони розбираються в цьому, цілком мають право встановити на свої пристрої пакет GMS-додатків.
Твердження, що Android - система з відкритим кодом, вірно лише частково. Вихідні коди викладені в інтернеті, і кожен може завантажити їх і пізніше внести потрібні зміни. Наприклад, так зробила компанія Amazon, яка створила фірмову платформу для лінійки планшетів Kindle. Але, на відміну від вселяє кількості широко використовуваних відкритих систем, таких як Linux, MySQL, PHP і Python, які тільки вітають участь сторонніх розробників, Google має іншу стратегію, дозволяючи лише власним співробітникам займатися розробкою наступних версій Android. Іншими словами, Open Handset Alliance виступає лише прикриттям для нібито спільної роботи над Android-проектом, тоді як насправді він цілком і повністю знаходиться під контролем компанії Сергія Бріна і Ларрі Пейджа.
В даній таблиці можна побачити, яку частину функціоналу Google поставляє через оригінальні дистрибутиви Android і open-source, а яку - за власним пропрієтарним каналах.
3.24 MB (3,396,656 Bytes)
Запити до бази даних
20 SQL-запитів зафіксовано
18 типів SQL-запитів зафіксовано, відсортовано по входженням
Запити типу SELECT:
- 2 × SELECT b.rules
FROM j25_assets AS a
LEFT JOIN j25_assets AS b
ON b.lft <= a.lft
AND b.rgt> = a.rgt - 2 × SELECT b.id
FROM j25_usergroups AS a
LEFT JOIN j25_usergroups AS b
ON b.lft <= a.lft
AND b.rgt> = a.rgt - 1 × SELECT `id`,` name`, `alias`,` use_feedburner`, `uri`
FROM `j25_obrss` - 1 × SELECT `value`
FROM `j25_obrss_config` - 1 × SELECT *
FROM `j25_users` - 1 × SELECT *
from j25_xtcronjob_tasks - 1 × SELECT alias
FROM j25_content - 1 × SELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext,
CASE WHEN badcats.id is null THEN a.state ELSE 0 END AS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias,
CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs , a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference, c.title AS category_title , c.alias AS category_alias, c.access AS category_access, u.name AS author, (SELECT MAX (contact.id) AS id
FROM j25_contact_details AS contact - 1 × SELECT a.rules
FROM j25_assets AS a - 1 × SELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language, m.browserNav, m .access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id, e.element as component
FROM j25_menu AS m
LEFT JOIN j25_extensions AS e
ON m.component_id = e.extension_id - 1 × SELECT `custom_data`
FROM `j25_extensions` - 1 × SELECT c. *.
CASE WHEN CHAR_LENGTH (c.alias) THEN CONCAT_WS (# ': #', c.id, c.alias) ELSE c.id END as slug
FROM j25_categories as c
LEFT JOIN (SELECT cat.id as id
FROM j25_categories AS cat JOIN j25_categories AS parent
ON cat.lft BETWEEN parent.lft
AND parent.rgt - 1 × SELECT alias, catid
FROM j25_content - 1 × SELECT id
FROM j25_content - 1 × SELECT `data`
FROM `j25_session`
Інші SQL-запити:
- 1 × UPDATE `j25_session`
SET `data` = # '_ EwI9mwT4y0u3Sr9-tAHxsi32oXvmC9CfnR2aVH4isO9w0SYk6Wx7n7FTdqV5w0vOBx9g6xzfA5sl-PI0eHF8dRwJIsbDvbe3qVVzQ-z0HD4Yi7yv1QLa4_bISLYpOeFenh58zeILikcAst-VWGjvENUUmo5b53UIgUlQUv20E9OjBMfaWyHPGTaGThsq8ZsoFItFd5oYF5n_ewTKJL64NeaC7FBu_g0ltaSpDAlHK0OiTHvaIwmpy2zXutMNdjdboZjcleTeTl4nLGtb06Meq7iUK4-EEMvrVwymrfBsnLisdy82pT884vHdbB3W48iw-KbVzeGHQ7gLQZWSDVgmFbZqWmcdsfgCPXeBZW7rP5ksGAt_uWsJzSpUsox9Rhfp9dNevZtvkTODycXoGW7YGKViokKnHfWwVXfExrVQ5U8jGCY8dRuD8_hOVpBat4ZtmlzV8LaYqxN_WK0RGyA5RINLJKUEAfck36fkhA0zOl06wZzwgXVY7DgCrofhWe4rpD0wv1uWjsWv4JmKhuxSYeFekRvVsJO7KbUf_QRb9zQ1BK2g_1e5AqnGz0u7IJajHuCaStL7Vsr0r64hgzxsxYeAGrw0FCwU1RYtGcODxNRg1AESRZwpRVmdN2igX7oZsKnvCna6Pl5Sj3b8YWDwrHe8C81ZMMkQxtFFi6kLv0DA__9PlIlHO_Cg1QFYVLQl-F2WFt1oOo8c_ye2dnk3X_WUM5UiDQIQUWYIKiXQQntLSnFYNIml4oTs1d5uI66cX-q1w_vj5K_DtkNN97b3ZE9jQckMYyaPQwCSsmLKWWq1q8jOzSm2FCsca8SXmNjFMe6fLtjKHez-Svlk1m9HlsQFZv4cwJSn5cnPbROj7_pgLSzCEZnwtepBl0Ti2u2ZCZHP4G1Gb9GqCh7F_SUoM74pqF3erHpU7jntNfwEa9ShgQimDk1pCuZadqv_vaix-PfdAVczHrkGpD2QiqAmCvBg3_8Krd1AUhBC- AYF1BhykISRI1x_m7atzJjksOj1cv7mb09pfOIGQfIGIqPfQpSX6Gt2jqFFinPRbSccAzYGWnWUxbuW5_Cs6N17alQLyOaUMiEYi10DNw6rlTu-30RERp3v1UCDSgd2HAUWg_MA31LF0Yo7BijG5gl8K-mrfO9bXtBXuvJlQRuVtKfQArg8gvU5fjUG-eKO8wNSD_rXJvv1vBNHvB6smvl-GlfqQagE4t-OAIhpN8muXcDoEUoZu1u6HUbeYzuBf4mj5sazfGot4ndTjSfqjCJV8H3XhVgSYxAcmJCVk7t4im55yqNtX04xvlcPUXfVxP2Qhzwcxz3zvT2riB9wafF1a3WSQIjArIyjiPjJy02tUacfyuMZ57EDxhXKddRiYYWBzg. # '. `Time` = # '1511369976 #' - 1 × UPDATE j25_content
SET hits = hits + 1 - 1 × SHOW FULL COLUMNS
FROM `j25_users