Открытый исходный код андроид что это

Android от А до Я: Что такое открытый исходный код и открытое ПО (open source)

Открытое программное обеспечение (open-source software) предназначено для свободного доступа к исходному коду для всех желающих. Существуют разные лицензии с разными условиями использования от GPL (GNU General Public License) и до более лояльной Apache License. Первая разрешает бесплатное распространение при условии использования этой же лицензии для последующей продукции. Вторая не требует обязательного распространения готового продукта и открытости исходного кода. Android использует обе. Внутри продолжение рассказал об открытом исходном коде и открытом ПО.

Ядро Linux, которое используется в ОС, попадает под действие GPL. Это означает, что все изменения исходного кода должны быть доступны общественности после официального выхода софта. На практике это должно выглядеть следующим образом: такие производители как HTC, Samsung, Motorola, выпуская новое устройство, обязаны делать открытый доступ к исходному коду с моменты выпуска этого устройства. В большинстве своем производители железа немного затягивают с этим.

Исходный код для ОС Android как правило попадает под действие Apache License. Каждый может загрузить исходный код и изменить его, при этом нет необходимости делать код доступным для всех. По этой причине Android не могут изменить или усовершенствовать HTC Sense или MotoBlur. Несмотря на то, что подобная ситуация не нравится многим пользователям, она не может быть изменена в силу коммерческих причин. Если бы производители делали доступными все свои секреты, то отпала бы финансовая причина создавать различные инновации для опережения соперников в конкурентной борьбе. Таким образом, использование более лояльной лицензии является полностью оправданным. Выпуск новых устройств регулярно подтверждает это.

Источник

Русские Блоги

Почему Google должен защищаться от открытого исходного кода Android?

На прошлой неделе жаркое дело о монополии Android снова выдвинуло Google на передний план. В этом деле о монополии на Google предъявили иск Евросоюза с требованием компенсации в размере 5 миллиардов долларов США. Одной из причин судебного преследования было заявление Google об открытии Android. Фактически, они открывают только часть кода, а многие важные коды имеют закрытый исходный код.

Судя по отношению Google к Android на протяжении многих лет, они используют различные средства для управления открытым исходным кодом. Разве это противоречит лозунгу Android «Открытый код»? Почему Google это делает? Прежде всего, начнем с истории Android.

История Android

В ноябре 2007 года Google запустил проект с открытым исходным кодом Android (AOSP). Несколько месяцев назад был выпущен первый iPhone, открывший эру смартфонов. В то время Google по-прежнему был партнером Apple по приложениям. В то время Google Ожидается, что их будущее на мобильном рынке будет таким:

Если Google не примет немедленных мер, мы столкнемся с тяжелой формой в будущем: клиент, компания и оператор будут нашим единственным выбором.

Из приведенного выше предложения видно, что в то время Google очень боялся, что Apple будет править мобильной сферой в будущем. Поэтому в то время Google, который не имел опоры в мобильной сфере, был вынужден запустить Android как проект с открытым исходным кодом, чтобы бороться с Apple.

С тех пор доля Android на рынке первых смартфонов резко выросла.

Сегодня доля Android на рынке смартфонов выросла с нуля до более чем 80%. Только по рыночной доле можно сказать, что Android победил Apple. Но «побеждает Android» и «побеждает Google» — не обязательно одно и то же. Поскольку Android является открытым исходным кодом, это не совсем Google. Любой желающий может свободно использовать его, клонировать исходный код и создавать свою собственную вилку или альтернативную версию.

Читайте также:  Виртуальная камера для android

Как мы все знаем, на мобильном рынке, независимо от операционной системы, приложение — это все. Android установлен в большом количестве мобильных телефонов различных брендов, что также означает, что для него будет установлено большое количество приложений. Если компания создает форк Android, а Android уже совместим с десятками тысяч приложений, компании достаточно создать собственный магазин приложений и загрузить весь контент. Но если компания разработает лучшую операционную систему, чем Android, это серьезно угрожает нынешнему положению Google.

