Насколько свободна платформа Android?
Ричард Столлман опубликовал свои размышления, касающиеся открытости кода мобильной платформы Android.
🕛 21.09.2011, 14:43
Код ОС Android, создаваемый компанией Google для смартфонов, часто называют свободным или открытым, но так ли это при пристальном рассмотрении с позиции Фонда свободного ПО? По мнению Столлмана, важно в первую очередь не то, "открыт" ли сам код Android, а насколько он предоставляет свободу пользователям.Android - операционная система, предназначенная в первую очередь для мобильных телефонов, и состоящая из Linux (ядра), некоторых библиотек, платформы Java и приложений. Не считая ядра Linux, программное обеспечение Android версий 1 и 2 было в основном разработано компанией Google и выпущено под лицензией Apache 2.0. Но тем не менее, этого открытого кода недостаточно для полноценной работы Android, некоторые приложения, идущие в её составе, не являются свободными.
Единственной составляющей ОС Android, что объединяет её с GNU/Linux, это ядро, сам Linux. Те, кто думает, что слово "Linux" относится ко всей комбинации GNU/Linux, запутывают сами себя и делают парадоксальные выводы о том, что "Android содержит Linux, но это не Linux". Если избежать этого недопонимания, то смысл становится понятным: Android содержит Linux (он остаётся отдельной программой в её составе, под лицензией GPLv2.), но не GNU, и таким образом, Android и GNU/Linux не имеют почти ничего общего.
Лицензия Apache на весь остальной код Android не требует доступности исходного кода. Google объявила о том, что исходный код Android 3.0 (не связанный с ядром Linux), не будет опубликован, код Android 3.1 также удерживается, из чего можно сделать вывод что Android 3, не считая ядра в его составе, не является свободным ПО.
Недоступность исходного кода этих двух версий зарождает подозрения в том, что Google попробует сделать Android проприетарным навсегда, что публикация некоторых версий Android как открытого ПО была временной уловкой чтобы получить помощь сообщества в улучшении проприетарного программного продукта. Но будем надеяться, что это не так.
В любом случае, большая часть кода некоторых версий Android была открыта, но означает ли это что в этих версиях уважается свобода пользователя? Нет, по нескольким причинам. Во-первых, в этих версиях содержатся несвободные приложения Google для работы с такими сервисами, как YouTube и Google Maps. Они не являются официально составной частью Android, но это не улучшает сам продукт. Также есть несвободные библиотеки, и являются ли они составной частью Android, это тоже спорный вопрос. Важно тут то, что для реализации различной функциональности они нужны. Даже исполняемые файлы, официально являющиеся частью Android, могут не соответствовать опубликованному исходному коду, поскольку производители могли его изменить, а код для своих релизов они чаще всего не публикуют.
Условия лицензии GPL обязывают публиковать только код для поставляемых в составе Android версий ядра Linux. Нестрогая же лицензия Apache, под которой выпущен остальной код, не требует публично предъявлять код действительно используемой версии. Некоторые модели устройств разработаны так, чтобы препятствовать установке и изменению ПО, и в этой ситуации исполняемые файлы несвободны даже если они получены из доступных исходных кодов. Также важные файлы прошивок или драйверов, которые, как правило, проприетарные. Они занимаются взаимодействием с GSM-модулем, Bluetooth, GPS, 3D-графикой, камерой и звуковой подсистемой.
На большинстве устройств с установленной ОС Android эти файлы имеют настолько большие возможности, что телефон легко можно превратить в прослушивающее устройство, а у некоторых моделей возможно осуществлять удалённое управление и запуск процессов на самом телефоне. Смысл же свободного ПО в том, что сам последователь контролирует все вычисления. На самом деле нет никаких препятствий к тому, чтобы создать Android-устройство с такими характеристиками, чтобы только свободная ОС выбирала, предоставлять ли коммуникации или нет, но мы не знаем про такие устройства.
В целом Android - это большой шаг навстречу тому, чтобы создать морально приемлемое, подконтрольное только пользователю мобильное устройство со свободным ПО, но для достижения этой цели ещё нужно пройти долгий путь. Программисты работают над созданием Replicant - полностью свободной и открытой версии Android. Но поддержка новой модели мобильного устройства - огромная задача, и кроме того, остаётся проблема прошивки и промежуточного ПО. И хотя на сегодняшний день, смартфоны с Android намного лучше смартфонов, производимых компаниями Apple или работающих под управлением Windows Phone, ещё нельзя сказать, что они уважают свободу пользователей.
Тем временем, разработчики из компании Google официально приподняли завесу над готовящимся новым выпуском платформы Android, который объединит в себе две ветки - Android 2.x для смартфонов и Android 3.x для планшетов. Новый релиз будет поддерживать одновременно элементы для экранов как большого, так и маленького разрешения, предоставляя для них различные формы организации рабочего пространства. В отличие от выпуска Android 3, код которого не был открыт для того чтобы избежать неконтролируемой фрагментации и переноса для смартфонов технологий, не адаптированных для низких экранных разрешений, следующая ветка Android, развиваемая под кодовым именем Ice Cream Sandwich (ICS), как и Android 2.x будет опубликована после выхода релиза в исходных текстах.