Еще недавно Java преподносилась как панацея от проблем с совместимостью. И вот - очередная "война за прекращение всех войн"

Компании JavaSoft и Microsoft повздорили из-за новой версии Java

Джим Балдерстон
InfoWorld Electric, США

Недавно компания JavaSoft выпустила версию 1.1 пакета Java Development Kit (JDK), что привело к конфликту между Microsoft и JavaSoft. Скандал оказался настолько серьезен, что может даже превратиться в судебное разбирательство.

"Они нарушают условия контракта, - заявил Чарльз Фитцжеральд, выступающий от имени подразделения Microsoft, которое занимается Java, - и я не могу гарантировать, что дело не будет передано в суд".

"Заявления Microsoft - блеф от начала и до конца, - заметила Лайза Поулсон, представитель JavaSoft. - Они просто раздувают скандал".

Весь спор разгорелся из-за небольшого элемента виртуальной Java-машины (Java Virtual Machine - JVM) - интерфейса между JVM и операционной системой, в которой она работает. Библиотеки Java классов бывают двух типов: одни предназначены для разработки Java-программ, которые затем выполняются с помощью JVM, а другие обеспечивают связь между Java-программой и операционной системой, под управлением которой работает JVM (например Windows). По утверждению Фитцжеральда, JavaSoft так изменила интерфейс с операционной системой, именуемый Java Native Interface (JNI), что он стал несовместим с интерфейсом, который использовался в JDK 1.0 для тех же целей и назывался Native Method Interface (NMI). Проектируя JVM для Windows на базе NMI, Microsoft разработала свой расширенный интерфейс, названный Raw Native Interface (RNI). "RNI - это расширение NMI, и он совместим с NMI, но несовместим с JNI", - сказал Фитцжеральд.

Может, это просто ошибка JavaSoft? По словам Фитцжеральда, все значительно сложнее. "Новый интерфейс был спроектирован так, что Java-программы, разработанные с помощью новой версии JDK, не работали на Microsoft JVM, - утверждает Фитцжеральд. - Это целенаправленные действия, а не ошибка".

Поулсон, в свою очередь, утверждает, что нет никакого "конфликта несовместимости" и характеризует скандал в целом "самой большой бурей в стакане". Она заявила, что никто не заставляет Microsoft изменять интерфейс RNI для работы с JNI. "Похоже, они считают, что мы вынуждаем их отказаться от RNI. Это не так, - говорит Поулсон. - Мы хотим от них всего лишь поддержки обоих стандартов NMI и JNI".

По словам Поулсон, Microsoft "...имеет не очень хорошую реализацию Java-машины для Windows" и при этом является единственной компанией из всех лицензировавших Java, которая выражает протест. "Вам не кажется странным тот факт, что из всех компаний, лицензировавших Java, шум подняла только Microsoft?" - вопрошает Поулсон.

Web-адрес JavaSoft: http://www.javasoft.com. Web-адрес Microsoft: http://www.microsoft.com.