Google понимает, что мобильные устройства — это будущее Интернета. Есть много преимуществ в управлении крупнейшей в мире мобильной платформой, но невозможно отказаться от обещания открытого исходного кода, поэтому возникает вопрос: как контролировать проекты с открытым исходным кодом?

Как мы все знаем, «Android» делится на две части. Первая часть — это открытая часть Android Open Source Project (AOSP), которая является основой Android, а закрытая часть — это приложения Google, хотя Google не будет полностью закрывать проект с открытым исходным кодом Android. , Но они делают все возможное, чтобы использовать существующие проекты с открытым исходным кодом, основной метод: вводить все больше и больше приложений под закрытым зонтиком Google.

Дорога с закрытым исходным кодом Google

Приложения Google с закрытым исходным кодом существовали всегда. Сначала такими приложениями с закрытым исходным кодом были в основном Gmail, Google Maps, Talk и YouTube. В то время, когда у Android не было такой большой доли рынка, Google чувствовал, что этого достаточно для управления этими приложениями, поэтому он превратил остальную часть Android в проекты с открытым исходным кодом. Но по мере того, как Android стал гигантом в области мобильных устройств, Google решил постепенно осуществлять строгий контроль над открытым исходным кодом.

Меньше открытого исходного кода означает, что конкурентам Google нужно приложить больше усилий. Хотя Google не может убить приложение с открытым исходным кодом, он может закрыть исходный код обновленной версии, чтобы сделать исходное приложение бесполезным и сделать приложение «ломом». Когда Google изменяет дизайн приложения или выпускает новую версию Android в Play Store, это обычно показывает, что у него закрытый исходный код, и версия приложения AOSP также станет недействительной.

Что еще сделал Google?

OEM управления

Для Google недостаточно иметь контроль над приложениями, ориентированными на потребителя. Google также необходимо контролировать производителей мобильных телефонов.

Если компании удастся разветвить AOSP, клонировать приложения Google и стать конкурентом Android, это также бесполезно, потому что ему трудно найти производителей мобильных телефонов для распространения своих приложений.

Для открытого рынка легко убедить OEM-производителя Android отказаться от Google и сотрудничать с ними, но Google уже давно этого не делает. Поскольку реальная сила Google в области мобильных устройств заключается в контроле над приложениями Google, включая Gmail, Карты, YouTube, Play Store и т. Д., Как крупные, так и мелкие производители мобильных телефонов надеются установить эти приложения на свои телефоны из-за этих приложений. Это не открытый исходный код, поэтому он должен быть лицензирован Google. Так что Google определенно добавит некоторые требования к лицензионному соглашению, чтобы контролировать производителей мобильных телефонов, чтобы предотвратить «бунт».

В это время Google запустил OHA (Open Handset Alliance), и OEM-производители, присоединяющиеся к OHA, получат дополнительные разрешения от Google App. OEM-производители, которые присоединяются к OHA, должны подписать соглашение: запретить создание устройств, не сертифицированных Google, и запретить сотрудничество с компаниями, имитирующими операционную систему Android.

Еще в 2012 году, когда Acer хотела производить устройства под управлением ОС Alibaba Aliyun в Китае, Acer получила уведомление от Google о том, что если новый продукт будет оснащен операционной системой Alibaba Cloud, Google откажется от сотрудничества и соответствующих продуктов Android. Позже авторизация технологии была вынуждена отменить мобильную телефонную конференцию.

Управление сторонними приложениями

Стратегия Google Play состоит в том, чтобы превратить «экосистему приложений Android» в «экосистему Google Play», чтобы эти приложения могли легко работать на устройствах, одобренных Google, но это сложно сделать на устройствах, не сертифицированных Google.

Читайте также:  Прошивка ардуино через андроид

Play Services — это приложение Google с закрытым исходным кодом. Оно не только привлекает пользователей к использованию приложений с закрытым исходным кодом, но и контролирует сторонних разработчиков через собственный API Google.

Если вы используете Google API и запускаете приложение на Kindle или любой другой версии AOSP, отличной от Google, результат будет следующим: Поздравляем, ваше приложение не работает!

