Новости сообщества GNU/Linux

Oracle, Java и будущее Open Source

На прошлой неделе один из крупнейших мировых производителей ПО компания Oracle подала патентный иск на корпорацию Google. Две эти корпорации имеют самое непосредственное отношение к открытому ПО. Особенно это касается Oracle, которой после поглощения Sun Microsystems достались очень крупные открытые проекты.

Поэтому этот патентный иск поднимает важные вопросы лицензий GPL, коммерциализации открытого ПО, форков и дальнейшей судьбы некоторых открытых проектов. Именно в контексте Open Source мы и рассмотрим конфликт между Google и Oracle.

Итак, в прошлый четверг "империя Ларри Эллисона" обвинила интернет-гиганта Google в нарушении семи патентов, связанных с открытой платформой Java. Адвокаты Oracle заявили, что "Google осознанно, прямо и постоянно нарушала интеллектуальную собственность Oracle, связанную с используемыми в языке Java технологиями при создании операционной системы Android".

С одной стороны, это выглядит как банальный патентный спор, который сам по себе линуксоидов не сильно интересует. Но с другой, Java - сейчас один из главных проектов в мире Open Source. Начиная с 2006 года, компания Sun Microsystems постепенно лицензировала под GNU GPL все без исключения компоненты Java, чтобы она считалась полностью открытой платформой, И теперь, например, набор OpenJDK может свободно распространяться и быть включенным в дистрибутивы Linux как полноценная платформа Java.

Поэтому в силу того, что платформа Java открыта под лицензией GPL, так ли уж правомочны патентные претензии Oracle в отношении других реализаций этой технологии? Ведь со стороны демарш Oracle выглядит как отход от идей Open Source. Ларри Эллисон как бы даёт понять, что его интересует исключительно монетизация доставшихся от Sun проектов, а не их открытый статус. Что, по правде говоря, давно никого не удивляет.

Например, для создателя и ключевого разработчика платформы Java Джеймса Гослинга такое поведение Oracle оказалось вполне предсказуемым. В своём блоге по поводу этого события он вспомнил, как во время процесса поглощения компании Sun адвокаты Oracle допытывались у него о патентной ситуации между Sun и Google и как у этих адвокатов горели глаза.

Сам Гослинг несколько месяцев назад покинул Oracle. При этом он не захотел публично рассказать о причинах ухода, но, скорее всего, это было неприятие корпоративной идеологии Oracle.

Однако нельзя всё сводить только к монетаристской политике Oracle. В конце концов, компания вкладывает свои деньги в развитие доставшихся ей открытых проектов, а заниматься коммерцией на основе открытого ПО лицензия GPL не запрещает.

Другое дело, что данный спор хозяйствующих субъектов в очередной раз поднимает проблему несовершенства второй версии лицензии General Public License в отношении патентов, под которой и была открыта платформа Java. Вторая версия GPL прямо не запрещает предъявлять судебные патентные претензии к пользователям открытых продуктов. И только GPL 3 подчёркивает, что всякий, кто распространяет программу, опираясь на GPL, должен отказаться от всяких патентных претензий.

Поэтому с формальной стороны к Ларри Эллисону претензии предъявить трудно. Юристы Oracle просто воспользовались несовершенством GPL 2. Причём забавно, что в одном из имеющихся в иске патентов RE38104 в качестве автора фигурирует сам Джеймс Гослинг.

Но есть ещё и этическая сторона дела. Как бы ни была несовершенна вторая версия GPL, использовать патентные претензии в отношении продукта, лицензируемого под этой версией, выглядит как насмешка над идеями GPL. Юристы Oracle не нарушили букву GNU GPL, но игнорировали дух этой лицензии.

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

Что касается Google, то, действительно, технологии Java используются в мобильной операционной системе Android, которая за последнее время развивается очень стремительно, увеличив своё присутствие на рынке смартфонов в десять раз. Притом, что конкуренция на этом рынке огромная.

И многие линуксоиды на форумах, как ни странно, почему-то считают, что именно Google нарушила GPL, создав свой мобильный форк платформы Java. Но, во-первых, форки не запрещены свободными лицензиями. Другое дело, что форк в некоторых случаях не практичен, так как приводит к распылению разработчиков на разные проекты.

Но в данном случае ни у Sun тогда, ни, тем более, у Oracle сейчас не было и нет эффективной виртуальной машины специально для мобильных архитектур нового поколения. В результате Google создаёт и использует в "Андроиде" специальную написанную с нуля виртуальную машину Dalvik.

Так как система "Андроид" предназначена для разных аппаратных платформ, то виртуальная машина делает возможным писать единственный вариант программы, который будет работать на гуглофоне с любой процессорной архитектурой. Это является одним из главных принципов идеологии Java.

И, во-вторых, если быть совсем точным, то виртуальная машина Dalvik не имеет прямого отношения к платформе Java и её трудно назвать форком Java VM. Эта виртуальная машина исполняет байт-код собственного формата, а не байт-код JVM. Хотя сами прикладные программы пишутся для "Андроида" с использованием синтаксиса языка программирования Java.

То, что Gogle выбрала разработку для "Андроида" на основе синтаксиса и классов Java -всего лишь тактика обеспечения более комфортного перехода на "Андроид" программистов Java2ME. Тем самым компании удалось не только избавиться от необходимости изобретать собственный велосипед, но и привлечь на свою сторону, образно говоря, велосипедистов. Хотя для виртуальной машины Dalvik вполне можно было изобрести свой собственный Java-образный язык программирования Java# или какой-нибудь Java-Objective.

Поэтому неверно сравнивать нынешнюю ситуацию c Dalvik и конфликт многолетней давности между Sun и Microsoft, когда редмондский гигант выпустил собственную реализацию JVM, ориентированной исключительно на среду Windows. Dalvik - это самостоятельная виртуальная машина.

Теперь в сложившейся ситуации Google имеет возможность для маневров. Или же бороться с Oracle за свободную от патентных претензий Java. Или же, наоборот, уйти от борьбы и попытаться развивать "Андроид" как самостоятельную платформу наподобие .NET, где синтаксис Java - один из возможных вариантов создания программ. И, похоже, Google выбирает первый вариант.

Но судебный иск Oracle против "Андроид" поднимает также очередную волну обсуждения будущего других открытых проектов, оставшихся после Sun: Open Office, MySQL, OpenSolaris. Ведь если "обналичивание" этих открытых проектов будет происходить так же, как и с Java, то их будущее мало кому внушает оптимизм.

Так, 3 августа был официально представлен проект Illumos - форк операционной системы с открытым кодом OpenSolaris, которой Oracle перестала уделять должное внимание. По предварительным слухам, компания прекращает развитие OpenSolaris как дистрибутива. Но знамя OpenSolaris в лице форка Illumos намерена поддержать компания Nexenta Systems.

Так что следует, видимо, ожидать и изменений в судьбе других проектов - Open Office и MySQL.

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Номер: 

32 за 2010 год

Рубрика: 

Компьютер и жизнь
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!