Управляющий развитием Java комитет JCP (Java Community Process) утвердил финальный состав релиза Java SE 7, который ожидается этим летом. За утверждение проглосовало 13 из 15 активных участников комитета, при этом шесть из проголосовавших "за" участников (IBM, Red Hat, Fujitsu, SouJava, London Java Community и Goldman Sachs) снабдили свое решение комментарием, что голосуют "за" только в связи с готовностью технической части Java SE 7, выражая при этом несогласие с нынешней политикой лицензирования. Открыто выступить против решилась только компания Google, которая ничего не имеет против технической части спецификации, но несогласна с политикой распространения Java.
Воздержался при голосовании независимый эксперт Вернер Кейл (Werner Keil), указав на непрозрачность и закрытость процесса подготовки спецификаций JSR (Java Specification Request), который по сути развивались за закрытыми дверями. По мнению Вернера, если проект позиционирует себя открытым, то он должен делать это не на словах, а на деле. Компании Oracle, HP, Ericsson, Eclipse Foundation, VMWare и Intel отдали положительный голос без каких-либо комментариев.
Фонд Apache не принимал участие в голосовании, так как в конце прошлого года в знак протеста вышел из комитета JCP. Стивен Колебурне (Stephen Colebourne), член Apache Software Foundation, указал на то, что Oracle давно приняла решение об истреблении проекта Apache Harmony и мнения членов JCP не могут на это повлиять, более того компания Oracle ясно дала понять, что Java 7 будет выпущена независимо от того, как проголосует управляющий комитет. Ценой такой политики стал уход из управляющего комитета Дуга Ли (Doug Lea), фонда Apache и Тима Перлса (Tim Peierls). По мнению Стивена Колебурне невозможно говорить об открытом процессе разработки стандартов, когда запрещено создание сторонних реализаций создаваемых спецификаций. В настоящее время комитет дискредитировал себя тем, что не может влиять на намерения Oracle и неспособен добиться отмены ограничений на распространение тестового пакета TCK.
В качестве примера невозможности продвигать некоторые решения компания Google привела оставшиеся без внимания Oracle решения JCP от 25 сентября 2007 года и 4 июля 2009 года, в которых указывалось о недопустимости использования лицензии на тестовый комплект TCK, как инструмента для дискриминации и ограничения оценки совместимости сторонних реализаций Java-спецификаций. В частности речь ведется о пункте, ограничивающем область применения протестированных в TCK реализаций Java.
Компания Red Hat указала, что хотела бы видеть модель лицензирования в виде, одинаково открытом для всех, а не только для избранных членов JCP, и исключающем возможность контроля отдельных компаний над стандартами Java (подразумевается вмешательство компании Oracle с целью отстаивания своих коммерческих интересов). Компания IBM высказалась в похожем стиле, упомянув необходимость создания лицензионной модели, позволяющей любому стороннему проекту создавать независимые реализации Java-спецификаций и не допускающей излишнего контроля в руках отдельных компаний.
Основная проблема лицензирования связана с тем, что, что несмотря на открытый характер спецификации Java и доступность кода OpenJDK под лицензией GPL, тестовый пакет для проверки совместимости с Java содержит пункт "область применения", который указывает на то, что протестированный с помощью TCK продукт не может использоваться в ограниченной среде, т.е. его можно запускать на настольном ПК, но не в контент-киоске (платежные терминалы, информационные автоматы, банкоматы и т.п.), не внутри промышленной системы и не в мобильных платформах. Подобная дискриминация мешает формально признать проект Apache Harmony полностью совместимым с Java SE.
Необходимость оплаты лицензионных отчислений при использовании тестового пакета для проверки совместимости с Java в определенных областях (секция "Field of Use"), по мнению представителей Apache, нарушает соглашение JSPA (Java Specification Participation Agreement), в котором оговорен бесплатный характер распространения спецификаций. Oracle же считает, что соблюдает заявленные соглашения и лицензирует JCK на условиях FRAND ("fair, reasonable and non-discriminatory" - "справедливый, приемлемый, беспристрастный"). Тем не менее есть надежда на изменение ситуации, в мае компания Oracle заявила о намерении реформировать связанную с Java управляющую структуру, сделав её более открытой и пересмотрев вопрос лицензирования TCK. По предварительной оценке процесс реформирования займет 12-18 месяцев.
Финальный релиз JDK 7 ожидается в конце июля или начале августа 2011 года. Из возможностей Java 7 можно отметить интеграцию набора небольших языковых улучшений Java, развиваемых в рамках проекта Coin, поддержку языков программирования с динамической типизацией (инструкция 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. В JDK 7 не включены (будут реализованы в JDK 8) Лямбда-выражения ("замыкания"), модульная система Jigsaw, аннотации для Java-типов, Swing application framework (JSR296) и поддержка языковых конструкций для работы с коллекциями.
|