На данный момент идея Google такова: Android занимает значительную долю мобильного рынка, и разработчикам нужно только создавать приложения, чтобы они работали хорошо и приносили пользу широкому кругу пользователей. Google API может помочь им достичь всего этого, но побочным эффектом является то, что ваше приложение должно постоянно зависеть от устройств с лицензией Google Apps.

В целом, хотя Android «открыт», он открыт в смысле «дальновидности, но не неприлично». Пока вы довольны, вы можете использовать его в любой области, но при условии, что вам нужно получить Google Другими словами, если вы хотите думать об Android и нарушать чистую прибыль Google, это может привести к сбою.

Источник

Беседка №97. Открытый код спасёт Android

Илья Субботин

Мнение, диаметрально противоположное высказанному в прошлой Беседке. Так ли всё печально в ситуации с открытым кодом?

Адриан Кингсли-Хьюз в рамках своего материала на ресурсе ZDNet поделился интересными взглядами по поводу Android, назвав фрагментацию главной проблемой ОС. Однако, сам факт, является ли она на самом деле проблемой, зависит от того, кому адресован этот тезис. Среднестатистические пользователи не испытывают неудобств из-за фрагментации, т.к. Google решила проблему, разделив операционную систему и приложения / сервисы.

Пользователи даже устаревших версий Android могут спокойно получать обновления сервисов Google и приложений. На моём Nexus 7 2012 года и устройствах Samsung Galaxy установлены новейшие версии приложений и игр, включая Netflix, Plex, YouTube и HBO Now. Версия приложений на упомянутых устройствах совпадает с таковой на моих новинках — Pixel C и Nexus 6P. Подобная ситуация бросает тень на iOS, где новейшие версии приложений недоступны для сравнительно более старых смартфонов и планшетов, делая эти устройства менее безопасными и менее практичными.

Кингсли-Хьюз задаётся вопросом, что можно сделать для устранения проблемы, и выдвигает предположение о том, что возможным решением станет превращение Android в систему с закрытым исходным кодом. Я считаю такой подход неправильным, о причинах далее.

Открытый код — это модель разработки

Люди склонны неправильно интерпретировать понятие «открытый код». Оно обозначает модель разработки ПО, а не способ его развертывания на устройства и не бизнес-модель. Разработка Android и «выкатывание» обновлений на устройствах — совершенно разные вещи.

Открытый код обеспечивает нулевую фрагментацию

Chrome OS является операционной системой с открытым кодом, как и Android. Но с самого начала Google использовала другой механизм для «доставки» обновлений на устройства с Chrome OS. Был использован подход с промежуточным образом: на устройство устанавливались два образа операционной системы, один из которых обеспечивал работу систему, второй же просто находился «на фоне». При наличии обновления оно замещало неактивный и устаревший образ ОС. После перезагрузки устройство переключалось на новую версию. Таким образом, устройство всегда имело актуальную версию ПО без каких-либо усилий со стороны пользователя.

Ту же модель использует Core OS, дистрибутив на базе Linux для серверов. Браузер Chrome имеет в своей основе открытый код, который также обновляется. Подобным образом обновляются Mozilla Firefox и Thunderbird. Используя ПО с открытым кодом, вы можете осуществлять планомерное обновление устройств.

«Закрытое» ПО не поможет

Неоправданным и необоснованным выглядит и убеждение о магической способности ПО с закрытыми исходниками справляться с фрагментацией. Примером максимально проприетарного ПО является Windows, фрагментация в случае этой ОС носит ужасающий характер: Windows XP — 10%, Windows 7 — 49%, Windows 8 — 2.45%, Windows 8.1 — 8%, Windows 10 — 19%. Хуже всего то, что 95% процентов банкоматов по всему миру до сих пор работают на Windows XP, что говорит отнюдь не об их безопасности. Что касается фрагментации Internet Explorer, то и тут всё далеко не радужно, несмотря на проприетарный характер продукта. Даже Apple, имея полный контроль над аппаратным и программным обеспечением своих продуктов, испытывает трудности при обновлении iOS и macOS.

Читайте также:  Fragment manager android studio kotlin

Хаос в Linux.

