СТРАТЕГИИ
В жизни так часто бывает - долго ожидаешь какое-то событие, а когда оно происходит, то возникает двойное чувство: с одной стороны, некоторого разочарования (когда реальность не очень соответствует ожиданиям), а с другой - растерянности, так как нужно искать новый объект ожидания и темы для дискуссий. Наверное, нечто подобное переживает сейчас ИТ-общественность в отношении объявления в конце 2006 г. компанией Sun об открытии исходных кодов Java.
Java на мировом ИТ-рынке: эту технологию в той или иной мере используют 5 млн. разработчиков ПО. |
Действительно, о необходимости такого шага говорилось в Java-сообществе уже давно, особенно активно последние два-три года. И вот это произошло (см. PC Week/RE, N 43/2006, с.1). Различные аспекты данного события широко обсуждались в ИТ-прессе в конце прошлого года. Этой же теме был посвящен и круглый стол, проведенный в Москве местным отделением Sun с участием приехавшей в нашу страну Лори Толсон, вице-президента группы Java Platform этой корпорации. В своем выступлении она, в частности, привела такие сведения о сегодняшнем положении Java на мировом ИТ-рынке: эту технологию в той или иной мере используют 5 млн. разработчиков ПО, она применятся во множестве устройств, в том числе в 800 млн. ПК, в 2 млрд. смарт-карт, в 1,2 млрд. телефонов (8 из 10 новых телефонов используют Java).
Говорим Java, подразумеваем... Термин "Java" уже давно стал общеупотребимым, но на самом деле за ним скрываются разные понятия. Разобраться в этом нужно, чтобы понять, что же скрывается под "открытием" Java и какова роль Sun в этом процессе. Для начала обратим внимание на то, что сама Sun Microsystems в пресс-релизах по этому поводу в последнее время именует себя создателем и главным поставщиком Java. Что касается "создателя", то тут все понятно, а вот "главный поставщик" выглядит довольно туманно - ведь Java-системы поставляют и другие разработчики. Вспомним, что же такое Java. В упрощенном виде ответ выглядит так: это язык программирования (точнее, спецификации языка) и среда его исполнения (виртуальная Java-машина, JVM). Со временем язык Java пополнился различными дополнительными расширениями и соответственно JVM превратилась в программную платформу (среда исполнения, инструменты, средства поддержки и пр.), да не в одну, а в три: Enterprise Edition (серверная), Standard Edition (настольная) и Micro Edition (мобильная и встроенная). Аналог и главный конкурент Java - это платформа Microsoft .NET Framework. И как раз сопоставление с нею поможет лучше разобраться с самой Java. Корпорации Sun принадлежат авторские права не только на торговую марку Java, но и на спецификации языка (т. е. программный интерфейс с JVM). Так что формально Java - это такой же проприетарный стандарт (частная собственность, охраняемая авторским правом и патентами), как и .NET Framework. И в этом плане выпуск очередной версии платформы Sun Java является не только началом продаж какого-то продукта, но и фактическим моментом официальной публикации нового стандарта Java, который потом постепенно начинают поддерживать и другие поставщики Java-решений. В 1997 г. Sun для формализации спецификаций Java использовала его регистрацию в международных организациях по стандартам (ISO, ECMA), но потом фактически отказалась от этой идеи, реализовав модель Java Community Process (JSP). Ее суть заключается в привлечении широкого спектра сторон, заинтересованных в развитии Java и утверждении его стандартов. Но авторские права на Java все равно принадлежат Sun. Корпорация Microsoft, развивая свою .NET, конечно, также прислушивается к мнению рынка, но выносит решения единолично, исходя из собственных представлений и интересов. Она также распространяет данный стандарт через ECMA, но этот процесс более длительный по сравнению с JSP. Конечно, тут есть целый ряд патентных нюансов, но в целом опубликованные стандарты - и Java, и .NET - могут официально использовать все желающие (для создания своих вариантов виртуальных машин). В плане других .NET-платформ можно привести пример проекта Mono (см. PC Week/RE, N 45/2006, с. 27). Если вспомнить юридические претензии Sun к Microsoft по поводу Java во второй половине 90-х, то они состояли не в том, что Microsoft использовала спецификации Java, а в том, что она применяла собственный расширенный вариант этих спецификаций, но при этом называла его Java. То есть обвинения заключались в незаконном использовании торговой марки, а не стандарта. В чем же тогда отличие Java от .NET? В цели их создания. Java изначально была нацелена на поддержку многоплатформенности - как аппаратной, так и программной. Успех ее в середине прошлого десятилетия был во многом определен необходимостью консолидации сообщества поставщиков платформенного ПО перед растущей угрозой монополизма Windows. Что же касается .NET, то по своей сути это средство поддержки и продвижения одной ОС - Windows. |
Впрочем, в сильных позициях Java в ИТ-отрасли никто и не сомневался. Вопрос же заключается в другом: а зачем вообще нужен был перевод Java в статус Open Source, как это скажется на будущем технологии и бизнеса ее автора, Sun Microsystems? Тут есть о чем поразмышлять, хотя, конечно, более точные ответы мы сможем получить только по прошествии некоторого времени.
Основные вехи жизни Java
Вообще-то сам факт открытия кодов Java в первую очередь показал определенную условность самого деления софта на две категории - проприетарного (частная собственность, охраняемая авторским правом и патентами) и открытого (Open Source). Ведь сама Java являет собой пример объединения, казалось бы, несовместимого: будучи доступной в открытых кодах, она остается проприетарным стандартом, принадлежащим Sun.
Что же получит Java-сообщество от открытия платформы? По оценкам экспертов в этой области, реально использовать исходные коды системы в своих продуктах смогут лишь несколько сот разработчиков ПО во всем мире (другим это просто не нужно, да и не под силу - ведь речь идет о десятках миллионах строк кода). Хотя такая возможность пригодится и более широкому кругу программистов для оперативного решения проблем с отладкой Java-программ, в том числе при устранении обнаруженных ошибок. Не нужно сбрасывать со счетов и перспективу использования исходного кода в целях обучения программированию и, таким образом, более широкой популяризации Java как среди профессионалов, так и среди начинающих программистов.
Что же касается Sun, то тут нужно иметь в виду, что Java как таковая никогда не была для компании сколь-нибудь существенным источником доходов. Корпорация имеет в своем распоряжении мощный набор софтверных продуктов под общим названием Java Enterprise Systems, но доля продаж этого ПО в бизнесе Sun в целом не очень велика*1. На самом же деле главные дивиденды от Java компания получает в виде поддержки своего статуса автора технологии и лидера Java-сообщества. Собственно, весь процесс смещения Sun в сторону Open Source (речь тут идет не только о Java, но и о Solaris) представляет собой в значительной степени вынужденную меру в борьбе за сохранение лидирующих позиций на ИТ-рынке.
_____
*1 По оценкам экспертов (Sun не раскрывает структуру своих доходов), объем продаж всего софта корпорации не превышает 1 млрд. долл., т. е. 8% от всего бизнеса компании. Собственно Java-платформа как базовый набор занимает среди этого ПО не очень большую долю.
Но поможет ли это в борьбе с конкурентами из того же Java-сообщества? Ведь, с одной стороны, открытие кодов позволит существенно повысить авторитет Sun среди многочисленных приверженцев Open Source и даже снизить издержки (за счет привлечения ресурсов независимых разработчиков) на создание новых версий. А с другой - этот шаг действительно таит серьезную потенциальную угрозу для сохранения целостности стандарта и совместимости версий отдельных реализаций Java-машин.
Лори Толсон: “Пользователи
могут теперь выбирать между
возможностью получения
бесплатной платформы Java
и ее коммерческим вариантом,
подкрепленным гарантиями и
технической поддержкой
со стороны поставщика”
Тут нужно вспомнить, что Sun в последние пять лет имеет заметные проблемы с поддержкой и развитием своего бизнеса, что видно по финансовым итогам ее деятельности. По мнению некоторых аналитиков, во многом это вызвано как раз тем, что Sun в свое время, работая в соответствии со своей стратегией начала 90-х, явно просмотрела серьезные изменения на ИТ-рынке на рубеже столетий и не сумела вовремя скорректировать свою политику. К тому же она постоянно запаздывала с реализацией необходимых изменений - была не столько "локомотивом" процессов на рынке, сколько следовала как бы в фарватере внешних обстоятельств.
Вышла Java Platform Standard Edition 6 В декабре 2006-го Sun Microsystems объявила о выпуске новой версии платформы Java Standard Edition 6 (Java SE 6). Это событие стало результатом более чем двухлетней совместной деятельности отраслевых сообществ, включавшей открытые обсуждения, еженедельную сборку рабочих версий, сотрудничество инженеров Sun и 330 с лишним сторонних разработчиков. Программисты могут уже сейчас приступить к разработкам на базе Java SE 6, используя новую интегрированную среду NetBeans IDE 5.5. В Java SE 6 реализована полная поддержка технологии Web 2.0. Создание динамических приложений обеспечивается за счет включения новых сред и программных модулей с использованием языков PHP, Python, Ruby и JavaScript. Кроме того, Sun Microsystems создала набор интерпретаторов для реализации сценариев (scripting engines, см. http://scripting.dev.java.net) и ввела интерпретатор Rhino JavaScript в состав платформы Java SE 6. При этом Java SE 6 поддерживает новейшие спецификации Web-сервисов, такие как JAX-WS 2.0, JAXB 2.0, STAX и JAXP. В состав Java SE 6 входит расширенный набор инструментов управления приложениями, их диагностики и мониторинга. Для решения этих задач можно также использовать новый модуль NetBeans Profiler 5.5 и инструмент Solaris DTrace (комплексный механизм динамической трассировки, включенный в состав Solaris 10). Для ускорения визуального программирования интерактивных приложений Java SE 6 предлагает новые средства управления размещением компонентов на базе ПО NetBeans GUI Builder (кодовое название - проект Matisse). Для поддержки разработчиков, использующих платформу Java SE 6 или инструментарий Sun Developer Tools, предлагается ряд маркетинговых программ: Sun Developer Services, Sun Developer Expert Assistance, Sun Java MultiPlatform, JMP Support и Sun Developer Network (информацию о них можно найти на сайте http://developers.sun.com). Подробная информация и файлы Java SE 6 доступны для загрузки по адресу: http://java.sun.com/javase/6. Пакет NetBeans IDE можно загрузить в составе платформы Java SE 6 по адресу: http://java.sun.com/ javase/downloads - или отдельно: www.netbeans.org. |
Ведь если бы Sun открыла свою Solaris еще лет десять назад, то, возможно, именно ее OC занимала бы сегодня позиции, которые принадлежат Linux. А если бы компания своевременно начала выпуск x86-компьютеров, то скорее всего смогла бы получить более высокое место в рейтинге поставщиков серверов...
На прошедшем в Москве заседании круглого стола завязалась любопытная частная дискуссия о возможностях моделирования бизнеса и предсказания на этой основе последствий тех или иных шагов компаний. Сошлись на том, что, несмотря на достижения экономических наук и математики, вряд ли можно построить адекватные модели для деятельности предприятий и что развитие тут идет не столько на базе научных расчетов, сколько по методу проб и ошибок. Как следствие, решили, что предугадать сегодня последствия открытия кодов Java вряд ли возможно и нужно просто внимательнее следить за развитием ситуации в этой сфере.