Лицензии открытого по на андроид что это

Обновлено: 18.05.2024

Google известен в программистских кругах как компания, которая переопределяет
слова так, что бы они удовлетворяли ее идеям.

Возьмите слово "бета", например. Большинство из нас понимают под этим бажную,
пре-релизную версию программы, которая "по большей части работает, но все еще
требует тестирования". Но Google под этим понимает продукт, который готов к
использованию, но требует "регулярных обновлений и постоянной доводки
возможностей".

Сейчас такое переопределение случилось снова со словом "открытый".

Энди Рубин, Генеральный директора Мобильных платформ Google, курирующий
Android, дал новое понимание слову "открытый" в ответ
на критику Стива Джобса. Глава Apple разворошил осиное
гнездо разработчиков Android на прошлой неделе, когда упомянул, во время
длинной обличительной речи на мероприятии для прессы, что мобильная операционная
система Google на самом деле не такая уж и "открытая".

Рубин ответил своим самым первым твиттом, в котором опубликовал информацию,
необходимую для закачки исходников Android и их
компиляции и назвал это "определением открытости".

Но на самом деле вопрос квалификации Android-а как "открытой" операционной
системы так и остается не решенным, так как загрузка и компиляция кода сами по себе
не делают некий софт открытым. Брюс Перенс, придумавший термин "open source" и
работающий над его продвижением в течении долгих лет, с подозрением относится к определению
Рубина.

"Тот факт, что вы можете проверить какие-то коды и скомпилировать их не
означает, что у вас есть права на их использование", - говорит Перенс.

В мире программ, "свободу можно определить тремя основными чертами":
лицензией, которая позволяет модифицировать, использовать и распространять код;
контролем комюнити над разработкой; и, что самое главное, полной свободой
пользователя над устройством и софтом.

Android OS, в легальных определениях, open source
проект. Android выходит под лицензией
Apache 2.0, которая позволяет любому использовать, модифицировать и
распространять код. Но хотя он и укладывается в букву закона, Android
проваливается по двум другим пунктам.

Это отсутствие общества, комюнити которое разрабатывает операционную систему
и критики, глядя на это, вполне могут говорить, что Android не более открыт, чем
закрытая Apple iOS. Перенс комментирует: "большинство
open source проектов дают мгновенный доступ к
изменениям, которые в них вносятся. и открыты для всех, кто хочет
присоединиться".

В отличии от крупных open source проектов типа
Firefox или ядра Linux, вы
как не можете видеть, что происходит с Android за сценой, так и не можете внести
сколько-нибудь значительный вклад в проект. Google
обычно объявляет о важных обновлениях Android на пресс-конференциях, совсем так,
как Apple презентует новые возможности
iPhone.

После выпуска кода интересующиеся Android-ом разработчики могу загрузить его и делать с ним что
пожелают, но они не могут видеть, что происходит с ним каждый день в недрах
компании. Если вы хотите знать как Firefox изменился за
прошлую ночь - какими бы непонятными или мизерными эти изменения не были - вы можете изучить
изменения на сайте Mozilla. То же самое справедливо
и в
отношении ядра Linux, OpenOffice
и практически каждого open source проекта с
сайтом.

Но эта правда не принадлежит Android. В то время как
Android может и имеет законное право именоваться
open source проектом, он абсолютно не такой в плане
прозрачности и комюнити.

Android просто дает вам две возможности: "Принять"
что дает Google, или полностью отказаться от
кода. Кроме возможности выпустить свою собственную версию
Android, эта ситуация на самом деле не отличается от модели
iOS, которая работает с подобной же моделью - "берите,
что Apple дает".

Джо Хьюитт из Facebook, один из создателей
Firefox, который по слухам сейчас работает над
Facebook-версией Android,
прокомментировал ситуацию в Twitter. Хьюитт сказал,
что недостаток прозрачности в разработке Android
делает эту ОС "ничем не отличающейся от iOS для меня",
добавив, что "открытый исходный код означает, что он должен контролироваться
сообществом, а не просто показываться и обсуждаться".

На следующий день Хьюитт расширил свое мнение в блоге.

"Меня убивает, что термин "открытый" так размывается. Меня беспокоит, что так
много людей первое знакомство с идеей открытого исходного кода начинают со
случайных обмолвок и кусков кода, а не с динамичного сообщества участников,
подобного тому, что я обнаружил десять лет назад в Mozilla."

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

К сожалению, даже если Google и захотела бы сделать
Android открытым, как Mozilla
сделала с Firefox, это скорее всего не поможет
Android быть более открытым.

