
Путь Java в «настоящий open source» был долгим и не сказать, чтобы прямым. Открыть исходники сановцев просили многие и по разным причинам - простые разработчики не хотели «класть все яйца в одну корзину» (писать на языке, судьба которого в руках одной корпорации); создатели дистрибутивов Linux не могли включать в свои творения проприетарный продукт; кто-то хотел модифицировать виртуальную машину языка для своих целей; а Ричард Столлман просто призывал к «освобождению всех программ». Чтобы задобрить радетелей открытости, Sun в разное время предпринимала множество всяческих шагов, вроде открытия исходников под так называемой Java Research License (исходники доступны, их можно изучать, но нельзя использовать) или введения особой лицензии для создателей Linux-дистрибутивов (Distro License for Java). Все понимали, что это лишь полумеры, но на то, чтобы «отпустить» Java в открытое плавание, Sun не решалась очень долго. Декларируемая причина такой нерешительности - боязнь «fork», ответвлений (нередки для открытых проектов), которые привели бы к созданию не полностью совместимых версий JVM, «общему разброду и шатанию».
Впрочем, сегодня Sun смотрит в будущее с оптимизмом - для открытой-таки Джавы выбрана лицензия GPL, которая требует, чтобы любые изменения, внесенные в исходники под такой лицензией, лицензировались так же (то есть были открыты и общедоступны). Сановцы надеются, что GPL поможет им избежать «разветвления» - ведь код любой «альтернативной виртуальной машины» может быть возвращен обратно в «родную», это гарантируется лицензией. Правда, в сановское «толкование» GPL внесены некоторые коррективы. Во-первых, при определенных условиях (если в поставку программы включается полный набор библиотек и виртуальная машина) код своих «производных» можно не открывать (независимые модули, линкующиеся с библиотеками Java, не являются «производными работами» и на них не распространяются требования GPL по лицензированию). Для некоторых разработчиков коммерческого Java-софта это важно. Во-вторых, Java Open Source использует версию 2 лицензии GPL, но в Sun не намерены впоследствии (как рекомендовано) переходить на GPLv3. Это связано с неоднозначной репутацией последней, намного более жесткой по требованиям «антикопирайтности».
