• Мнения
  • |
  • Обсуждения
Грандмастер

Что такое Java Virtual Machine, или Джава – это вам не Ява!.. Часть 2

Противостояние Sun и Microsoft

В начале развития платформы Java существовали две конкурирующие реализации Java VM — одна от фирмы Sun Microsystems, создателя языка Java, для различных платформ (Windows, Mac OS, Unix), и другая — от фирмы Microsoft, ориентированная только на платформу Windows и, по утверждению Microsoft, «специально оптимизированная для быстрого выполнения Java-кода на платформе Microsoft Windows».

Однако, Microsoft JVM была не полностью совместима со спецификацией, описанной Sun в Голубой книге JVM, а также имела существенные проблемы, связанные с безопасностью и с производительностью при работе под большими нагрузками (при большом числе одновременно выполняемых потоков). Компания Sun посчитала такую ситуацию недопустимой и решила, что Microsoft занимается намеренной дискредитацией и профанацией платформы Java путем распространения своей версии виртуальной машины Java, обладающей вышеперечисленными недостатками.

На этом основании Sun неоднократно подавала в суд на Microsoft, и последовательно добилась сначала того, что Microsoft потеряла право называть свою реализацию JVM — Java VM. С этого момента Microsoft стала называть свой продукт просто Microsoft VM. Затем Microsoft потеряла право встраивать свою VM в браузеры и операционные системы. После этого Microsoft вынуждена была изъять свою VM из поставки Windows и из пакета IE, но могла, согласно решению суда, предлагать ее отдельно для скачивания на своем сайте. Затем Sun добилась прекращения разработки новых версий Microsoft VM и прекращения выпуска обновлений к ней, а затем и исключения Microsoft VM из списка доступных для скачивания программ на сайте Microsoft.

Некоторые IT-эксперты считают, что жесткая позиция, занятая Sun по вопросу Java, могла послужить дополнительным стимулом для разработки компанией Microsoft собственного кросс-платформенного решения — .NET Framework.

О борьбе за соблюдение стандартов
Вот что говорит по этому поводу «отец» Java Джеймс Гослинг: «Если говорить о соблюдении стандартов, то наш конфликт с Microsoft состоял в том, что эта компания попыталась ограничить интероперабельность своей виртуальной машины, тем самым нарушив достигнутое раннее соглашение. Код, оптимизированный под эту машину, не исполнялся на других платформах. Налицо попытка привязать пользователей к своей системе. Такие попытки всегда пресекались и будут пресекаться впредь. Однако если принцип интероперабельности соблюдается, то никаких препятствий нет. Например, у IBM по меньшей мере полдюжины виртуальных машин Java, есть свои разработки в этой области у HP и многих других компаний».

Противостояние Sun и IBM
В 2001 г., с целью разработки стандарта кросс-платформенных desktop-приложений, IBM стартовала открытый проект Eclipse. Фреймворк Eclipse основан на закрытой разработке IBM VisualAge. IBM удалось сбалансировать интересы свободного сообщества и интересы бизнеса (свои интересы) в лицензии Eclipse Public License, признанной FSF.
Проект успешно развивается, признан индустрией, в значительной степени отделился от IBM в самостоятельную Eclipse Foundation.

Sun остается в оппозиции Eclipse Foundation, как и Microsoft. Формально основной причиной противоречий остается библиотека SWT, которая противоречит Sun-концепции виртуальной машины и переносимости джава-приложений.

Статья опубликована в выпуске 16.12.2008
Обновлено 21.07.2020

Комментарии (0):

Чтобы оставить комментарий зарегистрируйтесь или войдите на сайт

Войти через социальные сети: