Добрый день,
Эта статья получилась сильно длиннее, чем предыдущая про тотальное превосходство AAC на iPhone над любыми (включая LDAC и AptX / AptX-HD) Bluetooth-кодеками на андроид. Из-за большой длины, данную статью пришлось разбить на несколько, пока публикую только первую часть, остальные надо дописать, позже я добавлю остальные части.
Но даже из первой части вам станет понятна истина - операционная система (далее - ОС) Android это по факту ни разу не открытая ОС, а все отсылки к якобы ее открытости являются, в лучшем случае, полуправдой, а при внимательном рассмотрении - ложью. Будут разобраны лживые стереотипы касательно открытости Android, а так же мотивация Google представлять Android якобы открытой системой.
В будущих частях статьи будет показано что, к тому моменту, когда сборка Андроид оказывается на конкретных телефонах пользователей, он становится куда более закрытым, чем даже iOS! Внимательно следите за руками фокусника Google!
Откуда пошел стереотип что Android якобы открытая система?
Стереотип о том, что Android - открытая система, а iOS - закрытая, это один из самых укоренившихся стереотипов про обе платформы.
К сожалению, довольно часто так думают адекватные пользователи Android и многие пользователи Apple. Это утверждение постоянно можно встретить в разных статьях, причем даже уважаемых авторов и издательств - что якобы Android это открытая платформа, а iOS - напрочь закрытая.
Я же возьму на себя смелость с аргументами опровергнуть данные заявления про Android, кроме того, приведя доказательства того, что в ряде случаев iOS является, внезапно, более открытой, чем Android.
Так же следует отметить что особенно часто заявление о якобы супер-открытости Android транслируют люди, которых я называю термином "андроидюшатники". Да, под словом "андроидюшатники" я подразумеваю далеко не всех тех, кто пользуется или кому нравится Андроид.
В эту категорию я выделяю людей, генерирующих потоки ненависти в адрес Apple в любой теме, либо такие же потоки лжи в адрес Apple без приведения каких-либо доказательств. Обычно я последовательно и аргументированно опровергаю ложь таких людей в статьях и комментариях. Одной из таких статей является и эта.
К людям, кому просто нравится Android и кто при этом не хейтит Apple, у меня нет претензий. Для меня такие люди - не андройдюшатники, а просто любители Android. Если вам нравится Android и вы не пишите потоки ненависти или лживые бездоказательные утверждения про Apple, пользуйтесь на здоровье!
Если вы адекватный любитель Android и хотите аргументированно возразить сказанному с приведением ссылок на источники вашей информации, добро пожаловать в комментарии!
Что такое Android?
Казалось бы, вопрос крайне странный. Но дело в том, что под одним и тем же словом разные люди могут иметь в виду совершенно разное. Именно поэтому «на берегу» стоит договориться о терминах.
И если с iPhone и iOS все довольно однозначно и понятно, то с Андроидом - нет.
Часто люди говорят «у меня телефон на андроиде», хотя по факту это… не совсем так. По факту имеет место один из следующих вариантов:
- На телефоне установлена ОС Android, лицензированная производителем у Гугла и модифицированая производителем смартфона (например, для совместимости этой ОС с аппаратной частью данного производителя), с оболочкой от производителя, и приложениями от Гугла (Google Mobile Services - GMS). Важно еще, чтобы обеспечить совместимость приложений под андроид с железом на конкретном смартфоне, производитель должен реализовать т.н. API (в части, за которую отвечает производитель, например, в работе с камерой). Запомните пожалуйста этот момент! Так же важно то, что такая «сборка» андроид становится принципиально отличной от других подобных сборок. Это путь таких фирм как Самсунг, Сяоми и многих других.
- На телефоне установлено нечто, получившееся после скачивания вендором исходников из проекта Android Open Source Project (как показано далее, под истинный Open Source это поделие Гугла лишь мимикрирует) и различной степени его доработки. Производитель в данном случае уже не может использовать GMS, что делает такой смартфон неполноценным "кастратом". И да, такому производителю тоже нужно реализовать свою часть API - иначе приложения для андроид не будут совместимыми с такой системой. Либо надо полностью делать несовместимые с остальными Android приложения. По этому пути пошел Хуавей - те, кому из-за санкций другие пути закрыты.
Казалось бы, пункт 2 - прямое подтверждение якобы открытости Android? Как раз, нет, не подтверждение - далее в статье это будет подробно разобрано.
Но самое главное - пользователи всегда сравнивают конечные устройства, которые есть у них или которые можно купить. Нет никакого смысла, говоря о смартфонах на андроид, обсуждать "сферический AOSP в вакууме" - его никогда не будет в принципе ни на каких реально продаваемых смартфонах. Поэтому в данной статье и следующих ее частях под словом "Android" я буду подразумевать конечную сборку Android на пользовательских устройствах, если из контекста главы не следует другое.
А что такое открытое ПО?
Давайте определимся и с этим термином.
На сайте opensource.com в статье "What is open source" (Что такое программное обеспечение с открытым исходным кодом) говорится что изначально этот термин применялся к программному обеспечению (далее - ПО), исходный код которого был опубликован таким образом чтобы сторонние участники могли с ним ознакомиться или изменить. Однако современный термин Open-Souce подразумевает нечто большее:
- Прозрачность. То есть имеется открытый доступ к любой информации и материалам касательно данного ПО, когда любая проблема обсуждается публично, когда схемы этого обсуждения и принятия решений доступны для всех участников.
- Коллаборация. ПО разрабатывается совместно кругом участников, к которым может присоединиться любой, имеющий соответствующие компетенции. Любой может внести свой посильный вклад в развитие ПО.
- Частый выпуск релизов ПО, сразу после реализации и тестирования в нем новых функций вместо накопления изменений и выпуска их пакетами обновлений (как любит делать Microsoft, Google, ну или тот же Apple).
- Приоритет отдается наиболее талантливым идеям, независимо откуда они появились. На обсуждение выносятся различные идеи, и лучшие получают свое развитие.
- Сообщество. Оно формируется, когда совершенно разные люди могут свободно объединяться для реализации общей для них идеи. Эта общая идея является ключевой для сообщества разработчиков, а не принадлежность их, например, какой-либо одной компании.
Основной посыл в этих пяти пунктах - полностью открытый и справедливый для всех компетентных профессионалов процесс разработки, когда софт разрабатывает большое открытое для новых участников добровольное сообщество, без привязки к конкретной стране и тем более компании. Классическим примером такого действительно открытого ПО является ядро Linux.
По-настоящему открытое ПО, каким, например, является ядро Linux, вообще публикуется под лицензией, делающей это ПО общественным достоянием. Далеко не все лицензии, под которыми публикуется в открытом доступе исходный код, подразумевают такую передачу прав. Но быть общественным достоянием - это один из признаков действительно открытого ПО.
Что важно, отцы-основатели идеологии открытого ПО являются весьма грамотными людьми и заведомо предусмотрели основной риск для открытого ПО - что Google или любая другая компания скачает исходники этого самого открытого ПО и использует в своих закрытых для всех разработках. И поэтому открытое ПО выпускается под специальными лицензиями, где часто можно встретить требование публикации исходного кода в случае внесения изменений, а так же сохранения оригинальной лицензии. Запомните этот момент, он очень важен для понимания того, откуда возник миф о якобы открытости Андроида.
Да, принадлежность ПО к Open-Souce - это лишь одна из возможных трактовок понятия "открытая система". Очень часто под этими словами могут подразумевать открытость, например, в части функций ПО - например, часто в комментариях встречается что андроид якобы гибче настраивается, на него можно свободно скачивать приложения откуда угодно, а на iOS - якобы нельзя и, что на андроид можно свободно закачивать музыку, а на айфон - якобы нельзя и т.д. Я тоже разберу и опровергну с аргументами эту популярную ложь, но в следующих частях статьи, не в этой.
Очень часто в качестве "аргумента" о том, что андроид якобы является Open-Source приводится пример так называемый Android Open-Source Project (далее - AOSP), ведь у него же код опубликован доступным для всех!
Да, исходный код AOSP действительно находится в открытом доступе, но, как в том анекдоте про Петьку и Ивана Васильевича, "есть нюанс". Но сначала вспомним историю:
Как Apple вынудили Google выпустить AOSP?
Давайте сначала подумаем о том, как так получилось что Гугл вообще удосужился выложить какие-то (слово "какие-то" важно, запомните его!) исходники в открытом доступе? Ведь он практически никогда этого не делает даже в 2024 году, не говоря уж про 2007, когда появился Android 1.0 (и AOSP)!
Сейчас Гуголь в комментариях к AOSP пишет красивые сказки о том, как они якобы хотели сделать Андроид открытым для всех, чтобы одна компания не могла контролировать весь процесс разработки и прочие сказки для наивных андройдюшатников. По факту все оказывается ровно наоборот.
Андроид основан на ядре Linux (в первой версии использовали 2.6.4), следовательно, согласно лицензии GNU GPL под которой это ядро было опубликовано, автор должен передать ПО в общественную собственность!
Для патологически жадного Гугла принятие GNU GPL и признание Android общественным достоянием (каким является ядро Linux) было категорически неприемлемо, поэтому Гугл сделал все (например, переписал компилятор и выпустил его под BSD, и прочее), чтобы ядро Андроид, как и он сам никогда не стали общественным достоянием.
Мы достоверно не знаем под какой лицензией существовал Android в недрах Гугла до момента публикации AOSP, когда информация о лицензии стала известной публично. Но, судя по лицензии, под которой был выпущен AOSP, можно предположить, что Гугл вряд ли имел планы публикации исходников Android - хотя бы потому что лицензия, под которой был выпущен AOSP, внезапно, вообще не обзывает ничего публиковать. Кроме того, следует обратить внимание на абсолютное доминирование полностью закрытых продуктов у Гугла. Мне не удалось найти информацию о публикации Гуглом каких-либо исходников своих продуктов до 2007 года. Поправьте в комментариях, если знаете такие. Блог якобы "open source" Гугл вообще запустил только в 2008 году.
Вообще, для Гугла (и не только) все резко изменилось в 2007 году:
.. Когда все планы Гугла, как обычно, сломал на корню Эппл, выпустив первый айфон. Он фактически совершил революцию в мире смартфонов и полностью определил вид и основной функционал подобных устройств. Люди массово его скупали, при том что ни одного подобного айфону смартфона на Android еще не было в природе.
И это при том, что ОС Android старше даже первого айфона - начинал он как клон Symbian, а после выхода айфона скопировал основные его фишки. До выхода первого айфона, у Android не было даже поддержи сенсорных экранов, а после выхода айфона Гугл бросился срочно дорабатывать Андроид под те реалии, которые продемонстрировал айфон.
После выхода айфона, руководство Google было в ужасе от возможной потери миллиардных прибылей в случае, если бы Эппл захватили всю нишу смартфонов. А все к тому и шло - первые iPhone разбирали как горячие пирожки, пользователи были в восторге от айфонов (даже несмотря на то, что первый айфон был крайне ограниченным устройством, на него даже нельзя было ставить сторонние приложения!). Кроме того, Гугл очень боялся, что Эппл рано или поздно сделает свой собственный поиск в айфонах и Гугл останется без существенной доли дохода от рынка онлайн-рекламы - ведь у Гугла на 2007 год не было ничего сопоставимого iOs.
Публикация исходников Android под видом открытого ПО (в противоположность политике Эппл), должна была помочь им отвоевать часть рынка у Эппл. Кроме того, опубликовав исходники, Гугл перекладывал существенную часть работы (например, написание ряда драйверов или оболочки) на конкретных производителей андроид, чем сильно облегчил себе участь в тот момент, когда андроид был максимально сырым. Гугл бы эту работу не осилил во вменяемые сроки и наверняка бы проиграл рынок айфону.
В результате, в ноябре 2007 года (первый айфон вышел в июне 2007), Гугл таки опубликовал исходники под именем AOSP. Это было сделано для того чтобы многочисленные вендоры, уже обжегшиеся на политике Nokia c Symbian, "клюнули" на никому тогда не известную операционную систему Android.
Гугл презентовали ее как якобы открытую (в противовес закрытой iOS и в противовес закрытой тогда Symbian, которая стала открытой лишь в 2010, после фактического краха ее популярности, в том числе по этой самой причине закрытости).
AOSP был выпущен под лицензией Apache 2.0 (в этой статье дается хорошее объяснение этой лицензии, в отличие от кривого в вики). Но ни BSD, и Apache 2.0 не являются т.н. "copyleft", то есть весь код Андроид - по факту собственность Гугла, хотя и позволяет менять код сторонним разработчикам. Кроме того, Google сам же нарушает требования публичных лицензий в своей дополнительной лицензии, необходимой (!) для на участия в AOSP. Об этом рассказано далее.
В результате можно сказать что эта стратегия Гугл удалась, первый андроид с сенсорным дисплеем вышел в 2008 году, популярность Android начала постепенно увеличиваться, пока большая часть смартфонов в мире не стали устройствами на андроид.
Однако Ларри Пейдж и Сергей Брин совсем не дураки, они еще в 2007 году наверняка понимали что сделав Android по-настоящему открытым, они потеряют власть над ним и доход с этой доли мобильного рынка. Именно для сохранения власти и была затеяна переделка с целью отказа от публичной лицензии (GNU GPL) на куда более выгодную Гуглу Apache 2.0.
Когда Apple загнал выпуском айфона Google в угол, Google во избежание полного краха проекта Android был вынужден опубликовать AOSP. Но при этом они сделали все возможное, чтобы AOSP было фактически невозможно использовать и развивать без тотального контроля со стороны Google, даже несмотря на ту свободу, которую дает Apache 2.0.
ОС Android и близко не является открытой системой
Для начала рассмотрим ту часть Андроида, которую производители мобильных устройств получают от Гугла. Если что, то это и близко не AOSP! Взяв AOSP, вы по факту получите абсолютно бесполезный код, который потребует колоссальных финансовых затрат и времени для того, чтобы его можно было использовать в смартфонах. Именно на это и рассчитывает Гугл - всем можно говорить что у андроида открыты исходники, а о том, что их использование требует доработки, делающей данный процесс полностью бессмысленным по сравнению с заключением договора с дьяволом Гуглом, всячески умалчивается.
Именно поэтому в реальности Гугл предоставляет производителям смартфонов совершенно другое: собственно, кодовая база AOSP, основные драйверы (они так же закрыты, если что), новые наработки поверх AOSP, и, вишенка на торте - Google Mobile Services или GMS.
А теперь самое интересное. Из всех этих позиций только у AOSP код находится в открытом доступе, и то, в отличие от озвученных ранее принципов современного открытого ПО, у AOSP только опубликован код, чтобы хоть как-то формально можно было отнести его к Open-Source. Остальные требования к открытому ПО у AOSP не выполняются в принципе!
Все разработки в AOSP по факту ведутся инженерами Гугл, и данный процесс фактически закрыт для сторонних разработчиков, в том числе, с точки зрения принятия каких-либо решений. Гугл внутри себя разрабатывает следующую версию Android, периодически обновляя AOSP. Совсем не так идет разработка Linux, который разрабатывают публично и открыто, в реальном времени, фактически всем миром!
Как Гугл сделал так, чтобы как можно меньше сторонних разработчиков участвовало в AOSP? Опять же, формально, возможность их участия якобы есть. Но, как почти все в Андроид, эта возможность на самом деле - ложь:
- Вы, как разработчик, бесплатно дарите Гуглю все права на внесенную вами интеллектуальную собственность, включая патенты - причем на продажу Гуглом ваших работ и получения ими денег за это! (см. п. 2 и 3 Соглашения с
дьяволомГуглом). Это противоречит лицензиям, под которыми опубликован AOSP, но, как говорят, 'проблемыиндейцевразрабовшерифаГугла не волнуют'. - Процедура участия сторонних разработчиков максимально усложнена Гуглом, что включает одобрение ваших правок Гуглом, а не открытым сообществом разработчиков (см. выше про открытое ПО).
- Для тех, кто таки нашел в себе решимость согласиться с рабскими условиями Гугла и преодолеть все сложности, по факту будет ждать облом - Гугл наверняка не примет ваши изменения, как описывает это разработчик по ссылке выше. Ну, и вот объяснение почему - Гугл в релиз AOSP включает лишь то, что сам хочет, ну а вы продолжайте
жрать кактусвносить правки:
Что касается новых наработок поверх AOSP, это отдельная песня. В данной статье в полной мере показаны различия между тем, что есть в AOSP, и тем, что Гугл фактически предоставляет производителям в рамках закрытых соглашений - а это небо и земля. Гугл в реальности делает все возможное, чтобы AOSP никому в здравом уме не пришло в голову использовать.
Вот как выглядит одно и то же в AOSP и в Android для вендоров - указанная выше статья была написана в 2018 году, и в ней упоминаются еще более старые AOSP и Android, но факт остается фактом:
Та версия Android имела голосовой поиск, аудиопоиск, озвучивание ответов и вдобавок функцию голосового помощника. Версия AOSP в том же году могла только выполнять веб- и локальный поиск и... ничего больше. И такое повторялось каждый год.
Честно говоря, я не знаю, актуально ли сказанное выше для последнего AOSP. Мне лень тратить на это свое время и проверять, реально ли Гугл добавил в код AOSP все фишки из Android 15 в 2024 году или нет (скорее всего, не добавил, как и делал это многократно ранее). Сам Android 15 в AOSP в 2024 году был опубликован, но это еще не значит что в AOSP 15 открыты все функции Android 15. Предполагаю что все так же закрыты, как и ранее. То есть по факту эта часть Android на конечных устройствах является закрытой и становится открытой лишь спустя такое время, когда она уже сильно устареет. Это очередное принципиальное отличие Android от настоящего открытого ПО.
Пусть уж любители андроид сами проверят проверят это и напишут в комментариях с приведением доказательств из независимых источников, как это делаю я.
По факту AOSP были вынуждены использовать изгои на мировой арене типа Huawei после введения против них санкций за промышленный и государственный шпионаж в пользу Китая. Но, к их чести, они смогли преодолеть все ловушки и препоны, расставленные Гуглом, и таки выпустить на его базе первые версии Harmony OS с необходимой инфраструктурой. И да, обошлось им это минимум в миллиард вечнозеленых, и это только на создание экосистемы приложений, несовместимой с Android. Полные затраты на создание из AOSP чего-либо вменяемого, очевидно, были существенно больше. На это и рассчитывает Гугл - бесплатный сыр AOSP бывает только в мышеловке.
Хуавей заявляет что якобы сейчас у них не осталось ни одной строчки оригинального кода Андроида. Объективно есть очень серьезные сомнения в таких заявлениях. Кроме того, Huawei неоднократно ловили на лжи - я считаю что доверия этой компании не должно быть больше никакого. Но это неважно в контексте данной статьи, ранние версии Harmony OS по-любому были основаны на AOSP, и Huawei потратила огромные деньги чтобы это сделать.
Ну и напоследок - GMS. Мобильные сервисы Гугла, типа браузера, поиска, облака и почты (и т.д.), без которых ни один смартфон на Android таковым, с точки зрения пользователей, не будет. Да, это та самая вишенка на торте.
Как же с ней обстоят дела?
На самом деле, крайне интересно. Вдвойне интересно что Гугл прятал и прячет эти положения в договорах конфиденциальности как может и они недоступны никому публично (открытая же система, ну-ну). Удалось найти только MADA еще времен HTC, оказавшиеся в публичном доступе в результате судов производителей с Гуглом. Сейчас Гугл, наверняка, еще сильнее закрутил гайки (но, к сожалению, более свежих данных о MADA мне не удалось найти):
- Для того, чтобы получить Android, который можно доработать и установить на устройство (а не бессмысленный AOSP), производитель должен заключить с
дьяволомГуглом особый договор -продать душуMobile Application Distribution Agreement (MADA). - Устройство может распространяться только в том случае, если все приложения Google предварительно установлены на устройстве (раздел 2.1 MADA). Производитель телефона обязан произвести предварительную загрузку всех приложений Google, одобренных на соответствующей территории, на каждое устройство (раздел 3.4.(1) MADA).
- Производитель телефона должен разместить поиск Google и Play Market в области, непосредственно прилегающей к главному экрану по умолчанию и, со всеми другими приложениями Google, не более чем на один уровень ниже верхней части телефона (раздел 3.4.(2)-(3) MADA).
- Служба Google Network Location Provider должна быть предварительно загружена и по умолчанию (раздел 3.8.(c) MADA).
Это 'открытое, свободное ПО от открытой компании' называется? Серьезно?
Очевидно, эти положения MADA служат как для того, чтобы помочь Google быть абсолютным монополистом там, где конкуренция с решениями производителей смартфонов может иметь место. Самое забавное, что андройдюшатники в этом обвиняют Эппл, ну а то, что Гугл делает ровно то же самое, они внимания обращать не хотят. Но Эппл хотя бы честно позиционирует себя как закрытую компанию, в отличие от лживого Гугла со своим лживым андроидом.
Ну и самое главное - все эти сервисы и приложения GMS от Гугл полностью закрытые. То есть то, что Андроид в глазах пользователей как раз и делает андроидом - полностью закрыто.
Вот и приехали. Где здесь хоть капелька открытости?
Выводы
- Гугл сделал все возможное (включая изменение кода с целью избежать GNU GPL ядра Linux), чтобы Android не стал общественным достоянием, то есть не был по-настоящему открытым ПО, каким является ядро Linux.
- Google опубликовал AOSP лишь для того чтобы спасти проект Android от краха после выхода первого айфона.
- AOSP имеет публичный код, но при этом он не соответствует остальным критериям открытого ПО. При этом AOSP - это непригодный для использования полуфабрикат, для адаптации его для установки на реальные смартфоны производителя требуются колоссальные затраты (см. пример Huawei).
- Google всячески всячески препятствует открытой разработке AOSP, что ничем не отличает это от того, что делает Apple. Но Эппл хотя бы честно говорит что их разработка закрыта. Все же заявления Гугла о якобы открытости разработки AOSP фактически не соответствуют действительности.
- ОС Android, устанавливаемая производителями на свои смартфоны, является закрытой системой. В Android с большой оговоркой можно считать открытым только часть, соответствующую AOSP. Драйвера, функциональные настройки над AOSP, сервисы Гугл и все прочее что на самом деле делает Андроид Андройдом - полностью закрыто.
- Гугл всячески ограничивает конкуренцию и принуждает производителей делать то, что хочет Гугл, что не отличает его действия от политики Эппл. Но Эппл заявляет об этом публично, а Гугл всячески скрывает это.
- Таким образом, конечный Android на устройствах является таким же закрытым продуктом, как и iOS.
Спасибо за внимание. Это только первая часть статьи. В следующих частях статьи будет рассмотрено что:
- Производители конкретных смартфонов делают и так закрытый Android еще даже более закрытым чем iOS. То есть Android на конечном устройстве пользователя Android становится даже более закрытым чем iOS!
- Будет сделано сравнение открытости функционала Android и iOS, где будут опровергнуты многочисленные стереотипы андройдюшатников про iOS.