В то время как подход Google и может быть
неискренним вариантом слова "открытый" - как говорит Хьюитт,
Google делает "лишь минимум для определения открытости" - есть и другая
проблема: сотовые операторы.

"Проблема во-первых в сотовых операторах и во-вторых в
Google", - говорит Перенс, "так как компания позволяет операторам
закрывать саму платформу Android от пользователей".
Другими словами, в то время как вы можете скопировать код из твиттера Рубина и
посмотреть на Android, то, что прибывает к вам вместе
с сотовым телефоном, ничуть не мене жестко контролируется, чем
iOS.

Так же как существую джейлбрейки для iPhone, так же
есть и эксплоиты для Android, дающие
root доступ и позволяющие конечным пользователям
получить хоть немного контроля над своей покупкой. То, что
Android меньше контролируется своим родителем - Android Market, например,
гораздо меньше цензурирован по сравнению с App Store -
это вторичное преимущество. Устройство не делает открытым тот факт, что
пользователь может настраивать его под свои нужды - добавление новых тем и обоев
не цель отрытого ПО.

Настоящая цель открытого кода, как определяет это Перенс и многие его коллеги
в течении лет, убедиться в том, что вы можете делать то, что хотите с ним.
Любой человек с iPhone или
Android может сказать вам, что сейчас это не так. Практически каждый
смартфон на рынке жестко закрыт его оператором. И существует всего несколько
исключений, типа Nokia N900, работающем
на Maemo Linux.

Операторы объясняют, что открытые телефоны будут угрозой сети. Стив Джобс
объясняет, что открытые телефоны будут угрозой для пользователей.

И даже если бы и существовала по настоящему открытая операционная система для
вашего телефона, в текущей ситуации она скорее всего перестала бы быть открытой
к моменту попадания в ваши руки.


Все лицензии на программное обеспечение делятся на две больших группы: несвободные (проприетарные) и свободные. У этих категорий есть существенные различия, которые определяют права использования. Открытый исходный код распространяется на основе открытой лицензии. В этой статье мы разберем, какие существуют виды открытых лицензий и что они означают.

Открытая лицензия позволяет свободно и совместно использовать, модифицировать программное обеспечение.

То есть исходный код таких программ полностью доступен. Именно лицензии описывают, что можно делать с этим кодом, а что нет.

В некоторых случаях есть небольшие ограничения, например, разработчики должны сослаться на предыдущих создателей или сохранить принцип открытости при последующем распространении программы.

Список одобренных лицензий для открытого ПО

Такой список составила организация по продвижению открытого ПО Open Source Initiative. В него вошли несколько популярных подтвержденных лицензий.

1. GNU, General Public License (GPL). В сообществе программистов это одна из ключевых лицензий, которая используется при написании открытого ПО. Ее создал программист, основатель движения открытого ПО и проекта по разработке свободного ПО GNU ( The GNU Project ) Ричард Столлман.

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

Например, под этой лицензией распространяется ядро Linux, MySQL, Asterisk и многие CMS-системы (системы управления содержимым): MovableType, MODx, WordPress, Joomla, Drupal, osCommerce.

2. Apache License 2.0. Гибкая лицензия, которая имеет четкие права. Плюс в том, что они могут применяться к копирайтам и патентам. Некоторые из доступных прав: права безвозмездны, вечны, не эксклюзивны и глобальны. Если вы распространяете код, вы должны указать имя разработчика.

3. BSD (Berkeley Software Distribution). В этой лицензии не такие строгие правила, как в GPL. Разработчики должны выполнить несложные условия: указывать в документации, что в продукте используются разработки создателей оригинального программного обеспечения и не использовать имена (или названия) создателей этого ПО в рекламных целях без письменного согласия.

BSD-лицензий существует несколько видов. Наиболее используемые New BSD/Modified BSD и Simplified BSD/FreeBSD. Лицензия New BSD разрешает распространять ПО с любой целью, не дает гарантий и не несет ответственности за последствия использования. Есть пункт в виде специального разрешения: нельзя использовать имена участников вашего проекта. Между этими лицензиями единственное отличие: в Simplified BSD не ограничено использование имен.

Например, компания Apple использует преимущественно лицензии BSD.

4. GNU Lesser General Public License (LGPL). Появилась в рамках проекта GNU. Дает больше прав, чем GPL. Главное отличие в том, что она позволяет использовать продукты LGPL в проектах, которые распространяются под другими лицензиями.

