Среди юристов ведутся дискуссии о возможном нарушении условий лицензирования открытого исходного кода GPLv2 при использовании Linux в Android. Начало им положила сделанная 22 февраля в блоге IPinfoblog.com запись профессора права Раймонда Ниммера. Ниммер поставил вопрос, не нарушила ли Google условия (copyleft) GPLv2, использовав в Android некоторые заголовочные файлы Linux.

Согласно Ниммеру, проект Google Android использует скрипт для “очистки” основных заголовочных файлов Linux, удаляя комментарии и фрагменты кода. Затем Google добавляет к ним комментарии с заверениями, что полученные файлы не содержат защищенного авторским правом материала, заимствованного из Linux.

Google распространяет Android на основе лицензии Apache, “которая не столь требовательна к Google и реселлерам в вопросах copyleft, как GPLv2”, — писал Ниммер. Будучи лицензией типа copyleft, GPLv2 позволяет разработчикам свободно копировать и модифицировать код Linux, но содержит условие, что любой модифицированный код и “основанный на нем” результат труда должен бесплатно предоставляться всем желающим. Это положение призвано помешать компаниям использовать лицензированный на условиях GPLv2 код при создании программ только для своих нужд и патентованного ПО.

“Хотя следов этого не сохранилось, можно предположить, что удален был не только воспринимаемый человеком текст, но и фрагменты структуры заголовочных файлов, — продолжает Ниммер. — Это трудно осуществить, поскольку цель заключалась в том, чтобы хотя бы отчасти позаимствовать у Linux ее эффективность”.

Ниммер не уверен, действительно ли Google нарушила условия copyleft GPLv2, но считает, что для юридического вуза это хороший пример трудностей с определением случаев, когда одно ПО “основано” на другом.

Нотон: юридическая трудность для разработчиков приложений под Android

16 марта Эдвард Дж. Нотон, партнер компании Brown Rudnick, пошел еще дальше. Он написал в газете Huffington Post, что способ использования заголовочных файлов Linux корпорацией Google “создает юридическую трудность для производителей устройств под управлением Android”, а также для “многих разработчиков, пишущих код и приложения для этих устройств”.

Чтобы предоставить разработчикам возможность использовать код Android в коммерческих и патентованных приложениях и одновременно защитить его от конкурентов, Google решила лицензировать Android на условиях Apache Software License, поясняет Нотон. Однако в тех случаях, когда в основе лицензируемого на условиях Apache кода лежит лицензируемый в соответствии с GPLv2 код Linux, может возникать конфликт.

В центре возможного конфликта, продолжает Нотон, находится библиотека Bionic — библиотека языка C, используемая разработчиками приложений для Android, которым нужен доступ к основным функциям ядра Linux.

“Google, в сущности, скопировала сотни файлов с кодом Linux, которые никогда не предназначались для использования разработчиками приложений “как есть””, — пишет Нотон. В дальнейшем Google “очистила” эти файлы, используя “нестандартный и сомнительный технический процесс, а затем объявила, что данный код больше не подпадает под действие лицензии GPLv2”, — продолжает он.

Намерение Google заключалось в том, чтобы предоставить разработчикам возможность использовать библиотеку Bionic, не подпадая под действие ограничений copyleft. Однако Нотон утверждает, что у него имеются “серьезные сомнения”, будто такой подход приемлем с точки зрения авторского права США. С точки зрения Нотона, он представляет для Google “весьма рискованное предприятие”, способное разрушить сообщество разработчиков, сложившееся вокруг Android.

Если кто-то подаст в суд, и Google будет признана виновной, окажется, что многие разработчики приложений для Android и производители устройств нарушили авторское право США, утверждает Нотон. С другой стороны, если будет доказана правота Google, это продемонстрирует, что “Google нашла способ разлучить Linux с сообществом разработчиков ПО с открытым исходным кодом и приватизировать ее, — заключает Нотон. — Возможно, сообщество считает, что может положиться на Google, и та не использует свои возможности во зло. Но может ли оно рассчитывать, что и другие будут столь же благородны?”.

Мюллер: это посерьезнее, чем претензии Oracle?

17 марта к обсуждению вопроса присоединился юридический эксперт по ПО с открытым исходным кодом и инициатор кампании за отказ от патентования ПО (NoSoftwarePatents) Флориан Мюллер. Он откликнулся на заметки Ниммера и Нотона утверждением, что проблема может оказаться более серьезной, чем предполагалось ранее. Скопировав “2,5 Мб кода из более чем 700 заголовочных файлов ядра Linux с помощью собственной программы, удаляющей комментарии к исходному коду и некоторые другие элементы”, и утверждая, что эта информация не подпадает под действие авторского права, Google серьезно нарушила содержащиеся в GPLv2 ограничения copyleft, считает Мюллер.

Если будет доказана неправота Google, “многие популярные компоненты с закрытым кодом, разработанные другими компаниями, такие как игра Angry Birds и Adobe Flash Player, следовало бы опубликовать на условиях GPL, — пишет Мюллер. — Полностью соответствующая GPL Android совершенно противоречила бы стратегии Google в отношении этой операционной системы. В этом случае любой мог бы бесплатно использовать, модифицировать и распространять соответствующее ПО”.

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

Для предотвращения подобного потенциального “коллапса экосистемы Android” стоило бы заменить библиотеку Bionic такой, которая соответствует условиям GPL. Фактически выбор сводится к библиотеке Glibc (GNU C library), которая обычно используется в открытых проектах, таких как MeeGo и WebOS. Однако переход потребовал бы от Google и других разработчиков переписать и заново собрать тысячи компонентов Android, что вызвало бы новые проблемы совместимости с прежними версиями Android, поясняет Мюллер.

Мюллер предлагает более детализированные юридические доводы, свидетельствующие о нарушении Google условий GPLv2, и считает, что единственной реалистичной альтернативой для корпорации является переход на Glibc. По его мнению, судебный процесс по данному вопросу мог бы состояться очень скоро.

Дюжина судебных процессов и подсчеты

Все эти события разыгрались на фоне “более чем дюжины судебных процессов по поводу Android”, включая иск Oracle против Google в связи с использованием в Android виртуальной машины Dalvik, созданной с помощью Java, пишет Мюллер. В январе Мюллер предположил в блоге FOSS Patents, что Android действительно может нарушать патенты Oracle.

Недавно Google и сообщество Android столкнулись и с другими обвинениями по поводу нарушения условий GPL. Компания OpenLogic объявила результаты оценки 635 приложений для Android, iPhone и iPad с точки зрения соблюдения лицензий. Она обнаружила, что из 66 приложений с открытым исходным кодом, лицензируемых на условиях GPL/LPGL или Apache, 71% не соответствуют требованиям лицензий. Apple iOS получила более высокую оценку за их соблюдение — 32% по сравнению с 29% для приложений под Android, говорится в исследовании.

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

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

Примерно такое же недовольство выражалось десять лет назад, когда IBM инвестировала в Linux 1 млрд. долл. Однако IBM оказалась довольно законопослушным гражданином мира открытого кода и помогла распространению Linux на серверах. Сегодня же, как считают некоторые, излишнюю любовь к Linux проявляет не только Google. Intel до сих пор играла по правилам открытого исходного кода, но некоторые озабочены ее влиянием на такие проекты как MeeGo и поглощением ею компании Wind River. А теперь еще компьютерный гигант HP связывает свое будущее с WebOS, основанной на Linux.

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