Журнал «Компьютерра» N 45 от 05 декабря 2006 года
Шрифт:
СОФТЕРРА: Слишком много солнца: почему Sun освободила Java
Автор: Константин Курбатов
Sun открыла коды платформы Java под GPL v2. Это событие не стало слишком большой неожиданностью для специалистов; в Маунтин-Вью лишь колебались между вариантами «открытых» лицензий. И в конце концов решили, что чем свободнее, тем лучше.
Это не первый случай, когда крупная компания вдруг отдает свои ранее оберегавшиеся пуще секрета кока-колы проекты в свободное плаванье. Невольно возникает вопрос, каковы же корни нарождающегося процесса, метко названного англоязычными журналистами термином «GPL-ing»? Sun выбирала между CDDL (Common Development and Distribution License),
«КТ» уже писала об особенностях GPL [offline.computerra.ru/2006/641/272338], ключевое требование этой лицензии состоит в том, что любые исправления или дополнения исходного кода должны быть доступны для использования всеми желающими, причем бесплатно. Это условие создает систему, в которой разработчики, реализовывая для своих нужд те или иные функции, тем самым развивают и сам проект.
Но почему Sun, на протяжении многих лет успешно продвигая язык, неожиданно отдала его «в хорошие руки»?
Блоггеры, из числа разработчиков, уже вовсю начали рассуждать о том, что очередная инициатива солнечной компании озарит независимыми реализациями виртуальных машин разномастные экзотические гаджеты и «странные операционные системы». А заняться этим должны разработчики этих чудес, заинтересованные в переносе существующих Java-приложений на созданные ими устройства. С другой стороны, говорят об известном противостоянии между «настоящей» Java и виртуальной машиной, реализованной компанией Microsoft, вылившемеся в конце 1997 года в судебный спор, который завершился в апреле 2004 года снятием соответствующего лого с редмондской версии и выплатой истцу почти 2 млрд. долларов. Но и здесь вряд ли можно говорить об изменении ситуации, так как открытие кодов не мешает Microsoft все так же выпускать «улучшенные» варианты Java, законопослушно публикуя исходные коды. И большинство пользователей вряд ли озаботятся скачиванием многомегабайтного оригинального дистрибутива производства Sun, ограничиваясь встроенными средствами. В результате двойственность ситуации сохранится и дальше: Java в Windows по умолчанию вроде как есть, но и лого «настоящего напитка» ей никто не дает. Это несколько сдержит независимое развитие Java-платформы на Windows: раз и «правильная» версия от Sun существует, то маловероятно, что кто-то начнет писать свою собственную, за исключением варианта, если вдруг найдется какая-нибудь грубая ошибка, исправление которой сулит скачок в быстродействии.
Главное, о чем сейчас беспокоится виновник событий, чтобы версии не расползлись по рукавам, подобно дистрибутивам Linux, распыляя усилия энтузиастов и заставляя их заново решать одни и те же задачи для разных реализаций. Поэтому Sun продолжает управлять процессом и обещает зорко следить за совместимостью сторонних разработок, сохранив институт сертификации. Той же цели служит и программа Java community process, где сообщество ведущих разработчиков и владельцев патентов направляет дальнейшее развитие спецификаций.
Большинство активных участников процесса полагают, что результаты изменения лицензионной политики можно ожидать уже через полгода, когда первые независимые реализации уже должны закончить процедуру сертификации.
Конечно, сейчас стал
Не секрет, что реализации 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.