Представителям Apache не удалось блокировать одобрение спецификаций Java 7 и 8
Комитет JCP (Java Community Process) большинством голосов (12 - за, против - 3) одобрил принятие спецификаций Java 7 и 8, несмотря на призыв фонда Apache бойкотировать голосование. Так как спецификации теперь утверждены, компании Oracle уже ничто не мешает осуществить ранее намеченный план по выпуску релиза Java SE 7 летом следующего года и Java SE 8 в конце 2012 года.Кроме представителей Apache, против принятия спецификаций проголосовали только компания Google и независимый эксперт Tim Peierls, что подталкивает фонд Apache к последнему решительному шагу - демонстративному выходу из совета JCP. Пять участников голосования (IBM, SAP AG, Eclipse, Credit Suisse и независимый эксперт Wener Kell) проголосовали "за", но при этом снабдили свое решение комментарием, в котором выразили свое недовольство условиями лицензирования тестового комплекта TCK. Компании Oracle, HP, Ericsson, Fujitsu, VMWare и Intel отдали положительный голос без каких-либо комментариев.
Google и фонд Apache признают, что голосовали против принятия спецификаций не по причине их технических недоработок, а в знак протеста против лицензионной политики Oracle. Фонд Apache требует отмены ограничений на сферу использования продуктов, протестированных в JCK. Ранее, компания Sun предоставила возможность использовать JCK в проектах Apache, но при условии соблюдения ряда ограничений, например, запрещено тестировать в JCK реализации Java SE, которые могут быть использованы для работы контент-киосков (платежные терминалы, информационные автоматы, банкоматы и т.п.). Подобная дискриминация мешает формально признать проект Apache Harmony полностью совместимым с Java SE.
Необходимость оплаты лицензионных отчислений при использовании тестового пакета Java Compatibility Kit (JCK) в определенных областях (секция "Field of Use"), по мнению представителей Apache, нарушает соглашение JSPA (Java Specification Participation Agreement), в котором оговорен бесплатный характер распространения спецификаций. Oracle же считает, что соблюдает заявленные соглашения и лицензирует JCK на условиях FRAND ("fair, reasonable and non-discriminatory" - "справедливость, разумность и отсутствие дискриминации").
Голосование проводилось по следующим спецификациям:
- JSR 334 (13 - за, 1 - против, 1 - воздержался) - набор небольших языковых улучшений Java, развиваемых в рамках проекта Coin;
- JSR 335 (13 - за, 1 - против, 1 - воздержался) - лямбда-выражения ("замыкания") для Java;
- JSR 336 (12 - за, 3 - против) - возможности, намеченные для включения в релиз Java SE 7, например, поддержка языков программирования с динамической типизацией (инструкция InvokeDynamic), новый API для ввода/вывода (NIO.2), поддержка загрузки классов по URL, обновления связанные с параллельным выполнением и поддержкой коллекций, обновленный XML-стек, расширенная поддержка локалей, новый API для работы с файловой системой (File System API), прямой ввод/вывод из ZIP и JAR-архивов, Rowset 1.1, Unicode 6.0, JDBC 4.1, поддержка TLS 1.2, компоненты Nimbus и JLayer для GUI-тулкита Swing;
- JSR 337 (12 - за, 3 - против) - возможности, намеченные для включения в релиз Java SE 8, включая модульную систему Jigsaw, аннотации для Java-типов, поддержку языковых конструкций для работы с коллекциями, Swing application framework (JSR296).
© OpenNet