Oracle vs. Google: крестовый поход за чистоту Java
Зримые доказательства нарушения патентов Oracle компанией Google при использовании Java в Android опубликовал на прошлой неделе независимый исследователь, детально и документально подкрепляя версию Oracle в своем собственном исследовании. Как бы ни развивались дальнейшие события в судебном противостоянии между Google и Oracle, совершенно очевидно на данный момент пока только одно: Google будет чрезвычайно тяжело отстоять свою точку зрения в суде, перед натиском вооруженных до зубов фактами адвокатов из Oracle.
Но для начала давайте кратко напомним предысторию этого очень важного для будущего популярной платформы Android патентного конфликта между гигантами IT-индустрии.
Предыстория
В те времена, когда компания Sun была независима и самостоятельна, основную прибыль от Java ей приносили лицензионные отчисления. Любая компания, решившая вывести на рынок собственную реализацию JDK, должна была получить сертификат соответствия выводимого на рынок JDK всем Java- стандартам. Вот именно этот процесс сертификации и являлся исключительным правом Sun, именно за него брались деньги, и именно он наделял сертифицируемого правом на использование своей реализации JVM.
Google, в те относительно далекие времена, на основе кода проекта Apache Harmony (это реализация JDK от Apache, которая в свою очередь лицензирована по вышеописанной схеме у Sun), особенно не утруждая себя этой процедурой лицензирования, создала свою теперь знаменитую виртуальную машину Dalvik, на которой и основывается Android. Sun почему-то достаточно спокойно отнеслась к этой ситуации, и несмотря на имевшие место словесные перепалки, в суд все-таки не подала. Хочу просто напомнить, что в те годы даже создатель Java Джеймс Гослинг официально обращался в Google с претензиями за неправомерно используемый код, но Google тогда все эти требования просто молча проигнорировала.
Схватка
И вот уже сегодня Oracle купила Sun, да и платформа Android прямо на глазах взлетела вверх – запахло большими деньгами. И, конечно, Oracle со своей бизнес-хваткой просто не могла упустить свой шанс пересмотреть это, прямо скажем, очень странное положение дел, и немедленно подала в суд свой иск на Google, обвиняя корпорацию, во-первых, в нарушении ее семи патентов, во-вторых, в нарушении копирайта.
Позиция в суде у адвокатов Google достаточно размытая, давайте попробуем хотя бы перечислить все контраргументы, по которым строит свою защиту компания.
Во-первых, в своем ответе Google утверждает, что приложенный Oracle в качестве вещественного доказательства программный код прошел специальное редактирование, для введения суда в заблуждение. Утверждается, что Oracle сознательно отредактировала или удалила из оригинального кода некоторые его части, с целью сделать сравниваемые файлы визуально более похожими друг на друга. Во-вторых, Google достаточно смело утверждает, что патенты Oracle по JVM вообще не имеют никакой юридической силы, так как не содержат в себе никаких полезных идей, которые могут быть запатентованы на основании действующего законодательства США. Кроме этого, даже если это и не так, то претензии к компании не могут быть рассмотрены судом, поскольку предъявлены с опозданием по сроку без достаточных на то оснований (имеется в виду то, что Android существует уже пару лет, и все это время официально никаких вопросов к нему со стороны бывшего правообладателя не возникало).
B завершение Google даже обвинила Oracle, что она нарушила свое обещание сделать Java открытой для сообщества разработчиков. Напомним, Oracle публично и добровольно выступила с подобным обещанием накануне покупки корпорации Sun, бывшего владельца и разработчика Java.
Новый поворот
И вот совсем недавно, пока за стенами суда тихо разбираются в существе этого патентного дела, независимый разработчик Флориан Мюллер в своем блоге FOSS Patents привел возможные доказательства того, что, по крайней мере, 43 исходных файла из Android, вероятно, были непосредственно скопированы из Java. Флориан Мюллер документально и очень педантично оформил свое исследование в девяти PDF-файлах с суммарным объемом 46 страниц, которые и выложил в онлайн. В обнаруженных файлах из исходного кода Android встречается самый минимум отличий от Java 2 Standard Edition (J2SE) версии 5.0, кроме того, они получены путем декомпилирования. Почти во всех файлах присутствуют так называемые copyright notices, с уведомлением об авторском праве, уведомлением “проприетарное/конфиденциальное” (PROPRIETARY /CONFIDENTIAL), а также в некоторых файлах встречается даже прямой запрет на их распространение (DO NOT DISTRIBUTE!).
Казалось бы, на этом можно было бы поставить точку, поскольку никаких сомнений в незаконном заимствовании кода уже не оставалось бы… Но уже через сутки после публикации Флориана Мюллера посыпались отзывы других экспертов, которые провели уже анализ работы самого Флориана Мюллера. В частности, Эд Бернет из редакции ZDNet написал, что он всю ночь изучал доказательства Флориана сразу после их публикации и, как ни странно, пришел к совершенно противоположным выводам. По его словам, большая часть этих “подозрительных файлов” из дистрибутива Android находятся в папке с т.н. юнит-тестами (используются только для тестирования программы и ее качества кода в процессе разработки) и не поставляются вместе с самим Android. Более того, почти все эти файлы на данный момент уже удалены из репозитория проекта, поэтому даже непонятно, из архива какой давности взял их Флориан.
Хотя выше вроде нашлось объяснение всему, в то же самое время другой эксперт-юрист Нилай Пател указывает в своем блоге: “С юридической точки зрения, весьма вероятно, что эти файлы все же увеличат ответственность для Google. Состояние нынешнего законодательства об авторских правах таково, что оно не учитывает, как работают деревья исходных кодов, скрипт или нет вставил другие лицензии, присутствуют или нет эти файлы в реальных телефонах”.
В ожидании развязки
В заключение этой очень противоречивой и еще не законченной судебной истории хочется отметить, что в связи с очередной патентной войной на форумах довольно часто и однобоко принято называть Oracle “империей зла”, тогда как Google, наоборот, у большинства принято симпатизировать. В связи с этим давайте вспомним знаменитый лозунг-цель, ради которого создавался Java: “Write once, run anywhere”. А теперь задумайтесь, разве отвечает этой цели Java на Android? Можете ли вы запустить код, скомпилированный для Android, на какой-либо другой Java-платформе? Возможно ли это хотя бы теоретически? Ответ – нет. Dalvik не совместима со стандартным JVM. Она бы не прошла сертификацию у бывшей Sun или нынешней Oracle, поэтому Google даже и не пытался. Точно так же в свое время компания Microsoft пыталась создать свой собственный несовместимый JVM, и тогда Sun подала в суд и выиграла его. Хочется напомнить, что в том, почти аналогичном случае Microsoft выплатила в общей сложности более 1 млрд долларов штрафа.
Думаю, стоит подождать и на этот раз решения суда, но уже ясно одно: суду понадобится много времени, чтобы полностью разобраться в такой противоречивой истории. Но будущее очень перспективной платформы Android в связи с этим делом лично мне гораздо интересней и важней, чем виновность-невиновность конкретно компании Google, которая, думаю, в любом случае не разорится, если даже и проиграет это сложное для нее дело. Вышеупомянутый судебный конфликт Sun и Microsoft, который судебно закрыл в свое время возможность развития Microsoft JVM, вынудил появление альтернативной кроссплатформенной технологии - .Net, - которую Microsoft пришлось создать с нуля. Что же будет с Android, если суд все-таки запретит распространение и использование Dalvik?
Игорь Савчук
Но для начала давайте кратко напомним предысторию этого очень важного для будущего популярной платформы Android патентного конфликта между гигантами IT-индустрии.
Предыстория
В те времена, когда компания Sun была независима и самостоятельна, основную прибыль от Java ей приносили лицензионные отчисления. Любая компания, решившая вывести на рынок собственную реализацию JDK, должна была получить сертификат соответствия выводимого на рынок JDK всем Java- стандартам. Вот именно этот процесс сертификации и являлся исключительным правом Sun, именно за него брались деньги, и именно он наделял сертифицируемого правом на использование своей реализации JVM.
Google, в те относительно далекие времена, на основе кода проекта Apache Harmony (это реализация JDK от Apache, которая в свою очередь лицензирована по вышеописанной схеме у Sun), особенно не утруждая себя этой процедурой лицензирования, создала свою теперь знаменитую виртуальную машину Dalvik, на которой и основывается Android. Sun почему-то достаточно спокойно отнеслась к этой ситуации, и несмотря на имевшие место словесные перепалки, в суд все-таки не подала. Хочу просто напомнить, что в те годы даже создатель Java Джеймс Гослинг официально обращался в Google с претензиями за неправомерно используемый код, но Google тогда все эти требования просто молча проигнорировала.
Схватка
И вот уже сегодня Oracle купила Sun, да и платформа Android прямо на глазах взлетела вверх – запахло большими деньгами. И, конечно, Oracle со своей бизнес-хваткой просто не могла упустить свой шанс пересмотреть это, прямо скажем, очень странное положение дел, и немедленно подала в суд свой иск на Google, обвиняя корпорацию, во-первых, в нарушении ее семи патентов, во-вторых, в нарушении копирайта.
Позиция в суде у адвокатов Google достаточно размытая, давайте попробуем хотя бы перечислить все контраргументы, по которым строит свою защиту компания.
Во-первых, в своем ответе Google утверждает, что приложенный Oracle в качестве вещественного доказательства программный код прошел специальное редактирование, для введения суда в заблуждение. Утверждается, что Oracle сознательно отредактировала или удалила из оригинального кода некоторые его части, с целью сделать сравниваемые файлы визуально более похожими друг на друга. Во-вторых, Google достаточно смело утверждает, что патенты Oracle по JVM вообще не имеют никакой юридической силы, так как не содержат в себе никаких полезных идей, которые могут быть запатентованы на основании действующего законодательства США. Кроме этого, даже если это и не так, то претензии к компании не могут быть рассмотрены судом, поскольку предъявлены с опозданием по сроку без достаточных на то оснований (имеется в виду то, что Android существует уже пару лет, и все это время официально никаких вопросов к нему со стороны бывшего правообладателя не возникало).
B завершение Google даже обвинила Oracle, что она нарушила свое обещание сделать Java открытой для сообщества разработчиков. Напомним, Oracle публично и добровольно выступила с подобным обещанием накануне покупки корпорации Sun, бывшего владельца и разработчика Java.
Новый поворот
И вот совсем недавно, пока за стенами суда тихо разбираются в существе этого патентного дела, независимый разработчик Флориан Мюллер в своем блоге FOSS Patents привел возможные доказательства того, что, по крайней мере, 43 исходных файла из Android, вероятно, были непосредственно скопированы из Java. Флориан Мюллер документально и очень педантично оформил свое исследование в девяти PDF-файлах с суммарным объемом 46 страниц, которые и выложил в онлайн. В обнаруженных файлах из исходного кода Android встречается самый минимум отличий от Java 2 Standard Edition (J2SE) версии 5.0, кроме того, они получены путем декомпилирования. Почти во всех файлах присутствуют так называемые copyright notices, с уведомлением об авторском праве, уведомлением “проприетарное/конфиденциальное” (PROPRIETARY /CONFIDENTIAL), а также в некоторых файлах встречается даже прямой запрет на их распространение (DO NOT DISTRIBUTE!).
Казалось бы, на этом можно было бы поставить точку, поскольку никаких сомнений в незаконном заимствовании кода уже не оставалось бы… Но уже через сутки после публикации Флориана Мюллера посыпались отзывы других экспертов, которые провели уже анализ работы самого Флориана Мюллера. В частности, Эд Бернет из редакции ZDNet написал, что он всю ночь изучал доказательства Флориана сразу после их публикации и, как ни странно, пришел к совершенно противоположным выводам. По его словам, большая часть этих “подозрительных файлов” из дистрибутива Android находятся в папке с т.н. юнит-тестами (используются только для тестирования программы и ее качества кода в процессе разработки) и не поставляются вместе с самим Android. Более того, почти все эти файлы на данный момент уже удалены из репозитория проекта, поэтому даже непонятно, из архива какой давности взял их Флориан.
Хотя выше вроде нашлось объяснение всему, в то же самое время другой эксперт-юрист Нилай Пател указывает в своем блоге: “С юридической точки зрения, весьма вероятно, что эти файлы все же увеличат ответственность для Google. Состояние нынешнего законодательства об авторских правах таково, что оно не учитывает, как работают деревья исходных кодов, скрипт или нет вставил другие лицензии, присутствуют или нет эти файлы в реальных телефонах”.
В ожидании развязки
В заключение этой очень противоречивой и еще не законченной судебной истории хочется отметить, что в связи с очередной патентной войной на форумах довольно часто и однобоко принято называть Oracle “империей зла”, тогда как Google, наоборот, у большинства принято симпатизировать. В связи с этим давайте вспомним знаменитый лозунг-цель, ради которого создавался Java: “Write once, run anywhere”. А теперь задумайтесь, разве отвечает этой цели Java на Android? Можете ли вы запустить код, скомпилированный для Android, на какой-либо другой Java-платформе? Возможно ли это хотя бы теоретически? Ответ – нет. Dalvik не совместима со стандартным JVM. Она бы не прошла сертификацию у бывшей Sun или нынешней Oracle, поэтому Google даже и не пытался. Точно так же в свое время компания Microsoft пыталась создать свой собственный несовместимый JVM, и тогда Sun подала в суд и выиграла его. Хочется напомнить, что в том, почти аналогичном случае Microsoft выплатила в общей сложности более 1 млрд долларов штрафа.
Думаю, стоит подождать и на этот раз решения суда, но уже ясно одно: суду понадобится много времени, чтобы полностью разобраться в такой противоречивой истории. Но будущее очень перспективной платформы Android в связи с этим делом лично мне гораздо интересней и важней, чем виновность-невиновность конкретно компании Google, которая, думаю, в любом случае не разорится, если даже и проиграет это сложное для нее дело. Вышеупомянутый судебный конфликт Sun и Microsoft, который судебно закрыл в свое время возможность развития Microsoft JVM, вынудил появление альтернативной кроссплатформенной технологии - .Net, - которую Microsoft пришлось создать с нуля. Что же будет с Android, если суд все-таки запретит распространение и использование Dalvik?
Игорь Савчук
Компьютерная газета. Статья была опубликована в номере 05 за 2011 год в рубрике интернет