Слишком много солнца: почему Sun освободила Java

Автор: Константин Курбатов
Опубликовано в журнале "Компьютерра" №45 от 07 декабря 2006 года

Sun открыла коды платформы Java под GPL v2. Это событие не стало слишком большой неожиданностью для специалистов; в Маунтин-Вью лишь колебались между вариантами "открытых" лицензий. И в конце концов решили, что чем свободнее, тем лучше.

Это не первый случай, когда крупная компания вдруг отдает свои ранее оберегавшиеся пуще секрета кока-колы проекты в свободное плаванье. Невольно возникает вопрос, каковы же корни нарождающегося процесса, метко названного англоязычными журналистами термином "GPL-ing"? Sun выбирала между CDDL (Common Development and Distribution License), ограничивающей разработчиков в использовании открытого кода в других, особенно open source проектах, и GPL (GNU Public License), которая позволяет создавать на основе Java свои разработки. В итоге была выбрана последняя, более либеральная. Некоторые комментаторы тут же поспешили заявить, что открытие Java - всего лишь ловкий рекламный ход, дескать, где Java была нужна, там она уже есть. Но нельзя забывать, что Java, будучи проприетарным продуктом, не могла быть включена в большинство дистрибутивов Linux. Ее необходимо было доустанавливать отдельно, вручную принимая условия лицензии. Но действительно, нельзя не признать мощный пиар-эффект этого решения. О нем сообщили почти все IT-новостные агентства. Да и зачем далеко ходить, и этот текст появился во многом благодаря столь удачному информационному поводу.

"КТ" уже писала об особенностях 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, где сообщество ведущих разработчиков и владельцев патентов направляет дальнейшее развитие спецификаций.

Большинство активных участников процесса полагают, что результаты изменения лицензионной политики можно ожидать уже через полгода, когда первые независимые реализации уже должны закончить процедуру сертификации.

Кофе в пакетиках

Конечно, сейчас стал возможен вариант, когда 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 или серверных приложений. Для любой платформы самое главное - ее распространенность, а не функциональность. И здесь статус свободы и открытости кода оказывается чрезвычайно продуктивным. В современном мире сложность систем настолько высока, что наращивать мощность платформы удается значительно быстрее, если привлечь для этого сторонних разработчиков.

Энергетические напитки

Известно, что компания, которая контролирует процесс разработки, может жить на сервисе вокруг этого. И самый яркий пример подобного рода бизнеса демонстрирует компания RedHat, которая неплохо зарабатывает на поддержке свой абсолютно бесплатной операционной системы.
В свою очередь, Sun - один из крупнейших мировых поставщиков серверных систем. Создав армию разработчиков, работающих на ее программных технологиях, она может рассчитывать и на определенные преимущества, продавая свои аппаратные платформы. Ориентируясь на рынок Web 2.0, компания старается как можно обильнее удобрять технологическую почву, на которой взрастут ее будущие покупатели. В одном из своих Интервью Скот Макнили признался: "если вы занимаетесь созданием программ с открытыми исходными текстами и при этом не переходите на модель бесплатного распространения своих программных продуктов, это очень сильно ограничивает масштаб сообщества ваших заказчиков. Гораздо проще добиться результатов труда в виде материального вознаграждения, работая с большой и разветвленной аудиторией, вместо того чтобы пытаться выудить эти деньги из малой обособленной группы клиентов."

По единогласному мнению опрошенных мною экспертов, сейчас в мире происходит плавное смещение бизнес-модели IT-компаний с продуктовой, когда поставляется готовое решение "под ключ", на сервисную, где продаются услуги по внедрению и поддержке ПО, реализующего необходимые пользователю сервисы.

Способы заработка на программном обеспечении можно разделить на две схемы. Первая - лицензионная, когда у компании имеется большое количество собственных разработчиков, на содержание которых расходуются огромные средства. Эти деньги возвращаются лишь за счет дороговизны лицензий, которая может иметь место лишь при отсутствии конкуренции, технология должна быть при этом надежно защищена патентами или сложна для повторения. Вторая схема - сервисная, в этом случае сама по себе технология доступна всем, а пользователи платят за предоставляемый не ее основе сервис. Но при этом на рынке присутствует жесткая конкуренция, становится чрезвычайно важными сокращение издержек и активное привлечение новых потребителей сервиса.

В этом случае, согласно любопытному замечанию Александра Галицкого, возрастает значение такой эфемерной сущности, как брэнд, когда "услуги одной компании не отличаются от услуг другой и выбор пользователя оказывается в большей степени эмоциональным". Это уже случилось на рынке жидкокристаллических дисплеев: большинство покупателей в первую очередь выбирают брэнд, затем дизайн, но мало кто накануне читает многостраничные сравнительные обзоры. Аналогичным образом сейчас уже довольно трудно выделить какой-либо почтовый веб-сервис или хостинг с технологической точки зрения. Можно, например, утверждать, что Google уже стал таким брэндом [Об этом говорит хотя бы появление слова "гуглить"].

