Это не первый случай, когда крупная компания вдруг отдаёт свои ранее оберегавшиеся пуще секрета кока-колы проекты в свободное плаванье. Невольно возникает вопрос, каковы же корни нарождающегося процесса, метко названного англоязычными журналистами термином «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-машину чуть быстрее, чем у конкурентов, сохраняя совместимость со спецификациями.