JavaTech Chat - Рич Шарплес об OpenJDK (продолжение)


Продолжение перевода интервью с директором Red Hat по управлению продуктами в сфере программных платформ и разработки Ричем Шарплесом. Начало.

DZone: Почему проект IcedTea все еще необходим сегодня?

Рич: Большинство лицензионных ограничений на использование определенных участков кода в OpenJDK были устранены Sun'ом и другими участниками сообщества. Но кое-что все таки осталось, так что IcedTea все еще необходим, например, Web Start и плагин для браузера, которые не входят в основную часть спецификации Java JDK. И не смотря на то, что эти вещи не являются частью основного стандарта, они идут в составе J2SE реализации, поэтому мы должны заменить их на свои.

Между прочим, я думаю что именно проект IcedTea сделал OpenJDK ключевым для Linux. Все дистрибутивы используют сборки из IcedTea для того чтобы получить по-настоящему свободную и открытую реализацию Java.

DZone: Почему Java и Java TCK совместимость настолько важна?

Рич: Когда мы впервые определяли объем работы с OpenJDK, то желали добиться абсолютной совместимости. Потому, что, я думаю, рынок нашей релизации был бы очень и очень ограничен, если бы она отличалась от других. Мы запускаем TCK для всех наших сборок. Это довольно большая обуза; и вовсе не увлекающая и забавная работа. Но мы знаем, что это очень очень важно. Первоначально, OpenJDK распространявшийся с Fedora был в действительности основан на кодовой базе JDK7, поэтому много работы ушло на реализацию поддержки OpenJDK 6. Поэтому были естественными постоянные запуски TCK тестов для поддержания уверености в том, что все делается правильно.

И мы продолжали эту деятельность. Как уже было сказано, Red Hat было бы не на что надеяться при распространении своей реализации Java, если бы она не работала так как остальные.

DZone: Как вы считаете, повлияло ли принятие Java в сообщесте Linux на решение Sun открыть исходный код Java раньше, чем они планировали в начале?

Рич: Да. Я думаю, что у Sun не осталось выбора. Думаю, они отреагировали на появление Apache Harmony, на работу, сделанную в ClassPath и других проектах. Они увидели, что скоро появится альтернативная, свободная Java, от появления которой Sun пострадает в той или иной мере. Поэтому я считаю, что их решение было вынужденное, и я думаю, что даже немного запоздалое. До своего прихода в Red Hat полтора года назад, я был в Sun. Я пил Kool-Aid и верил, что Java уже достаточно открыта. Так было решено открытым консорциумом компаний, JCP. Код стал абсолютно открытым для академического использования и некоторых лицензиатов.

Но потом, когда я пришел в Red Hat и начал говорить с некоторыми знатоками Linux, стало ясно, что Java действительно упустила очень большие возможности. Есть большое число пользователей, которые просто не видят привлекательности Java по сравнению с тем же PHP, например.

Я знаю, что сравнивать их некоректно, это языки разного уровня, но PHP, это технология, которая была принята в сообществе Linux очень быстро и решительно. Потому что она была частью основной платформы. Я считаю, что принятие OpenJDK очень сильно отличалось бы в лучшую сторону, если бы код Java был открыт пять или шесть лет назад.

Тем не менее, я не думаю, что OpenJDK опоздал. Проект был очень хорошо встречен. Я считаю, что работа, которую проделали в Red Hat, была сделана благодаря мощной поддержке Linux-сообщества. Ни в коем случае я не считаю, что уже слишком поздно. Я думаю, что мы еще можем сделать Java основной частью экосистемы Linux.

DZone: Не волнуетесь ли вы, что после приобретения Sun'а Oracle'ом возможны какие-то изменения в лицензировании OpenJDK и управлении проектом?

Рич: Нет, я абсолютно спокоен по этому поводу. У людей есть разные предположения о дальнейших действиях Oracle, но я считаю, что ничего страшного не произойдет. Oracle слишком многое потеряет, если будет, случайно или намеренно, противодействовать работе над OpenJDK. У них очень большая часть бизнеса основана на Java. Создание неразберихи, недоверия или фрагментации в сообществе Java, не в интересах Oracle. Поэтому я уверен, что никаких изменений в лицензировании не будет. Кроме того, я думаю, что у Oracle есть возможность инвестировать больше средств в Java, чем было у Sun, по крайней мере, в течение последних пяти лет. У Sun были некоторые финансовые проблемы. Я думаю, что и они, помимо всего прочего, мешали продвижению Java за последние пять лет.