В своём сравнении Android с Linux автор выдвинул следующее мнение:

..На примере Android можно на практике увидеть, в какой хаос превратилась бы Linux, если бы она пользовалась повсеместной популярностью у производителей аппаратного обеспечения. Кто-то где-то должен взять управление ситуацией на себя и поставить интересы платформы выше доли рынка и прибыли…

Автор удивится, но Linux на самом деле пользуется популярностью у OEM-производителей «железа». Linux имеет значительный вес во всём, кроме версий для ПК. Всё же, расстановка сил понемногу меняется, по мере того, как Chrome OS активно отъедает долю у Microsoft. Популярность Linux дошла до того, что Microsoft разработала операционную систему, основанную на Linux и предназначенную для работы с Azure. Не будем забывать, что доля компьютеров на базе Linux для Azure выросла с 25 до 33 процентов. Так что Linux успешно развивается даже на «территории» Microsoft. На базе Linux работает почти всё: суперкомпьютеры, роутеры, принтеры, Comcast X1, Tesla и т.д.

Несмотря на распространенность Linux в различных отраслях и всю противоречивость этого факта мнению Кингсли-Хьюза, Linux на самом деле не мешало бы привести в порядок. Благодаря открытой модели разработки, самые активные представители сообщества по разработке ядра Linux продолжают выпускать заплатки для уязвимостей ОС, выпуская обновление раз в два месяца. До сих пор можно найти системы на базе устаревших и неподдерживаемых версий Linux. В интервью с Грегом Кроа-Хартманом, ведущим разработчиком ядра Linux, им было высказано мнение о том, что компаниям необходимо создать механизм для поддержки обновления систем до актуальной версии. Он также высоко оценил способ обновления Chrome OS и Core OS.

Повторюсь, открытый код никак не связан с обновлениями ПО. Совершенно разные области.

Что является причиной фрагментации?

Корень проблемы — в желании OEM-производителей дифференцировать себя от конкурентов путём использования собственных тем оформления и ПО. Операторы связи используют множество предзустановленных программ как дополнительный источник дохода. Процесс обновления таких устройств тормозится: производителям и операторам необходимо протестировать свой «фуфлософт» на предмет его стабильной работы с новой версией Android. А раз обновлению до новой версии ОС не способствует финансовый стимул, то они его откладывают. Они зарабатывают на продажи устройств, а не на их обновлении. Был бы финансовый стимул — были бы и своевременные обновления. Так что если Google хочет покончить с проблемой фрагментации Android, то ему необходимо найти способ исключить этих игроков из процесса обновлений, что Google и собирается сделать.

Совсем не обязательно «закрывать» Android

Хоть в Google и решили проблему обновления приложений на устройствах с устаревшими версиями ПО в обход производителей и операторов, сейчас в компании работают над способом обновления Android, подобным таковому в Chrome OS. В рамках релиза новой версии Android Nougat обновление по мере доступности будет загружаться на устройство подобно образу в Chrome OS и после перезапуска системы уже будет работать без сучка и задоринки.

Вывод

В конечном итоге, открытый характер системы на самом деле лучше «приспособлен» для решения проблемы фрагментации, чем любое проприетарное ПО в мире. Перед тем, как размышлять о превращении Android в подобный софт, стоит взглянуть на ужас, творящийся с фрагментацией Windows и IE. Открытый код не убивает Android: ОС процветает и продолжает теснить iOS и Windows.

Вполне адекватный и обоснованный контраргумент. Как мы можем видеть, понемногу проблема с фрагментацией по версиям Android постепенно сглаживается, да и такого беспокойства, как раньше, проблема не вызывает. Новый механизм обновлений? Ну почему бы и нет, если он на самом деле избавит Android от фрагментации и устранит, то поклонники Android будут только за. Понравился пассаж про предустановленное ПО, у некоторых производителей ситуация с подобными приложениями переходит все рамки разумного, причем грешат этим вполне крупные игроки. Итак, два мнения об открытом коде: какое ближе вам? Считаете ли вы фрагментацию всё еще актуальной проблемой?

Источник

Оцените статью