5. MIT license (Massachusetts Institute of Technology). Очень короткая и достаточно свободная лицензия. Она разрешает использовать, копировать и модифицировать программное обеспечение на ваше усмотрение. ПО можно предоставлять бесплатно или даже продавать. Ограничений нет. Но есть ограничение в том, что ваше ПО должно сопровождаться лицензионным соглашением.

Программное обеспечение, которое лицензировано MIT, можно использовать в закрытых продуктах. Лицензия схожа с BSD. Но в MIT можно использовать название продукта и имена создателей в рекламных целях. Под MIT распространяются X Window System (X11) и Ruby on Rails.

6. Mozilla Public License 2.0. Содержит в себе черты BSD и GPL. Исходный код, скопированный или измененный под лицензией MPL, должен быть лицензирован по правилам MPL. Лицензия позволяет объединить его в одной программе с проприетарными (несвободными) файлами.

7. Common Development and Distribution License. Эта лицензия позволяет совмещать открытый и закрытый код, защищенный авторскими правами. Файлы можно совмещать с файлами, которые находятся под другими открытыми или проприетарными (несвободными) лицензиями.

8. Eclipse Public License. Лицензия наиболее подходит для бизнес-ориентированного свободного ПО и базируется на лицензии CPL. У нее более гибкие правила отказа на авторские права.

По мнению разработчика свободного программного обеспечения Сергея Матвеева стоит использовать лицензии семейства GNU GPL. «Мне важно, чтобы мой труд был свободным ПО, чтобы он принес пользу обществу, чтобы никто не смог сделать мое ПО не свободным или использовать его в помощь несвободному, так как это обесценило мой вклад, – объясняет эксперт. – Многие говорят, что не хотят использовать GPL, потому-что хотят свободны, абсолютного отсутствия ограничений. В таком случае подходит только public domain: общественное достояние, где ПО действительно перестает что-то требовать или ограничивать».

С полным списком одобренных лицензий можно ознакомиться на сайте Open Source Initiative.

Одна из самых сильных и одновременно слабых сторон Android — это широкий выбор вариантов программного обеспечения. Samsung, Huawei, Sony и даже Google предлагают свой собственный взгляд на возможности Android, представляя свои собственные уникальные функции и идеи по улучшению базового программного обеспечения. Все это стало возможным благодаря общей базовой операционной системе, обеспечивающей основные функции. Все известные и любимые вами варианты ОС Android основаны на AOSP — Android Open Source Project.

AOSP — это проект операционной системы с открытым исходным кодом, поддерживаемый Google. Поскольку исходный код открыт, любой желающий может свободно просматривать и вносить код и исправления в репозиторий проекта, хотя Google курирует его общее направление и основную часть разработки. AOSP регулярно обновляется и включает в себя последние исправления ошибок и патчи безопасности для Android. Google также ежегодно представляет основные новые функции ОС на конференции I/O. Android 11 является последней версией, а Android 12 выйдет позже в 2021 году.

Проект с открытым исходным кодом Android не только позволяет сторонним разработчикам вносить изменения, но и может быть использован бесплатно по специальной лицензии. Такие производители, как Amazon и Samsung, могут свободно редактировать проект для своих собственных целей и разработывать свои собственные продукты, такие как Fire OS и Tizen. Это оказалось важным фактором в продолжении разработки Huawei EMUI и Harmony OS после торговых санкций США и потери доступа к приложениям Google.

Также важно отметить, что большинство производителей смартфонов получают версии AOSP от поставщиков SoC (систем на кристалле), например Qualcomm. Это связано с тем, что Android должен быть адаптирован к низкоуровневому оборудованию с помощью драйверов, о которых мы поговорим позже. Исторически это было причиной задержки обновлений Android. В конечном итоге Google доволен таким положением, поскольку оно побуждает разработчиков использовать Android для широкого спектра гаджетов, подключенных к Интернету. В свою очередь, множество компаний вносят исправления и улучшения в ОС. Это беспроигрышный вариант.

AOSP — сложная многоуровневая структура

Я уверен, что в представлении многих операционные системы — будто сложные живые организмы. AOSP представляет из себя многоуровневую систему и предоставляет множество инструментов как для разработчиков оборудования, так и для разработчиков программного обеспечения.

На «нижних» уровнях производители устройств модифицируют ОС для работы со своим оборудованием. Ядро Linux, например, является основой, которая управляет ресурсами процессора, системной памяти, сети и так далее, чтобы всё работало правильно.