В целом, я отношусь к ситуации нейтрально или даже слегка оптимистично. Если что-то пойдет наперекосяк, я уверен, что Red Hat и другие участники сообщества Java поддержат Oracle и помогут им найти верный путь. Поэтому, да, я спокоен.

DZone: Можете ли вы рассказать о каких-то работах, которые идут над OpenJDK 7?

Рич: Да. Пока все идет очень хорошо. Я уверен, что первые завершенные версии, будут представлены в начале 2010 года. Мне известно, что сообщества OpenJDK и IcedTea тесно сотрудничают. И как вы можете заметить, изменения внесенные командой OpenJDK синхронизируются с IcedTea. Так что эти два проекта работают вместе гармонично и слаженно. Их сообщества очень и очень сильно связаны. Эндрю Хелей (Andrew Haley), технический руководитель IcedTea, входит во временный совет управления OpenJDK. Эти два проекта идут нога в ногу. И я думаю, что с приходом 2010 года станет заметно легкое снижение популярности Java, но мы приложим все свои силы для её распространения.

Я полагаю, что уже есть сборки, доступные с OpenJDK и IcedTea на основании кода OpenJDK, так что процесс идет.

DZone: Ряд последних изменений в JVM — это поддержка множества языков программирования. Что уже сделано для поддержки динамических языков в OpenJDK?

Рич: Да, кое-что появляется в J2SE 6, и будет сделано еще больше в J2SE 7. И считаю это большим шагом. Этому пути развития уделялось внимание последние 4 или 5 лет. Данная тенденция изучалась мной еще во время работы в Sun. И я считаю это великолепной идеей для Java платформы, а так же для тех разработчиков, которые рвутся использовать скриптовые языки. Это даст им возможность программирования на желаемом языке для платформы Java.

На пример, мы кое-что сделали для работы с Ruby в JBoss, чтобы показать проделанную работу, а так же возможность подключить полноценный Ruby-класс со всеми возможностями, доступными корпоративному классу на сервере Java-приложений, а так же некоторые сервисы, вроде транзакций, кластеризации и восстановления после отказов. Итак, я считаю, что это частичка совершенства, и безумно рад тому, что это часть пути развития Java.

DZone: Идут ли какие-либо работы, для улучшения модульности в седьмом релизе OpenJDK, и над проектом Jigsaw? Можете ли вы рассказать об этом немного подробнее?

Рич: Это большой вопрос, обсуждения которого длятся уже пару лет. С одной стороны у нас есть OSGI, которая имеет некоторую популярность на портативных устройствах и еще большую в корпоративном секторе. Так же у нас была пара JSR созданных специально для решения модульности на платформе Java, которые стали реализовываться в различных формах. Но в последнее время работа идет не столько в JCP, сколько внутри самой OpenJDK. Поэтому я считаю, будет очень интересно увидеть то, что из этого получится.

Мы, безусловно, заинтересованы в использовании Java с JBoss в корпоративном секторе, где уже имеем инвестиции в OSGI; мы хеджируем наши ставки на модульность; нам известно, что существует несколько альтернатив. Наша надежда — это микроконтейнер, предоставляющий довольно низкий уровень реализации, призванный адаптироваться и адаптировать любые модульные системы, в которых мы нуждаемся.

Итак, надеюсь, наши обдуманно сделанные ставки оправдаются.

DZone: Если я использую JBoss, какие выгоды можно получить от применения OpenJDK c Fedora или Ubuntu?

Рич: Для обеспечения хорошей производительности требуется много времени. Мы очень рады тому, что можем влиять на производительность всей системы. У нас есть люди задействованные в оптимизации стека программ в целом. Ярким примером является связка JBoss с OpenJDK на Red Hat Enterprise Linux. Я действительно смотрю производительность в целом. Я уверен, что это позволяет нам находить большие слабоуправляемые «арбузы» в наших системах. Такое могло быть, например, с сетевым вводом/выводом. Но мы не публиковали слишком много информации подобного рода и не предоставляли никаких цифр. Но работа идет — идет на заднем плане, где наши люди используют всевозможные тесты для её контроля. И мы очень рады тому, что можем претворять наши идеи в жизнь на этом фронте оптимизации.

Я думаю, с самого начала был огромный интерес в наращивании производительности, т.к. поставляемый OpenJDK, который распространялся с Fedora и RHEL, уже имел превосходство в этом плане над JDK от Sun. Но я считаю, что это было в большей степени случайностью, т.к. использовались более поздние версии некоторых компонентов вроде HotSpot.

