Зафиксированы и опровергнуты факты прямого копирования кода Java SE в Android

Материал из Викиновостей, свободного источника новостей

21 января 2011 года

Флориан Мюллер (Florian Mueller), известный борец с патентованием программного обеспечения, опубликовал результаты изучения обоснованности обвинений Oracle в копировании оригинального кода платформы Java при реализации платформы Android. Выявленные в процессе исследования факты превзошли все ожидания - как минимум 43 файла в дереве исходных текстов платформы Android содержат достаточно большие блоки кода, полностью совпадающие с оригинальным кодом платформы Java SE.

Более того, в 37 файлах из состава Android явно присутствует пометка об их проприетарном или конфиденциальном характере. Данные файлы судя по всему имеют отношение к реализации Mobile Media API из состава Sun Java Wireless Toolkit. Например, заголовок файла PolicyNodeImpl.java гласит "Copyright 2004 Sun Microsystems, Inc. All rights reserved. SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.".

Еще 6 файлов из состава платформы Android 2.2 и 2.3 явно декомпилированы из Java 2 Standard Edition и перелицензированы под лицензией Apache без согласования с правообладателем. Даже если допустить, что в конечном итоге данные файлы входят в состав OpenJDK и поставляются под лицензией GPL, самовольное изменение лицензии может иметь серьезные последствия.

Примечательно, что в обвинительных материалах Oracle [a фигурировали] достаточно спорные утверждения, связанные как правило не с непрерывными блоками кода, а с совпадением структуры и частичным пересечением имен методов и переменных в библиотеке классов Java. Полный отчет о проделанной Флорианом Мюллером работе с детальным построчным сравнением кода можно прочитать по следующим ссылкам: 1, 2, 3, 4, 5, 6, 7, 8, 9.

Тем не менее, опровергнуть обнаруженные факты оказалось значительно проще, чем предполагалось. Почти сразу после публикации была изложена другая точка зрения, в которой показано, что выводы Флориана Мюллера являются ошибочными.

Семь из фигурирующих в разборе файлов (PolicyNodeImpl.java, AclEntryImpl.java, AclImpl.java, GroupImpl.java, OwnerImpl.java, PermissionImpl.java и PrincipalImpl.java) находятся в исходных текстах в каталоге unit-тестов(недоступная ссылка), т.е. используются только для внутреннего тестирования и не входят в конечный продукт. Данные файлы были в свое время опубликованы на сайте Sun для упрощения отладки и тестирования кода. Изменение лицензии в данных файлах можно объяснить результатом работы какого-то скрипта, который автоматически добавил упоминание лицензии Apache во все файлы проекта. Более того, эти файлы уже удалены из репозитория: PolicyNodeImpl.java удален 20 октября 2010 года, а остальные файлы - удалены 14 января 2011 года. Причем удалены с комментарием "удаление бессмысленных тестов".

Остальные 37 файлов представлены в репозитории внутри архива MMAPI.zip, который находится в директории(недоступная ссылка) с кодом аудиодрайвера для одного из поддерживаемых чипсетов. Архив MMAPI.zip содержит модифицированную версию Java ME Mobile Media API (MMAPI) и был добавлен не Google, а входящей в альянс Open Handset Alliance компанией SONiVOX. Код был добавлен в рамках разработки фреймворка Embedded Audio Synthesis (EAS). В сборке платформы данные файлы не участвуют, в документации на фреймворк EAS данный архив помечен как не подлежащий распространению набор примеров. Судя по всему MMAPI.zip был загружен по недосмотру.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Зафиксированы и опровергнуты факты прямого копирования кода Java SE в Android», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.