Это можно объяснить множеством причин, но главной считают заполнение веб-пространства непрофессиональными IT-пользователями, которым нужны исключительно сами сервисы, будь то онлайн-игры или музыкальный магазин. Уже стало не обязательным связываться c местной телефонной компанией, чтобы позвонить приятелю в Благовещенск или в Чжуань-чжоу, достаточно воспользоваться Skype-сервисом. Ранее спрос на IT-продукты поддерживался профессионалами, которые с их помощью предоставляли сервисы обычным людям. Сейчас, чтобы получить доступ к услуге, посредники, за исключением интернет-провайдера, становятся уже не нужны.

Как показали финансовые отчеты Google и iTunes, сервисная модель оказалась необычайно прибыльной. Поэтому аналитики предсказывают многократный рост рынка различных веб-сервисов. И для этого компаниям необходимы быстрые, желательно универсальные технологии, позволяющие получать доступ к сервисам в любой момент. И здесь, по мнению Sun, достоинства Java как аппаратно-независимой платформы проявляются особенно ярко.

Быстрорастворимый кофе

В условиях когда у людей в развитых странах уже по несколько компьютеров, остро встала потребность в синхронизации данных. Когда все ограничивалось Windows - особых проблем не возникало. И Microsoft всячески старается сохранить эту ситуацию, создавая различные воплощения своей операционной системы. Но в сегодняшнем мире о единообразии уже остается только мечтать. Есть немало людей, которые, работая на PC, в качестве домашнего компьютера выбрали ноутбук Apple, а в командировке зачастую ограничиваются КПК. Эту проблему легко решить централизованным хранением информации, но принципиально важно, чтобы доступ обеспечивался с любого терминала. И с этой точки зрения свободная Java очень важна.

Многие разработчики признают, что сервисные платформы могут оставаться платными. Ведь никого не удивляет, что гаечные ключи и приборы продаются в магазинах, а не раздаются бесплатно. При этом консультации в агентстве недвижимости обычно бесплатные. Так и Sun продает серверы, ориентируя свой бизнес на сервисные компании, предлагая при этом бесплатные консультации Java-разработчикам. Поощряя их, корпорация расширяет круг потенциальных клиентов сервисных компаний, рассчитывая вернуть деньги на продаже им своего оборудования.

Microsoft, очевидно, сконцентрировала свои усилия в ином направлении. С одной стороны, она загоняет разработчиков c помощью .NET в Windows, предоставляя им в обмен на лояльность очень мощную информационную поддержку (работая с прессой, издавая книги, организовывая курсы, публикуя информацию в Сети). С другой стороны, компания выпускает несколько вариантов Windows, сосредоточившись на самых прибыльных направлениях - корпоративном секторе и мобильных устройствах.

100% арабика

Итак, наметившееся в IT-индустрии массовое "освобождение" кодов объясняется отнюдь не проснувшейся совестью крупных корпораций. Компании Нового Веба доказали, что бесплатно - не значит не выгодно. Фактически изменилась идеология софтверного бизнеса, сегодня уже не только эстонские стартапы, но вполне крупные компании нацеливаются на построение сервисных схем. И на начальном этапе им намного важнее подстегивать развитие технологических платформ, на базе которых будут строится сервисы, нежели получать доход от продажи копий своих программных решений. "Копии" хороши были раньше, когда софтверные рынки только возникали, и изобретение новой технологии позволяло некоторое время понежиться в роли монополиста.

Сейчас уже нет того потока технологических новинок, который наблюдался в середине 90-х, а возникающие подозрительно быстро появляются в версии "Мэйд ин Чайна". Зачастую они производятся с минимальными лицензионными отчислениями, либо абсолютно пиратским образом. И крупные инновационные компании вынуждены постепенно переориентироваться на рынок услуг, где первостепенное значение имеет размер. Поэтому постоянное развитие, широта распространения и стабильность технологической платформы оказываются ее определяющей характеристикой, а ее подведение под требования GPL оказывается дешевым и эффективным путем достижения цели. На наших глазах происходит борьба между Sun и Microsoft за право предоставить технологическую платформу будущему огромному рынку сервисных услуг. Но скорее всего это превратится в извечное "Coca-Cola против Pepsi", "блондинки против брюнеток", где выбор происходит на уровне эмоций.


<<Блог
Все материалы номера
Вымя быка >>