Слои более «высокого» уровня используются разработчиками приложений. Native Libraries (встроенные библиотеки) позволяют разработчикам создавать контент с помощью широко поддерживаемых низкоуровневых библиотек, таких как OpenGL ES, Webkit и других. Кроме того, Android Frameworks предоставляет разработчикам приложений подключаемые модули для общих функций ОС, которые мы все используем каждый день. Они варьируются от данных о местоположении и push-уведомлений до телефонных звонков. Также есть Android Runtime — это посредник, преобразующий код приложения в такой код, который поймёт процессор и прочее оборудование.

Что такое AOSP и почему его часто путают с Android? Разбираемся

В совокупности проект Android Open Source Project представляет собой законченное решение для разработчиков оборудования и программного обеспечения Android.

Однако AOSP — это не просто постоянно растущая кодовая база. Google также предоставляет инструменты для проектирования и разработки в рамках проектов, начиная от документации по совместимости и заканчивая передовыми методами обеспечения безопасности и принципами разработки приложений. Google также предлагает наборы тестов, чтобы помочь разработчикам убедиться, что их устройства правильно реализуют API и функции.

AOSP против Android: это не одно и то же

Что такое AOSP и почему его часто путают с Android? Разбираемся

Android Open Source Project часто путают со стандартным Android, хотя на самом деле AOSP является лишь его основой.

AOSP содержит все, что нужно разработчикам для создания Android, но не включает все необходимое для готового смартфона. Во-первых, Google и AOSP не могут предоставить драйверы ядра для каждой конфигурации оборудования. Под драйвером устройства мы подразумеваем прошивку, необходимую для аппаратного обеспечения телефона, такого как процессор или камеры. Производители смартфонов и систем на кристалле, такие как Qualcomm и Samsung, должны включать эти драйверы в свою сборку Android. Отчасти поэтому обновлениям требуется время.

AOSP также не поставляется с набором приложений Google, таких как браузер Chrome, YouTube и даже Google Play Store. Он также не включает ряд скрытых технологий и API-интерфейсов Google, которые обеспечивают такие функции, как мобильные платежи, голосовые команды и облачное хранилище. Они лицензируются отдельно как Google Mobile Services.

Когда Huawei потеряла доступ к американским технологиям, она больше не могла лицензировать GMS, но могла продолжать использовать AOSP. Таким образом, Huawei начала заменять функции GMS своей собственной Huawei Mobile Services. Однако это означает, что приложения, которые полагаются на GMS, должны быть перестроены с использованием HMS для правильной работы.

Любой производитель, желающий установить GMS поверх Android, должен получить лицензию GMS и Соглашение о распространении мобильных приложений (MADA) для своего устройства, а затем пройти несколько тестов: на совместимость с Android (CTS) для проверки программных и аппаратных компонентов и API, затем наборы тестов Google Mobile Services (GTS) и Vendor (VTS) для тестирования мультимедийных возможностей, ядра ОС и возможностей HAL. Еще одним условием получения лицензии GMS является предварительная загрузка ряда приложений Google на новое устройство.

Различие между AOSP и GMS стало играть большую роль после торгового спора между США и Китаем.

Будущее AOSP: грядёт новая операционная система

Android Open Source Project продолжает оставаться основой успеха Android благодаря бесчисленным часам участия разработчиков со всего мира. Хотя устройства на Android в ближайшее время никуда не денутся, Google уже ищет операционную систему будущего.

Google Fuchsia впервые появилась на GitHub в августе 2016 года, но с тех пор мы мало о ней слышали. Мы все еще мало знаем о Fuchsia и о том, появится ли она для потребителей и когда это произойдет. Похоже, Fuchsia разработана для еще более широкого круга устройств, чем Android. Она также имеет собственное ядро ​​Google, отличное от Linux, под названием Zircon, и поддерживает язык сценариев Google Dart. На данный момент Fuchsia — это бесплатное программное обеспечение с открытым исходным кодом, как и Android. Будем надеяться, что планы Google на будущее останутся неизменными.

Что такое AOSP? Все, что вам нужно знать

Одна из самых сильных сторон Android и источник периодических разочарований – это большое разнообразие вариантов программного обеспечения. Samsung, Huawei, Sony и даже Google предлагают свой собственный взгляд на основные возможности Android, представляя свои собственные уникальные функции и идеи. Все это стало возможным благодаря общей базовой операционной системе (ОС), обеспечивающей основные функции. Все известные и любимые вами варианты ОС Android основаны на AOSP – Android Open Source Project.

AOSP – это проект разработки операционной системы с открытым исходным кодом, поддерживаемый Google. Любой желающий может свободно вносить код и исправления в репозиторий проекта, но Google контролирует его общее направление и основную часть разработки. AOSP регулярно включает в себя последние исправления ошибок и исправления безопасности для Android. Google также ежегодно представляет основные новые функции ОС на конференции разработчиков ввода-вывода. Android 10 является последней версией.