Я считаю, что целью включения OpenJDK в состав Fedora и RHEL, а также некоторых других дистрибутивов, является показать всем, что мы держимся на равных с другими реализациями JDK.

Я думаю, через пару лет будет заметен рост производительности, т.к. мы начинаем видеть пути оптимизации. Оптимизации довольно интересными способами.

DZone: Red Hat много работет в сфере виртуализации. Как Вы видите влияние этого на эволюцию Java как платформы?

Рич: Это довольно интересный вопрос. Традиционно для Java, мы предполагали, что решили ряд очень важных проблем связанных с выделением ресурсов, например, при их повторном использовании, создав тем самым условия для непрерывной работы. Но я думаю, если Вы оглянетесь назад, то увидите технологии, с которыми нам приходилось «играть». Когда я смотрю изнутри на некоторые компоненты систем виртуализации, что имеются в Red Hat, то чувствую уверенность в том, что мы сможем решить такие же проблемы способами более и более лучшими. Я уверен, что это будет очень интересной работой. Мы просто объединим идеи виртуальной машины Java с виртуальной операционной системой. Некоторые вещи за счет образов рециркуляции (recycling images) (WTF? — прим. перев.). В этой области очень много интересной работы и замечательных идей, которые мы надеемся реализовать в будущем.

DZone: Рич, есть ли у Вас какие-нибудь слова на последок для DZone?

Рич: Да. Просто не теряйте из вида проект OpenJDK. Компания Sun сделала большое дело и я думаю, что оно нуждается в поддержке. Люди нуждались в свободной реализации Java. И они получили очень много. Так давайте поддержим происходящее, примем участие. Если вы не знаете об OpenJDK, посетите веб-сайт, взгляните и посмотрите, есть ли способ помочь проекту.

DZone: Спасибо за предоставленное нам время, Рич.

Рич: Спасибо Вам.

http://translated.by/you/tech-chat-rich-sharples-on-openjdk/into-en/trans/
Original (English): Tech Chat — Rich Sharples on OpenJDK (http://java.dzone.com/videos/tech-chat-rich-sharples)
Translation: © ha7y (1347 points), mister-fog (1292 points), alexzulu (65 points).
  • +5
  • ha7y
  • 19 октября 2009, 16:28

Комментарии (7)

  • avatar
  • eReS
  • 19 октября 2009, 23:42
  • #
  • 0
Спасибо!
Интересно было почитать, хотя Java не очень люблю, но интересуюсь как альтернативой .Net.
И еще интересует такой вопрос — почему так долго открывают код? Его переписывают? Если да, то зачем? Используется какая-то хитрая оптимизация, которую не хотелось бы выпускать?
ЗЫ: часто видел отрицательные отзывы в производительности OpenJDK по сравнению с закрытой версией (возможно уже устаревшие данные). Т.е. все-таки что-то меняют…
И еще интересует такой вопрос — почему так долго открывают код? Его переписывают? Если да, то зачем? Используется какая-то хитрая оптимизация, которую не хотелось бы выпускать?
В интервью об этом всём сказано вообще то. :-)
Если имелось ввиду про вклад Red Hat (последний вопрос в предыдущем топике), то это уже не открытие исходников, а изменение архитектуры. И почему нельзя было открыть исходники и уже потом изменять архитектуру? Фраза «Но сообщество Linux, всегда пользовалось гораздо более широким набором, поэтому было очень важно обеспечить переносимость на другие платформы.» подталкивает на мысль, что они нацелены были в основном на Linux. Но там же не только Red Hat участвует. Да и вообще не верится, что Sun так легко ради Linux пожертвует таким рынком как Windows. Однако да, тут есть свои прелести — разработав эту прослойку они здорово ускорят портирование. Но все-таки, почему сразу не открыли?:)
Ok. попробую ответить так, как я понял:
почему нельзя было открыть исходники и уже потом изменять архитектуру?
Были куски кода, которые лицензированы у других компаний, и не принадлежали Sun, поэтому сначала надо было вычистить _весь_ код от стороннийх компонентов, а потом открывать.
Но там же не только Red Hat участвует.
Ну вот например у Red Hat есть linux для Power и IBM'овских разных «больших железок», и надо было обеспечить переносимость кода на разные архитектуры.
Вот про куски лицензированного кода я что-то забыл. Да, это серьезное испытание:)
спасибо, за перевод!
правда все равно читал на англ)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.