Вслед за позавчерашней новостью о том, что релизы Java хотят сделать полугодовыми, появились подробности и об этом, и о неожиданных планах Oracle в связи с OpenJDK.
Марк Рейнхольд опубликовал блог-пост «Moving Java Forward Faster» и письмо «Accelerating the JDK release cadence» в мейлинг-листе discuss, а представитель Oracle Дональд Смит — ещё один блог-пост. Приведём некоторые тезисы из всех трёх текстов:
- Ранее уже пытались внедрить модель «релизы по расписанию раз в два года», но тогда это не сработало, потому что цена откладывания важной фичи на два года оказывалась слишком высока. Сначала выход Java 8 притормозили ради лямбд («лучше изменить график, чем на два года их откладывать»), потом выход Java 9 — ради Jigsaw. А вот если релизиться раз в полгода, тогда эта проблема уйдёт: отложить фичу на полгода не страшно. Поэтому давайте так и делать.
- Помимо feature release раз в полгода, предлагается делать ежеквартальные багфиксовые релизы. А раз в три года, начиная с сентября 2018-го, очередному feature release давать статус «long-term support». Благодаря этому разработчики, жаждущие нового, смогут получать новое каждые полгода, а энтерпрайз, жаждущий стабильности, сможет обновляться раз в три года (с чётким графиком станет даже проще планировать обновления).
- Версии предлагается называть по месяцу выхода: не Java 10, Java 11 и так далее, а Java 18.3 и Java 18.9. В общем, и схема релизов выглядит как у Ubuntu, и даже номера версий. Рейнхольд и сам признаёт, что в числе прочего вдохновлялись «various operating-system distributions».
- Общий темп инноваций должен сохраниться примерно таким же, какой он сейчас.
- Oracle, для которой ранее каноничной была Oracle JDK, теперь намеревается распространять сборки OpenJDK под GPLv2 (без ряда ограничений, присущих Oracle JDK).
- Oracle собирается передать в OpenJDK фичи вроде Java Flight Recorder, которые сейчас являются платными возможностями Oracle JDK. Более того, вообще взят курс на минимизацию различий Oracle JDK и OpenJDK, конечной целью которого поставлена «взаимозаменяемость».
- При этом Oracle JDK продолжит существовать в качестве «commercial long term support offering».
Поскольку в посте Рейнхольда план релизного цикла представлен как «proposal», теперь вопрос в том, какой окажется реакция на это. Как пока что отреагировало Java-сообщество? Разумеется, раз предложили по-новому называть версии, вместо обсуждения серьёзных вопросов немедленно начало bikeshedding по этому поводу.IKR? I've been advocating for desert naming scheme (eg, Gobi, Sahara, etc), but no one is going for it. @stuartmarks even built it a shed!
— DonaldOJDK (@DonaldOJDK) September 6, 2017
Думаем, про названия напрашивается вот что: раз схема релизов как у Ubuntu, то и упоротость кодовых названий оттуда тоже надо перенять. Их зоопарк все так любят, что дойдя до конца алфавита, там решили снова по тому же принципу пойти: следующей версией Ubuntu станет Artful Aardvark («ловкий трубкозуб»).