Проект с открытым исходным кодом Android не только открыт для внесения взносов, но и может быть использован и изменен по лицензии с открытым исходным кодом. Производители смартфонов, такие как Samsung и другие, могут по своему усмотрению изменять проект в своих целях. Однако большинство производителей телефонов получают версии AOSP от поставщиков наборов микросхем, например Qualcomm. Это связано с тем, что Android должен быть адаптирован к низкоуровневому оборудованию с помощью драйверов, о которых мы поговорим позже. В любом случае Google доволен такой договоренностью, поскольку она поощряет разработчиков использовать Android для широкого спектра гаджетов, подключенных к Интернету. В свою очередь, множество компаний вносят исправления и улучшения в ОС. Это беспроигрышный вариант.

Внутри проекта с открытым исходным кодом Android

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

Уровни «нижнего уровня» – это места, где производители устройств кодируют ОС для работы со своим конкретным оборудованием. Ядро Linux, например, является основной программой, которая управляет ресурсами процессора, системной памятью и сетей, так что приложения и службы могут работать. Уровень аппаратной абстракции (HAL) связывает общие API-интерфейсы приложений для Bluetooth, звука и т.д. С микрофоном, динамиками и т.д. Устройства.

Слои «более высокого уровня» используются разработчиками приложений. Собственные библиотеки позволяют разработчикам создавать контент с помощью распространенных поддерживаемых низкоуровневых библиотек, таких как OpenGL ES, Webkit и других. Кроме того, Android Frameworks предоставляет разработчикам приложений подключаемые модули для общих функций ОС, начиная от данных о местоположении, push-уведомлений и телефонных звонков. Среда выполнения Android – это посредник, преобразующий код приложения в собственные инструкции для базового оборудования.

Что такое AOSP? Все, что вам нужно знать

В совокупности стек Android Open Source Project (на фото выше) представляет собой законченное решение для разработчиков оборудования и программного обеспечения Android.

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

AOSP против Android

Что такое AOSP? Все, что вам нужно знать

Android Open Source Project часто путают с «стандартным Android », но это упрощение.

AOSP содержит все, что нужно разработчикам для создания Android, но не включает все необходимое для готового смартфона. Во-первых, Google и AOSP не могут предоставить драйверы устройств ядра для каждой конфигурации оборудования. Под драйвером устройства мы подразумеваем прошивку, необходимую для оборудования, от функций процессора телефона до камеры. Производители телефонов и SoC, такие как Qualcomm и Samsung, должны включать эти драйверы в свою сборку Android. Отчасти поэтому обновлениям требуется время, чтобы перейти от AOSP к реальным устройствам.

AOSP также не поставляется с набором программных приложений Google, таких как браузер Chrome, YouTube и даже Google Play Store. Они лицензируются отдельно как Google Mobile Services (GMS).

Любой производитель, желающий установить GMS поверх Android, должен получить лицензию GMS и Соглашение о распространении мобильных приложений (MADA) для своего устройства, а затем пройти несколько тестов на совместимость. Существует набор тестов на совместимость с Android (CTS) для проверки программных и аппаратных компонентов и API. Затем Google Mobile Services Test Suite (GTS) и Vendor Test Suite (VTS) для тестирования мультимедийных возможностей, ядра ОС и возможностей HAL. Еще одним условием получения лицензии GMS является предварительная загрузка ряда приложений Google на новое устройство.

Разница между AOSP и GMS стала важным различием после торгового спора между США и Китаем. Ситуация не позволяет Google лицензировать GMS китайским производителям, таким как Huawei. Huawei создает собственный эквивалент мобильных сервисов Huawei (HMS), пытаясь обойти эту проблему.

Будущее AOSP

Android Open Source Project продолжает оставаться основой успеха Android благодаря бесчисленным часам участия разработчиков со всего мира. Хотя устройства Android никуда не денутся, Google уже ищет операционную систему будущего.

Google Fuchsia впервые появилась на GitHub в августе 2016 года. Мы до сих пор не слишком много знаем о Fuchsia и о том, появится ли она для потребителей и когда это произойдет. Похоже, что он разработан для еще более широкого круга устройств, чем Android. Fuchsia также имеет собственное ядро ​​Google, отличное от Linux, и поддерживает язык сценариев Google Dart. На данный момент Fuchsia – это бесплатное программное обеспечение с открытым исходным кодом, как и Android. Будем надеяться, что любые планы на будущее останутся такими же.

Читайте также: