Зафиксированы и опровергнуты факты прямого копирования кода Java SE в Android
Более того, в 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 фигурировали достаточно спорные утверждения, связанные как правило не с непрерывными блоками кода, а с совпадением структуры и частичным пересечением имен методов и переменных в библиотеке классов 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 был загружен по недосмотру.
Источник: http://www.opennet.ru/opennews/art.shtml?num=29346
|
0 | Tweet | Нравится |
|