Странный вопрос,
правда? Ядро лицензировано по GPLv2, пользовательское окружение – по ASLv2. И,
тем не менее, есть «недовольные», утверждающие, что Android свободен не
полностью.
Поводом для таких заявлений стал конфликт
между Google и Стивом Кондиком [Steve Kondik], автором CyanogenMOD (www.cyanogenmod.com) – одной из «свободных»
прошивок на базе Android. Стив включил в свою разработку двоичные
компоненты Google (клиенты онлайн-сервисов, по нашим сведениям – взятые из
прошивки HTC и модифицированные), нарушив тем самым условия их распространения.
Естественно, сообщество отреагировало очень бурно, и у независимого
разработчика сразу нашлось множество защитников. Мало кто из них захотел учесть
тонкую разницу между открытой платформой Android от Open Handset
Alliance и проприетарными прошивками, создаваемыми производителями устройств на
ее основе. А ведь спорные компоненты не являются частью проекта Android!
Это проприетарное ПО Google, и его распространение регулируется другими
лицензиями, на что, собственно, представители корпорации и указали Стиву в
письме. На мой взгляд, Google всего лишь защищает собственные авторские права:
требование прекратить нелегальное (т. е. не соответствующее лицензии)
распространение абсолютно законно, и весь конфликт не стоит выеденного яйца.
Однако он поднимает интересный вопрос – насколько практическое применение
Android зависит от проприетарных компонентов, и нужны ли их свободные аналоги?
Однозначный ответ здесь дать нельзя. С одной стороны,
переписывание Google-клиентов выглядит довольно бессмысленным – производителям
телефонов проще заключить договор с Google и поставлять оригиналы. Рядовые
пользователи в массе своей также не задумываются, насколько свободны все
компоненты ОС, установленной на купленном ими устройстве. С другой стороны,
полным-полно энтузиастов свободного ПО, которым такие разработки пригодятся.
Собственно, им и карты в руки – те, кому нужны свободные замены программам
Google, могут разработать их сами. Для этого и был создан Open Android
Alliance. Кстати, заявления его организаторов, опубликованные на сайте code.google.com/p/open-android-alliance, вполне
разумны: они не против Google и закрытых приложений, они за Android.
Цели у них благие – заменить все закрытые компоненты кодом, доступным по GPLv3.
Конечно, пока сложно предсказать, успешен ли будет проект, но производителям
устройств он не интересен – это очевидно. И я боюсь, что без их поддержки вновь
созданный альянс повторит судьбу разработчиков OpenMoko – проект вроде бы и
жив, но кроме горстки энтузиастов, никому особо не нужен. Так уж повелось: если
вы хотите создать успешную разработку – она, как минимум, должна быть
актуальной для большого числа людей. По-моему, это справедливо.
Возвращаясь
к истории конфликта – автор CyanogenMOD смог найти
компромиссное решение проблемы, о чем и сообщил в своем блоге. Следующие версии
его прошивки будут поставляться без проприетарных компонентов Google, но
пользователь сможет «гуглифицировать» свой телефон самостоятельно. Позиция
корпорации по данному вопросу пока неизвестна, а у меня возникла целая серия
вопросов. Использование закрытого ПО плохо стыкуется с идеологией, и что это за
«свободная» прошивка, которую нужно «гуглифицировать»? Какой в ней смысл? Если
пользователю принципиально важно использование свободных продуктов – пусть не
устанавливает на свой телефон закрытые программы Google. А если не важно – то
проще оставить «фирменную» прошивку. В общем, позиция ребят из Open Android
Alliance мне кажется более правильной. Другое дело, смогут ли они добиться
успеха; но это покажет время.
Мы сознательно
не коснулись вопросов, связанных с RIL (Radio Interface Layer). Там тоже есть
масса «проприетарных» нюансов, но иначе и быть не может – ведь он в конечном
итоге завязан на ПО производителя устройства и прошивки линейного процессора, и
здесь едва ли можно говорить о свободных аналогах. А «на сладкое» – еще один,
последний вопрос: о каких свободных прошивках может идти речь, если необходимое
для работы в телефонных сетях ПО полностью свободным быть не может? Если только
о прошивках для нетбуков и MID... Хочу также напомнить, что наличие
проприетарных компонентов в целевых системах не делает несвободной саму
платформу Android – это все же разные вещи.
