Sun обещает открыть исходные коды следующей версии Java

В этом году технологии Java исполнилось десять лет — впервые она была представлена 23 мая 1995 на выставке SunWorld Expo?95. Первоначально получить все необходимое для разработки Java-программы можно было бесплатно, однако для того, чтобы продвигать разработки, требовалось разрешение от Sun. К тому же коды Java-машины были закрыты.

На тот момент такой метод распространения технологии был приемлем. В частности, именно так распространялись браузеры Netscape и Internet Explorer. Технология Java встраивалась в браузеры и придавала статичным страницам Internet определенную интерактивность. А популярность Linux с его культурой свободно распространяемых программ, поставляемых вместе с исходными текстами, в то время была еще довольно невысока.

Реджинальд Хатчерсон: «Я не знаю, где будет применяться Java через пять-десять лет, как не мог предположить пять лет назад, что она будет использоваться в марсоходе»

В 1999 году Sun выпустила версию Java 1.2, которая была названа второй и имела три спецификации: серверная — Java 2 Enterprise Edition (J2EE), клиентская — Java 2 Standard Edition (J2SE) и мобильная Java 2 Micro Edition (J2ME). J2EE применялась для разработки Web-приложений, J2SE — для создания многоплатформенных приложений, а J2ME — для разработки приложений для персональных устройств, таких как мобильные телефоны и КПК. После этого Sun выпустила еще три версии Java — третью, четвертую и пятую. Последняя появилась в прошлом году и получила кодовое имя Tiger. Совершенствование шло в основном в библиотеках, упрощениях в языке и увеличение скорости работы среды исполнения. При этом специалисты Sun стремились сохранить обратную совместимость с популярной спецификацией Java 2.

В настоящее время отсутствие исходных текстов для Java-машины является фактором, сдерживающим развитие Java-проектов. Часто Java применяют в серверных проектах, где в качестве платформы используется Linux или один из вариантов открытого BSD, а в качестве сервера — Apache с одной из свободно распространяемых Servlet-машин, часть спецификации J2EE. Не до конца свободным компонентом здесь является только сама Java. Именно поэтому Apache Foundation — фонд, поддерживающий разработку Apache и других средств создания Web-приложений, — объявил о начале проекта открытой платформы Java.

Однако и Sun, активно развивающая Java, понимает важность открытых исходных текстов. Правда, пока Sun не торопится открывать коды текущей, пятой версии Java, но обещает сделать это для следующей, шестой. При этом компания не намерена терять контроль разработки технологии и будет открывать исходные тексты в рамках Java Community Process (JCP). К тому же Sun собирается контролировать с помощью JCP развитие и других проектов Java-машин, чтобы обеспечить их совместимость между собой.

Собственно, работа над новой версией начата уже в марте — на сайте JCP прошло голосование по спецификации JSR 270, которая в общих чертах определяет шестую версию Java с кодовым названием Mustang. Также опубликованы исходные коды Mustang под лицензией Java Research License (JRL), которая специально разработана Sun для ознакомления с исходными текстами. JRL позволяет откомпилировать Mustang, но вносить изменения и распространять его можно только под коммерческой лицензией.

В новой версии Java также будет меняться базовый язык, в который войдут элементы других языков, в том числе Си и С++. Еще одной особенностью Java 6 будет взаимодействие с аналогичными продуктами Microsoft. В частности, Sun и Microsoft достигли соглашения, в рамках которого Java будет поддерживать такие продукты как .Net, Microsoft Office, Active Directory и другие. В будущем же Sun совместно с Microsoft собираются разработать единую технологию.