Скрытая война между Sun и Microsoft перешла в явную
Свершилось то, о чем многие эксперты предупреждали еще два года назад, в момент официального объявления Java. Этот язык, в течение всего последнего времени подававшийся как некий инструмент примирения многоплатформного компьютерного мира, оказался на самом деле бомбой замедленного действия, которая должна была взорваться. Компания Sun подала в суд на Microsoft, обвинив ее в нарушении заключенного в начале 1996 г. договора о лицензировании языка Java.
Официальный повод для иска - Misrosoft Internet Exlporer 4.0 не прошел тесты на совместимость со стандартами Java, и поэтому Microsoft не имеет права на использование логотипов этого языка. На что Microsoft заявила, что не понимает, с чего это Sun присвоила себе права на использование стандартов.
Только люди, мало знакомые с методами действий детища Билла Гейтса на рынке, могли говорить о том, что лицензирование его компанией полтора года назад технологии Java является признанием смирения с тем фактом, что Microsoft не может лидировать во всех областях применения вычислительной техники.
На самом же деле ситуация тогда представлялась несколько иначе. Просто Microsoft в очередной раз продемонстрировала свою гибкость в выборе методов конкурентной борьбы. В отношении идеи сетевых компьютеров она заняла резко отрицательную позицию, выдвинув с довольно большим (почти на год) опозданием свою концепцию NetPC. Что касается браузеров, то Microsoft начала долговременную гонку на выживание, создавая для них программы собственной конструкции. Если же говорить о Java, то Microsoft, прикинувшись “большим католиком, чем сам папа римский” и смиренно подчинившись предложенным стандартам, стала фактически лидером продвижения этого языка. Лидером, который, совершенствуя первоначальный замысел, довел его фактически до абсурда, в результате чего оказалось, что ключевые достоинства Java незаметно испарились.
Microsoft в одностороннем порядке ввела некоторые изменения в спецификации Java с целью “обеспечения повышения его производительности” (но, конечно же, только на платформе Windows!). Проблема здесь в том, что Java является торговой маркой Sun, и как международный стандарт Java не зарегистрирован. Microsoft же считает, что Java должен стать общим стандартом и его развитие - делом всего сообщества, а не только Sun.
Как решит суд - сейчас сказать сложно, но ясно одно: Microsoft имеет достаточно сильные позиции в области Java, чтобы заявить: “Вы запрещаете нашей компании использовать логотип Java? Отлично, тогда язык, который поддерживается корпорацией, будет назваться VJ++. И пусть разработчики сами думают, что им выбирать”.
Официальное мнение SUN (письмо корпорации Sun к пользователям)
Во вторник, 7 октября, Sun была вынуждена предпринять юридические действия против Microsoft, чтобы сохранить целостность торговой марки Java. Sun - разработчик Java - подала в суд на Microsoft за нарушение контракта и ложную рекламу. Это не тот способ вести дела, который мы предпочитаем. После нескольких месяцев переговоров мы пришли в выводу, что Microsoft не очень-то собирается жить согласно договору.
Она пытается нарушить межплатформную совместимость Java и поставлять технологию, которая только внешне выглядит как Java, а на самом деле работает лишь с продуктами Microsoft.
Sun собирается защитить интересы тысяч компаний во всем мире. Технология Java была лицензирована 177 компаниями, ее уже используют свыше 700 тысяч разработчиков во всем мире. Только одна компания нарушает это единство - Microsoft. И наша цель - вернуть ее в рамки стандартов Java.
Пока пользователи MS Windows могут продолжать получать доступ к Java-приложениям с помощью Netscape Navigator. Java-приложения будут выполняться внутри браузера Netscape без проблем. Многие Java-приложения будут выполняться и в MS IE 4.0 без модификаций. Однако, поскольку Microsoft исключила два ключевых компонента Java из IE 4.0, некоторые Java-приложения необходимо будет слегка модифицировать.
Следующие вопросы и ответы иллюстрируют позицию Sun.
Вопрос: Отозвала ли Sun у Microsoft лицензию на использование Java?
Ответ: Наши действия не означают отмену лицензии. Наша цель - заставить Microsoft выполнять обязательства, зафиксированные в лицензионном соглашении.
В. Каким образом Microsoft нарушила соглашение?
О. Она поставляет продукт, который не проходит тесты на Java-совместимость. Соглашение Microsoft с Sun содержит специальный пункт, по которому ни один продукт, содержащий Java-технологии, не должен распространяться до тех пор, пока он не пройдет эти тесты. А IE 4.0 такие тесты не прошел.
В. Какие функции Java-компонентов Microsoft исключила из IE 4.0 и своего набора SDKJ (Software Development Kit for Java)?
О. Интерфейс Remote Method Interface (RMI) позволяет отдельным фрагментам Java-программы, выполняющимся на разных компьютерах, взаимодействовать друг с другом. Интерфейс Java Native method Interface (JNI) позволяет Java-приложениям выполнять программы, написанные на других языках, к примеру Cи и Cи++. Многие, но не все функции RMI могут быть получены с помощью JavaIDL. Sun рекомендует использовать JavaIDL, пока в Windows и IE 4.0 не появятся средства, поддерживающие RMI. Приложения, в которых применяются “родные” (native) методы, должны использовать JNI для всех платформ, за исключением IE. IE-приложения же основываются на RNI, варианте JNI, предложенном Microsoft.
В. Распадается ли Java на фрагменты?
О. Существует только одна технология Java. Это - платформа, содержащая уникальную возможность “Напиши один раз, выполняй везде”.
В. Является ли Netscape более гибкой, чем Microsoft?
О. Netscape была очень откровенной с разработчиками в отношении степени Java-совместимости. Она не пытается ввести в заблуждение разработчиков. У нее есть зафиксированные обязательства по поставке полностью гибких Java-реализаций в составе своих продуктов.
В. Чем поведение Microsoft отличается от поведения других компаний, получивших лицензию на Java?
О. Microsoft умышленно модифицировала Java-платформу, вставив свои методы, замаскированные под методы Java. Поскольку Microsoft умышленно присвоила этим методам неправильные названия, разработчики, использующие их, могут уверовать в то, что они пишут стопроцентные Java-приложения. Microsoft постоянно заявляла, что Java не может поддерживать возможность “Напиши один раз, выполняй везде”. Поэтому она вставила собственную технологию в свою реализацию Java.
В. Как пользователи Windows будут сейчас получать доступ к Java?
О. Netscape Navigator является наилучшим выбором для тех конечных пользователей, кто хочет быть уверен в том, что всегда сможет выполнять Java-приложения. Для разработчиков Sun предлагает Java Performance Runtime for Windows - высокопроизводительную реализацию того, что требуется для выполнения Java-приложений на платформах Win 32. Этот продукт можно бесплатно загрузить с Web-узла компании Sun. У разработчиков также есть доступ к Java-реализациям для Windows с помощью следующих популярных средств: Visual Cafe фирмы Symantec, Visual Age корпорации IBM, Latte компании Borland, а также Java WorkShop - собственный продукт Sun.
Sun направила судебный иск к корпорации Microsoft в окружной суд США (U.S. District Court). Официальное обвинение состоит из нескольких пунктов: неправильное использование торговой марки, ложная реклама, нарушение контракта, нечестная конкуренция, вмешательство в ожидаемый экономический эффект и вынуждение к нарушению контракта.
В. В чем причина того, что IE 4.0 не прошел тесты?
О. Во-первых, IE 4.0 не поддерживает JNI и RMI. Во-вторых, существуют другие серьезные проблемы совместимости. IE 4.0 добавляет public API в некоторые пакеты “java.”. К пакетам awt, lang и net было добавлено несколько методов и полей. В-третьих, была удалена небольшая часть методов “java.” public.
В. А что такое JNI? И почему так важен он?
О. JNI - это интерфейс виртуальной машины Java, который обеспечивает доступ разработчиков к “родным” функциям на хост-платформах.
В. Что такое RMI? Почему он так важен?
О. RMI - это интерфейс API, который обеспечивает распределение объектов в однородных системах Java - Java. Создание и реализация распределенных вычислительных архитектур представляет собой одну из самых сильных сторон Java. Платформа, которая не включает в себя RMI, будет существенно подрывать это достоинство Java.
В. Что такое JFC и являются ли они предметом спора?
О. Классы Java Foundation Classes - это всеобъемлющий набор библиотек классов, используемых разработчиками для создания Java-приложений. Хотя они появятся в конце этого года, но в набор JDK не будут включены до тех пор, пока не выйдет его новая версия. Они также не входят в JDK 1.1. Тесты на Java-совместимость, используемые в настоящее время, основываются на совместимости JDK 1.1, и поэтому они не включают классы JFC. В соглашения по лицензированию Java использование этих классов не входит.
В. Как работают тесты на Java-совместимость?
О. Тестовые комплекты основываются на спецификациях Java. Существуют отдельные тестовые комплекты для компиляторов Java, виртуальных машин Java и библиотек классов Java API. Эти тесты вместе с тестовыми средствами, предназначенными для проведения данных тестов, объединены в пакет, который носит название Java Compatibility Kit. Каждая фирма, получившая лицензию, должна самостоятельно проводить тестирование. В случае необходимости Sun обеспечивает поддержку и руководство. Кроме того, корпорация проверяет результаты тестов, присылаемые ей компаниями, получившими лицензию, и может также сама провести тестирование их продуктов.
В. Существует ли легальный способ добавить какие-либо функции к платформе Java?
О. Конечно. Sun поощряет всех, кто получил у нее лицензии, проводить усовершенствования на базе Java-платформы. Есть хорошо разработанная инфраструктура для осуществления этого. Любая компания, которая хочет добавить свою функцию к Java, имеет две возможности: предложить Sun это расширение, чтобы корпорация сама вставила его в интерфейсы Java API, или разработать и внедрить эту новую функцию за рамками пакета Java API. Неавторизованные изменения внутри Java API могут подорвать ценность Java - ее платформную независимость, безопасность и масштабируемость.
Официальное мнение Microsoft
7 октября корпорации Microsoft стало известно, что компания Sun Microsystems предпринимает юридические действия относительно спора по контракту между этими двумя фирмами. К сожалению, данный спор не может быть разрешен без того, чтобы Sun не подала судебный иск. Microsoft считает, что она выполняет условия контракта, и полагает, что суд согласится с этим. Приведенные ниже ответы на некоторые наиболее часто задаваемые вопросы должны прояснить ситуацию.
В. В чем суть юридического спора между Sun и Microsoft?
О. Спор идет вокруг терминов и условий соглашения относительно совместимости Java и использования логотипа Java на рынке. Microsoft считает, что она действует в рамках этого соглашения и будет энергично противостоять судебному преследованию со стороны Sun.
В. Повлияет ли судебный иск на поставки IE 4.0?
О. Нет. Microsoft будет продолжать поставлять свои продукты, включая недавно выпущенный Web-браузер Internet Explorer 4.0. Уже свыше 2 млн. копий IE 4.0 было загружено с Web-узла (www.microsoft.com) и еще сотни тысяч с Web-узлов партнеров.
В. Каково соотношение Internet Explorer 4.0 и Netscape Communicator 4.0?
О. IE 4.0 стал лидером в конкурентной борьбе с Netscape Navigator. На Web-узле Microsoft можно найти адреса ведущих американских изданий, напечатавших обзоры по этой тематике.
В. Нарушена ли каким-либо образом поддержка Java в Internet Explorer 4.0?
О. Нет. Microsoft Internet Explorer 4.0 - это наиболее совместимый, самый быстрый и многофункциональный браузер для выполнения Java-приложений. По иронии судьбы одной из причин, почему IE 4.0 был так благожелательно встречен пользователями, стало то, что поддержка Java в нем реализована намного лучше, чем в Netscape Communicator. (Далее в ответе приведены рецензии о поддержке Java, опубликованные в компьютерных журналах - их адреса находятся на Web-узле Microsotf.)
В. Каков уровень Java-совместимости, предлагаемой Microsoft, по сравнению с тем, что обеспечивают другие компании, например Sun и NSCP?
О. Microsoft выпустила на рынок наиболее совместимую реализацию Java. Несмотря на широко разрекламированный тезис Sun “напиши один раз, выполняй везде”, виртуальная машина самой Sun обладает меньшей совместимостью по сравнению с аналогичной машиной Microsoft. Microsoft Internet Explorer лучше совместим с Java, чем любой другой браузер, имеющийся на рынке, включая Netscape Navigator.
В. Не пытается ли Microsoft обманным путем заставить разработчиков использовать “секретные интерфейсы”?
О. Нет. Microsoft предоставляет Java-разработчикам возможности Windows и облегчает им использование этих возможностей. Разработчики, которые их применяют, делают это сознательно.
В. Как данный судебный иск может повлиять на решение международной организации по стандартам ISO (Internetional Standard Organization) о том, сертифицировать ли Sun в качестве разработчика стандартов?
О. До настоящего времени ISO отвергала попытки Sun представлять собственный стандарт для Java. Стремление Sun отпугнуть разработчиков от использования преимуществ самой лучшей реализации Java вызывает сомнение в ее способности выступать в качестве нейтрального носителя стандарта для дальнейшего развития Java. Фирма Sun должна решить, будет ли Java действительно открытой технологией (но в этом случае Sun не сможет удерживать контроль над языком) или она будет просто поддерживать Java как собственную технологию. Каждый из этих путей является приемлемым, но компьютерная индустрия должна знать, каким из них Sun собирается идти.
Андрей Колесов