25.01.2007

Java стала open source

Многие крупные коммерческие компании уже давно заявили о своей поддержке open source.

Это и производители оборудования, такие как IBM, HP, Dell, Fujitsu, NEC, Intel, Sun, Acer, Kraftway. Эти компании разрабатывают драйвера для Linux, тестируют свои системы на совместимость с Linux и сертифицируют их. О поддержке Linux объявляли и разработчики коммерческого программного обеспечения: IBM, Oracle, BEA, Vmware и многие другие.

Но недавно произошло еще одно событие, которое позволяют говорить о новом этапе распространения open source.

Компания Sun открыла исходные тексты Java. Спустя 11 лет после своего появления Java стала открытой. Это очень большой шаг вперед для open source. Java уже давно стала стандартом и среди больших корпораций, и компаний-разработчиков, и независимых программистов. Теперь Java стала открытой. Сегодня можно использовать Java-приложения с Linux, не задумываясь о вопросах совместимости лицензий.

После заявления Sun возникло много споров и обсуждений, что станет после этого шага с Java. Основную проблему многие видели в том, что Sun выбрал для Java лицензию GPL, основную лицензию Linux. У этой этой лицензии есть одна особенность – она «заразная». Если разработчик использует в своем проекте компоненты, лицензированные по GPL, то итоговый продукт также должен быть лицензирован по GPL, следовательно, быть открытым. Многим разработчикам не понравилась идея открывать код своих продуктов, основанных на Java.

На самом деле Sun подумал о возможных проблемах и лицензировал Java достаточно гибко. Ситуация на сегодняшний день следующая:

  • Java SE имеет два варианта лицензии: GPLv2+E (т.е. вторая редакция GPL с исключениями) и коммерческую лицензию
  • Java ME имеет два варианта лицензии: GPLv2 (без исключений) и коммерческую лицензию
  • Java EE имеет три варианта лицензии: GPLv2+E, CDDL (нынешний вариант) и коммерческую лицензию

GPLv2+E соответствует второй редакции GPL, но с исключенным пунктом про «заразность».

Наиболее интересен здесь факт, что для Java ME нет варианта лицензии GPLv2+E. Так как в мобильных телефонах и подобных устройствах используется именно Java ME, то производители телефонов оказываются в ситуации, когда им приходится выбирать: либо продолжать платить за коммерческую версию Java, либо переходить на открытую Java, но при этом необходимо будет открыть исходные тексты своих приложений.

Что выберут производители телефонов: сохранить свои секреты или перейти на открытую Java и снизить за счет этого цену? Время покажет.

Но сообщество open source от открытия Java в любом случае выиграло.

Комментариев нет: