Журнал «Компьютерра» № 45 от 05 декабря 2006 года
Шрифт:
Главное, о чем сейчас беспокоится виновник событий, чтобы версии не расползлись по рукавам, подобно дистрибутивам Linux, распыляя усилия энтузиастов и заставляя их заново решать одни и те же задачи для разных реализаций. Поэтому Sun продолжает управлять процессом и обещает зорко следить за совместимостью сторонних разработок, сохранив институт сертификации. Той же цели служит и программа Java community process, где сообщество ведущих разработчиков и владельцев патентов направляет дальнейшее развитие спецификаций.
Большинство активных участников процесса полагают, что результаты изменения
Конечно, сейчас стал возможен вариант, когда Nokia выпустит свою версию Java, а, например, Sony Ericsson — свою, таким образом привязывая пользователей к специфической платформе. Но вряд ли производители готовы на это; стандартизация позволяет легко переманивать пользователей из стана заклятых коллег по рынку. В условиях существующей сегодня острой конкуренции это принципиально важно. Более вероятен вариант, что разработчики мобильных систем возьмутся оптимизировать виртуальную машину Java под себя. Но теперь им придётся тратить собственные ресурсы, собирая собственную команду программистов, которая будет пытаться построить виртуальную Java-машину чуть быстрее, чем у конкурентов, сохраняя совместимость со спецификациями.
Не секрет, что реализации Java на различных мобильных платформах имеют свои специфические проблемы. Решениям этих проблем посвящены многостраничные обсуждения на форумах разработчиков, а их доскональное знание позволяет «мобильному» Java-программисту буквально ногами распахивать двери работодателей. Именно эта специфика заставляет разработчиков приложений для мобильников тщательно тестировать все свои приложения (и в частности игры) буквально для каждой выпускающейся модели телефонов, постоянно исправляя выползающие специфические баги. Оказывается, что прекрасно зарекомендовавшее себя решение вдруг перестаёт работать уже на следующей модели мобильного телефона.
Кроме того, по свидетельству Михаила Браво, эксперта компании i-Free, «производители Java-приложений, и в первую очередь Java-игр, вынуждены постоянно учитывать имеющиеся различия в расположении кнопок, разрешении экранов и количестве цветов. Поэтому кроме поддержки общего духовного энтузиазма эти люди вряд ли будут готовы связываться ещё и с работой по улучшению кода Java-машины…» С ним согласен и Дмитрий Люст из G5 Mobile, «открытие исходных кодов Java к разработчикам мобильных развлечений имеет лишь косвенное отношение. Дело в том, что мы выступаем здесь скорее в роли наблюдателей, и пока непонятно, какие дивиденды может принести подобное решение миру мобильных игр.»
Зато теперь решение этих проблем могут взять на себя производители телефонов, отлаживая реализацию виртуальной машины самостоятельно и добиваясь полной Java-совместимости между всеми своими моделями. Так они могут перетянуть к себе большее количество пользователей быстрорастущего рынка VAS (см. центральный материал этого номера), которые должны оценить возможность переноса игр и других Java-приложений при обновлении модели телефона. А удешевление процесса разработки за счёт уменьшения периода тестирования должно несколько снизить и конечную цену приложений.
Если оглянуться назад, то окажется, что это не первый опыт открытия кодов дорогих проектов. Можно вспомнить выпуск открытой бесплатной версии СУБД InterBase, из которой потом проросла FireBird, или игру Quake III Arena, которую id Software выпустила под GNU GPL буквально на следующий год после выхода на рынок (но при желании использовать её мощный движок в проприетарных продуктах необходимо покупать специальную лицензию). Обычно компании рассчитывают либо на поиск энтузиастами ошибок в коде, либо на расширение функциональности и распространение продукта силами энтузиастов.
Уже много лет в различных изданиях полемизируют о возможностях заработка на бесплатном софте, и пока журналисты перемывали этой стратегии косточки, для многих гигантов мировой IT-индустрии она уже стала основной. Компания IBM, одной рукой планомерно избавляясь от своих производственных подразделений, другой — свободно раздаёт и свои программные наработки. Но не стоит начинать рассуждения о наступившем коммунизме в отдельно взятой отрасли. Совершенно очевидно, что бесплатное программное обеспечение — это просто сорт сыра в новой модели мышеловки. Заманивая клиентов под бесплатные знамёна, компания-разработчик получает в своё распоряжение «тёпленьких» клиентов, которых в этой самой мышеловке надо комфортно разместить, показать, где находятся удобства, а куда ходить не следует. Все это — за скромное вознаграждение, которое позволяет подразделению Global Services приносить более половины многомиллиардного годового дохода IBM.
Другая положительная сторона свободного кода — это реализация программной технологии на большем количестве аппаратных устройств. Это особенно ценно для экзотических платформ, где крупным компаниям заниматься внедрением просто невыгодно или где используются закрытые (например секретные) технологии. Зачастую и сами разработчики таких систем заинтересованы в портировании. Поэтому сейчас очень часто можно встретить безымянные китайские MP3-плейеры или смартфоны, работающие под управлением Linux.
По мнению Александра Галицкого, известного инвестора и предпринимателя, «Sun должна была открыть свои коды намного раньше». Действительно, главное достоинство технологии Java — её универсальность, и корпорация заинтересована в реализации виртуальной машины на как можно большем количестве аппаратных платформ. На самой заре, когда язык только-только появился, компания даже подавала документы на регистрацию промышленного стандарта. Но потом передумала, справедливо рассудив, что до момента преодоления точки «невозврата» лучше полный контроль над процессом сохранить за собой.
Можно утверждать, что для Sun это намного более важное событие, нежели открытие кодов операционных систем Solaris или серверных приложений. Для любой платформы самое главное — её распространённость, а не функциональность. И здесь статус свободы и открытости кода оказывается чрезвычайно продуктивным. В современном мире сложность систем настолько высока, что наращивать мощность платформы удаётся значительно быстрее, если привлечь для этого сторонних разработчиков.