Java разработчики завороженно наблюдают за выходом java 9, 10 и на подходе 25 сентября 2018 должна выйти Java 11. Чехарда релизов — то о чем так долго просили состоялось и новые фичи JVM выходят каждые пол года. Во многом это идет на пользу экосистеме, но при этом создает множество сложностей для эксплуатации ПО на JVM. Java release train мчит по рельсам навстречу!



Все бы хорошо, но при этом в январе 2019 прекращается бесплатная поддержка Java SE 8. Для тех же компаний, кто не успевает тестировать приложение на новых версиях Oracle предлагает купить коммерческую лицензию на Java SE 8 для получения обновлений. Для разработчиков и для персонального пользования заявляют о поддержке обновлений по крайней мере, до конца 2020 года.

Прежде всего лицензии касаются коммерческих компаний:
Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial or production use without a commercial license.

Собственно реалистичных вариантов для работы приложения на поддерживаемой и обновляемой версии JVM не так уж и много:

  • Обновлять и тестировать приложение для работы с каждой новой выходящей версией JVM. При выходе новой версии JDK запускать свое ПО на ней.
  • Обновлять и тестировать приложение с LTS версией JVM. Но чтобы получать обновления больше чем пол года после релиза версии, придется купить коммерческую лицензию у Oracle: Server and Cloud — $25 за процессор в месяц, Desktop — $2.50 за пользователя в месяц.

При первом варианте использовать JVM получится бесплатно, но то что нам придется находить ошибки рантайма и как-то их исправлять не пойдет на пользу приложению, так как мы будем поглощены стабильностью рантайма. По опыту прошлых релизов JVM, администраторы обычно ждут около полугода после выхода, когда виртуальная машина станет стабильной и ее можно будет не опасаясь использовать для продакшен сред. А в первом случае можно будет бесплатно использовать с поддержкой только «сырой» выпуск до полугода.

Во втором же случае придется использовать LTS релизы, иметь возможность получать апдейты 5 лет и платить деньги за лицензии.

Интересно купят ли лицензии те, у кого Hadoop кластеры на тысячи вычислительных узлов с несколькими процессорными сокетами или лицензии будут только уделом веб и REST API приложений контактирующие с внешним миром?

Возможно также появятся мелкие игроки, которые будут бэкпортировать security patch на LTS релизы JVM. Например, есть проект AdoptOpenJDK который предоставляет бинарные сборки openjdk. Вот только стоит ли эта игра свеч?

После покупки Sun Microsystems многие знакомые разработчики ждали подвоха от Oracle. Следили за судами между Oracle и Google вокруг JavaAPI. Теперь же на кону безопасность и стабильность при выборе бесплатного решения.

Свои деньги корпорация получит. Но теперь все кто используют java будут задаваться вопросом заплатить сразу или гонять регрессионные тесты проекта каждые пол года на новой JVM и быть альфа тестировщиками платформы.

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


  1. Barrya42
    24.07.2018 08:51

    А какова судьба Kotlin интересно. МОжно ли безболезненно перейти на него и не парится с лицензиями Java…


    1. igor_suhorukov Автор
      24.07.2018 08:55

      Точно такая же, как и у всего что работает на JVM: Kotlin, Groovy, Scala. За исключением Kotlin/Native который пока в ясли сад пошел и Kotlin to JavaScript компилятор.


      1. mikhailian
        24.07.2018 12:56

        Kotline, Groovy, Scala и всё-всё-всё уже и так разрабатываются и тестируются на OpenJDK.


        1. igor_suhorukov Автор
          24.07.2018 13:09

          Это ясно, вопрос скорее в долговременной эксплуатации приложения не на самых свежих версиях рантайма…


  1. Barrya42
    24.07.2018 09:04

    Так и думал(


  1. Barrya42
    24.07.2018 09:05

    Переходим на Net Core ))


  1. Peter1010
    24.07.2018 09:16
    +1

    ну так же есть альтернатива. openjdk


    1. igor_suhorukov Автор
      24.07.2018 09:21

      Безусловно, но это прежде всего open source проект, сосредоточенный на разработке и исходном коде, а не на сборках старых версий и поддержке пользователей.


      1. Peter1010
        24.07.2018 09:41

        Не спорю. Поддержки там нет, ну как нет, там есть комьюнити, но это != поддержка.
        На счёт сборке старых версий, тут всё спорно. Да это не основной приоритет. Но под тот же debian старые с фиксами собираются достаточно регулярно, раз в 3 месяца точно. Хотя там скорее даже не фиксы а новые минорные версии собираются, так что регресс в любом случае надо делать.

        В общем поживём, увидим во что всё это выльется. У Oracle есть ещё 5 месяцев что бы передумать/скорректировать цены.


    1. semyong
      24.07.2018 14:23
      +1

      Вероятно, можно ожидать появление на этом фоне компаний оказывающих платную поддержку OpenJDK. Интересно, такая политика Oracle нацелена больше на форсирование перехода на Java 9 и выше или просто на прибыль.


      1. igor_suhorukov Автор
        24.07.2018 14:24
        +1

        IMHO прибыль, так как JDK 9 лишь промежуточный релиз.


        1. semyong
          24.07.2018 14:45

          Под переходом на 9 имел в виду систему модулей, т.к. видно, что именно она многих отпугивает. По крайней мере в слое корпоративных приложений.


          1. igor_suhorukov Автор
            24.07.2018 19:15

            Система модулей jigsaw была нужна прежде всего самой платформе. Хотя classpath(jar) hell модули тоже решают, но не привносят никакой динамики и прочих полезных вещей для распределенных приложений. В некоторых корпоративных системах бывает столько капролита и связей между классами, что на модули их никогда не разделить — дешевле будет написать с нуля.


      1. Siemargl
        24.07.2018 16:17

        Как бы это не оказалось пробным камнем, перед тем как выставить свой обычный ценник 400$/user, 25k$/CPU (ну или вроде того).

        Надо же монетизировать ассет


        1. igor_suhorukov Автор
          24.07.2018 19:08

          Не удивлюсь, если потянут в эту нишу. Благо альтернативы есть.


  1. pmcode
    24.07.2018 09:37

    Охх, надо JS и Python подтянуть на будущее, похоже у Оракл совсем крыша протекла.


    1. kuftachev
      25.07.2018 02:25

      Скорее .Net Core, так как JS и змей явно не замена… И надеятся, что МелкоМягкие не ударятся головой о камень, если это не слухи про Oracle, а реальность.


  1. TheDeadOne
    24.07.2018 09:51

    Вероятно, это на пользу Java. Я часто вижу жалобы на то, что сообщество очень мало участвует в JCP и практически не использует бета-версии JDK, из-за чего архитектурные недочёты и проблемы реализации обнаруживаются слишком поздно.


  1. AndreyMtv
    24.07.2018 10:07
    +1

    8 жава вышла в 14 году. Почти 5 лет бесплатной поддержки. С последующими релизами скорее всего будет так же. Откуда взялось, что раз в пол года надо переходить на новую платформу? В 19 перейдете на 9 или 10 и еще 3-4 года можно сидеть на попе ровно и не дергаться.
    Правильно все ораклы делают, больше трех версий держать на бесплатной поддержке слишком накладно и не пойдет на пользу развитию жавы.



    1. maxzh83
      24.07.2018 10:45

      Вы немного заблуждаетесь, Java 9 и 10 — c коротким сроком поддержки. Java 9 уже не поддерживается, поддержка Java 10 заканчивается в сентябре 2018. Должна выйти Java 11, которая и будет следующей LTS и на нее, видимо, все будут переползать.


      1. Skerrigan
        24.07.2018 10:46
        +1

        Как Java-dev, подтверждаю — мы так и планируем.
        Переползем с v8 на v11. На ней и будем сидеть следующие три года.


        1. igor_suhorukov Автор
          24.07.2018 10:49

          На платной или бесплатной без обновлений?


          1. Skerrigan
            24.07.2018 11:00

            Пока что нам хватало бесплатной. Но тут надо учесть такой момент: ранее модель у Oracle была иной. Поэтому релевантный опыт мы только будем приобретать. Как в итоге получится — покажет время и кол-во «граблей».

            Если разрастемся, тогда придется видимо платить.


            1. igor_suhorukov Автор
              24.07.2018 11:22

              Модель изменилась, посмотрим как это повлияет на выбор платформ и языков программирования для разработки новых проектов.


      1. igor_suhorukov Автор
        24.07.2018 10:48

        Да, верно! Java 11 следующая после 8 LTS версия. Ссылки есть в публикации


  1. ehxo
    24.07.2018 10:29
    +1

    На фотографии — Кругобайкальская железная дорога. Там ходят несколько туристических поездов и так называемый «мотаня», на котором постоянно ездят местные жители. Сказать, что поезда эти ползут как черепахи — ничего не сказать. Так что фраза: «Java release train мчит по рельсам навстречу!», звучит довольно забавно для тех кто в курсе скоростей на КБЖД.


    1. BubaVV
      24.07.2018 12:18
      +1

      Хорошо, если встречного не будет


      1. KoToSveen
        25.07.2018 03:44

        Не будет, он там один курсирует.


  1. Mishiko
    24.07.2018 11:04

    купят ли лицензии те, у кого Hadoop кластеры

    — а зачем? Есть развернутая стабильно работающая система, вы читаете в новостях что найден секьюрити баг в JavaWebStart — разве вы побежите обновлять JVM в своем кластере? Ну пусть уязвимость в серверной части, но она никак не мешала вам раньше, кластер ваш в Интернет не светится, зачем что то менять? Зачем нарушать принцип «не сломалось — не чини»?


    1. igor_suhorukov Автор
      24.07.2018 11:19

      Оптимизации производительности. Когда, например, повышение производительности в очередном минорном релизе JVM на пару процентов способны экономить десятки тысяч долларов на вычислительных мощностях и электроэнергии. Я такое видел с криптографией и производительностью джава машины.


      1. Mishiko
        24.07.2018 12:05

        К сожалению, при выпуске минорных релизов об этом вроде (не уверен) не пишут. Только про баг фиксы. Так что не угадаешь — может будет лучше, а может и наоборот)


        1. igor_suhorukov Автор
          24.07.2018 12:25

          В тикете проблемы указывают версию в которой она исправлена. Так понятно в какой версии стало лучше. Понятно, что нужно измерять производительность в типовых сценариях использования приложения, без этого не ясно лучше или хуже.


  1. werklop
    24.07.2018 11:25

    Я может чего-то не догоняю, но в чем суть шумихи? О какой поддержке идет речь, за что платить? Вышла минорная версия Oracle/Open Java SE, скачал бинарник, установил на прод, в чем проблема? Тем более, что есть репозитории в линуксах, обновляйся — не хочу.


    1. igor_suhorukov Автор
      24.07.2018 11:28

      Теперь нельзя будет скачать бинарник LTS версии позднее чем через пол года после ее выхода. Только при наличии лицензии. Свежую нестабильную версию — пожалуйста.


      1. mystdeim
        24.07.2018 11:38

        Есть страница c архивом версий: http://www.oracle.com/technetwork/java/archive-139210.html её уберут теперь?


        1. igor_suhorukov Автор
          24.07.2018 11:41

          Так там архивные версии.

          WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.

          For production use Oracle recommends downloading the latest JDK and JRE versions and allowing auto-update.


      1. werklop
        24.07.2018 12:33

        тоже мне, проблема…
        ничего страшного посидеть полгодика на предыдущей LTS-версии, мир от этого не рухнет, жизнь под откос точно не пойдет, а вот денег Oracle не заработает, это да


        1. igor_suhorukov Автор
          24.07.2018 12:40

          Отрицание, как известно, первая реакция при проблеме. LTS выходят не каждый год даже…


          1. werklop
            24.07.2018 13:34

            Это не отрицание, это констатация фактов и жизненный опыт. На то они и LTS, чтобы жить дольше, а не на каждый чих прекращать поддержку и выпускать новую версию


            1. igor_suhorukov Автор
              24.07.2018 13:36

              Суть дискуссии — ограничение бесплатных обновлений интервалом пол года в том числе и для LTS выпусков JVM.


      1. Cloud66
        26.07.2018 00:22

        Откуда эта информация?


        1. igor_suhorukov Автор
          26.07.2018 00:47

          Процитирую абзац из Oracle Java SE Support Roadmap

          Oracle will make available to Commercial Users and Personal Users updates to publicly available versions of Oracle Java SE in accordance with the table below. Once a Java SE version reaches “End of Public Updates”, any further updates will be available only to Customers and accessible through My Oracle Support and via corporate auto update where applicable

          А также слайды Pivotal про Java support
          Полугодовые бинарные сборки от Oracle серым цветом:


  1. doom369
    24.07.2018 19:28
    +2

    Оракл все делает правильно.
    С одной стороны — компания начнет получать денежку от компаний которым дешевле 25$ за ядро чем постоянная миграция. Это и больше денег на разработку самой JVM и больше интерес со стороны оракла к Java как к активу.
    С другой — получит больше «ранних» тестеров, баги будут находится и фиксится гораздо раньше и до выхода мажорных версий (уже сейчас очень активно это наблюдаю на опен-сорсных проектах).
    win-win.

    По собственному опыту знаю — если силой пользователей не заставить мигрировать, то они будут сидеть на старых версиях до конца. И деньги в этом случае — самый мощный мотиватор.


    1. igor_suhorukov Автор
      24.07.2018 20:03

      На больших проектах с тысячами узлов деньги могут сыграть против оракла, как я уже наблюдал в ситуации с oracle coherence. Подскажите версии JVM и какие фреймворка использует ваш IoT проект? И каков ваш выбор — платная лицензия или самая последняя версия рантайма для запуска?


      1. doom369
        24.07.2018 20:21
        +1

        На больших проектах с тысячами узлов деньги могут сыграть против оракла, как я уже наблюдал в ситуации с oracle coherence

        Ну не знаю. Для больших корпораций это смешные деньги, имхо.

        Подскажите версии JVM

        Мы переходим на новую версию джавы сразу после выхода первого патча. Сейчас уже весь прод (~40 серверов) на 10-ке второй патч. Сам переход обычно занимает от 2 до 8 часов. В зависимости от возникших проблем. После первого патча ответ на любую проблему можно быстро нагуглить.

        Переход на девятку — dou.ua/lenta/columns/java9-pain
        Переход на десятку — dou.ua/lenta/columns/move-to-java10

        и какие фреймворка использует ваш IoT проект?

        github.com/blynkkk/blynk-server/blob/master/pom.xml#L167

        И каков ваш выбор — платная лицензия или самая последняя версия рантайма для запуска?

        Самая последняя версия рантайма. Даже если взять дорогого киевского спеца за $5к. То это стоит $250-500 баксов за переход. Что даже для нашей маленькой компании — не проблема.


        1. igor_suhorukov Автор
          24.07.2018 22:01

          Вы тогда рекордсмены! Видимо хорошее покрытие тестами, отлаженный процесс тестирования и эксплуатации. Обычно, в крупных компаниях все иначе и менеджеры предпочтут заплатить и эксплуатировать на древней версии JVM, чем оплачивать миграцию и связанные с ней риски.


          1. doom369
            24.07.2018 22:20
            +2

            Обычно, в крупных компаниях все иначе и менеджеры предпочтут заплатить и эксплуатировать на древней версии JVM, чем оплачивать миграцию и связанные с ней риски.

            Да, в крупных компаниях менеджеры не хотят брать на себя ответственность. Но именно это дает жизнь таким компаниям как наша :).

            Видимо хорошее покрытие тестами, отлаженный процесс тестирования и эксплуатации.

            Скорее нет, чем да. Но мы работаем над этим.


            1. igor_suhorukov Автор
              24.07.2018 23:06

              Отличное замечание про место под солнцем из-за решений наемных менеджеров. Так держать!


        1. igor_suhorukov Автор
          24.07.2018 22:04
          +1

          Ну не знаю. Для больших корпораций это смешные деньги, имхо.

          Я видел другое решение из-за «смешных денег» перешли на свой велосипед чтобы сэкономить на тысячах лицензий.


          1. doom369
            24.07.2018 22:16
            +1

            Ну я такое тоже видел. Когда экономя пару баксов на железке (речь про микроконтроллеры) конторы тратят сотни чтобы допилять софт, но сэкономить на партии в 10к. Но что-то мне подсказывает, что у таких компаний нету будущего.


            1. igor_suhorukov Автор
              24.07.2018 22:42

              То что вы описываете +10к — 100к по-моему завязано на KPI наемных менеджеров и очковтирательство. Когда принимаются локально оптимальные решения для экономии и видимости неоценимого вклада в будущее компании. Взвешенное решение часто могут принять те, кто владеет экспертизой, но нет возможности менять курс компании.

              Но что-то мне подсказывает, что у таких компаний нету будущего.
              У бюрократической конторы, неэффективность одних отделов размазывается по эффективности других и в среднем везде одинаково воняет… А еще есть компании которым гинуть в землю не даст правительство и тогда получается корпорация-зомби.

              Еще раз повторюсь что вам и коллегам очень повезло.


        1. vlanko
          25.07.2018 12:44

          сообщите, с какой версии ваш хак с Unsafe и рефлексией перестанет работать.


          1. doom369
            25.07.2018 13:27
            +1

            Я зарепортил эти варнинги в нетти и их пофиксили. Так что хак больше не нужен и был удален.
            Если вы про «WARNING: An illegal reflective access operation has occurred»


  1. sshikov
    24.07.2018 20:20

    >Интересно купят ли лицензии те, у кого Hadoop кластеры на тысячи вычислительных узлов с несколькими процессорными сокетами

    Агащазблин. У нас сейчас 1.8.0_144, она далеко не последняя из 8 линейки, и даже не без багов. И ничего. Не слышал, чтобы собирались обновлять даже на последнюю 8-ку. А на более новые — просто рисковано.


    1. igor_suhorukov Автор
      24.07.2018 21:56

      Интересно. Сколько у вас узлов в кластере, какая конфигурация?


      1. sshikov
        24.07.2018 22:11
        +1

        Да тут дело не в числе узлов, а скорее в наличии эксплуатируемых процессов. Ну и потом, на мой взгляд было бы намного полезнее обновить скажем сам хадуп — но prod все равно вряд ли дадут, а держать разные версии на prod и dev — чревато. Мы даже на миграции спарка с 2.2 на 2.3 словили пару-тройку нетривиальных проблем, которые не смогли быстро решить.

        А Java… ну что такое по большому счету производительность JVM, когда большая часть процессов упирается либо в диски, либо в память? Что-то я не помню особых жалоб на то, что ядер не хватает.

        $25 за процессор там на что нужно умножать? Если top показывает 64 потока — это будет стоить $1600?


        1. igor_suhorukov Автор
          24.07.2018 22:46

          $25 за процессор там на что нужно умножать? Если top показывает 64 потока — это будет стоить $1600?

          Пока сам не знаю считается по ядрам или физическим сокетам. Было бы интересно узнать.
          намного полезнее обновить скажем сам хадуп — но prod все равно вряд ли дадут, а держать разные версии на prod и dev — чревато. Мы даже на миграции спарка с 2.2 на 2.3 словили пару-тройку нетривиальных проблем

          По поводу идентичных окружений для разработки, тестирования и эксплуатации абсолютно согласен! По поводу проблем — трассировка и логирование с залезанием в кишки фреймворкам через AspectJ не раз выручали и вас возможно выручат, если вы только спарк не в Amazon EMR запускаете.


          1. sshikov
            25.07.2018 21:31

            На самом деле с хадупом все проще и интереснее. Открываем страницу со списком поддерживаемых версий Java на сайте cloudera, и видим, что последняя там вообще 1.8.0_162. О 9 и 10 вообще речи не идет.


          1. sshikov
            26.07.2018 18:32

            Ну и кстати: wiki.apache.org/hadoop/HadoopJavaVersions

            Тут тоже 9 и 10 не упоминаются вовсе. Так что прежде чем стричь купоны с ядер, Ораклу придется сесть рядом с разработчиками хадупа, и обеспечить его работоспособность скажем на Java 10. А иначе условная cloudera/hortonworks сядет рядом сама, и допилит OpenJDK.


  1. zharko_mi
    24.07.2018 22:06
    +1

    Сначала Сан и следом Оракл зарабатывали на поставке java вместе с железом. Потом все поняли, что платить конские деньги нет смысла и стали переходить на Линукс. Теперь Оракл решил сделать java платной. Тогда все двинут на OpenJDK. Увеличится комьюнити, она станет стабильнее. На том и закончится история OracleJDK.


    1. igor_suhorukov Автор
      24.07.2018 23:05

      Виндекапец так и не случился, несмотря на распространение Linux. Поднимут цену на OracleJDK и будут жить за счет своих сейлзов и крупных корпораций.


  1. a0fs
    24.07.2018 22:46
    +1

    25 баксов за ядро или 2,5 за пользователя ИМХО дофигища. Возможно в эту цену заложено то, что весь зоопарк, основанных на JVM больших проектах мигрируют в OpenJDK. Ничего больше не приходит в голову, чтобы объяснить, как собирается Oracle собирать данные деньги со всего что понавёрнуто на Hadoop, Elastic и прочем. Это всё станет резко не рентабельным если начать задумываться о процессорных ядрах и пользователях.

    С другой стороны, возможно Oracle хочет расчистить либеральное java-движение, вытолкнув его в OpenJDK, а самим сосредоточится на вкусных толстых интерпрайзах, подгоняя платформу под них. Рынка остаётся мало, зато он спокойный и высокомаржинальный. При плотной поддержке платформы в кремнии, которую они вполне могут реализовать спарками, может быть даже очень перспективно.

    Правда платформа выживет только в том случае, если все заинтересованные соберуться и доведут до ума OpenJDK. В противном случае скорей всего придёт java-капец. Положительный пример есть, тот-же PostgreSQL сейчас крайне здорово растёт, поскольку крупным игрокам легче довести до ума его, чем изворачиваться под лицензии баз данных Oracle, что не мешает самому Oracle вполне неплохо чувствовать себя и зарабатывать на тех, кому он сильно нужен, а нужен он многому и многим.


    1. igor_suhorukov Автор
      24.07.2018 23:03

      Hadoop, Elastic и прочем. Это всё станет резко не рентабельным если начать задумываться о процессорных ядрах и пользователях.

      Согласен. Так же как и не рентабельный Windows Server в HPC области.
      С другой стороны, возможно Oracle хочет расчистить либеральное java-движение, вытолкнув его в OpenJDK, а самим сосредоточится на вкусных толстых интерпрайзах, подгоняя платформу под них.

      Так вроде бы от JEE открестились и отдали ее в Eclipse foundation. Про спокойный рынок — возможно, может 25$ это только первые пробы и начало монетизации. Все адепты open source разбегуться кто куда: в Go, Rust и т.п. Java превратится в банковский «Cobol» и можно будет зарабатывать больше с меньшими вложениями в ресурсы поддержки и разработки.
      Положительный пример есть, тот-же PostgreSQL сейчас крайне здорово растёт, поскольку крупным игрокам легче довести до ума его, чем изворачиваться под лицензии баз данных Oracle

      Отличный пример. Особенно много massively parallel processing баз появилось на его основе, как пример AWS Redshift(ParAccel based on PG 8 fork), GreenPlum (PG9 fork), CitusDB (PG 10 extension), Apache Hawq. OpenJDK кстати появилась благодаря IBM и Apache Harmony.

      Так что OpenJDK должен выжить, слишком много заинтересованных сторон, кто подсел «на иглу» JVM: IBM, Redhat, Google(Android)…


      1. a0fs
        25.07.2018 20:39
        +1

        Так что OpenJDK должен выжить, слишком много заинтересованных сторон, кто подсел «на иглу» JVM: IBM, Redhat, Google(Android)…


        Хотелось бы, чтобы эта частичка Sun также ушла в народ и прижилась там лучше чем Solaris и Sparс… Если сообщество не убережёт java при всём том, что уже имеется — это будет несмываемым позором…


    1. kuftachev
      25.07.2018 02:31

      Проблема в том, что основной разработчик OpenJDK тот же Oracle.


      Не факт, что у RedHat хватит ресурсов на разработку и вообще, зачем им это? Они просто смогут тоже какую-то коммерческую лицензию предлагать.


      1. a0fs
        25.07.2018 20:30

        В том то и дело, что OracleJDK идёт в сторону Oracle-междусобойчика, в который они могут вносить всё что им хочется и неплохо играть на лицензиях. Если сообщество не займётся OpenJDK и не вытянет его на уровень благопристойности — быть беде. Спать на шее у Голиафа не выйдет, Голиаф уже не тот. Важно не проспать этот момент.


      1. sshikov
        25.07.2018 21:40
        +1

        Есть j9, которая недавно стала Open Source. Кажется ограничена Java 8 (и подозреваю, навсегда такой останется).


  1. kuftachev
    25.07.2018 02:54

    Да, интересную тему подняли.


    В комментариях многие упоминали OpenJDK, но есть дар момента, основная компания, которая вкладывает в OpenJDK — это Oracle.


    Первый вопрос — это лицензия, а позволяет ли она зарабатывать на поддержке всем желающим или нет?


    Второй вопрос. Из больших игроков, Intel, IBM, которые зарабатывают на другом и не факт, что будут вкладывать много ресурсов в Java, есть RedHat, но с учётом из модели бизнеса, они тоже захотят брать денег за поддержку. В общем, не сильно вижу, кто теперь будет платить за развитие.


    Я конечно понимаю, что там сидят люди, которые что-то считают, но мне кажется, что можно было получить небольшую сумму со всех, чем много с тех, кто готов будет заплатить. Это как их жадность, которая продвигает PostgreSQL, с адекватной ценой поддержки… А чем больше платят за поддержку, тем ближе он к бд от Oracle. Даже если сейчас у них все хорошо с прибылью.


    С учётом того, что и так энтерпрайз работает кто на Java 6, а кто и на 4, то решение — это оставить как есть, а новые вещи писать с помощью других инструментов, например .Net Core, тем более, что SOA прямо просит писать на разных платформах. Во всяком случае, если ничего не решится.


    Ну или вариант, что "с началом санкций софт нужно считать не пиратским, а трофейным".


    1. sshikov
      25.07.2018 21:37

      Уже много лет не видел никого на java 1.4. На тех, кто не осилил generics — не стоит ориентироваться. Более того, усилия по миграции с 6 на 7 были минимальны, на 8 примерно также.

      Причем, если у кого-то не было времени (и денег) на простую миграцию (которая вполне рутинное мероприятие, потому что никто не заставляет собирать все шишки самостоятельно, вполне можно подождать, пока это другие сделают), то у них же вряд ли будут время и деньги, чтобы мигрировать на другую платформу (.net core в том числе). Причем, если вы на такое решились — это означает, что OpenJDK ровно для вас, и никакой специфики в вашем коде скорее всего нет.


      1. igor_suhorukov Автор
        25.07.2018 23:06

        Переход с 7 на 8 с адаптацией на уместные в конкретном месте стримы и лямбды сложнее чем переход с 6 на 7 и с 4 на 5 версию. У меня был опыт модернизации кода Spring Framework 5.1 и Spring Boot 2.0.
        В плане перехода на .net, действительно мало смысла. А вот Go, Rust или даже C++ координатной сменят ситуацию с компилируемостью и возможностями оптимизаций.


        1. sshikov
          26.07.2018 18:22

          Я не имел в виду лямбды и стримы — это можно добавить позже по вкусу. Тут про более рутинную фигню, когда скажем Apache ActiveMQ какой-то версии, на которой мы жили, заводиться на Java 8 отказался, потому что сломался его внутренний компилятор JSP. Ну т.е. опять же сторонний продукт, достаточно большой, чтобы миграция на него тоже была не слишком простым занятием.


      1. Borz
        26.07.2018 16:14

        на одном из проектов "застряли" не просто на 7, но на конкретной сборке, так как одна из ключевых библиотек "под капотом" использовала особенность JVM, которая пропадала с очередной сборкой. Так что не всё так просто, как в туториалах пишут


        1. doom369
          26.07.2018 16:23

          В чем проблема пофиксать библиотеку для вашего конкретного случая?


          1. Borz
            26.07.2018 16:27

            0) проприетарная она была, а лицензия использовалась OSS
            1) И в целом было решено переделать продукт так, что в результате потребности от библиотеки не было вовсе. Потому "дешевле" было "заморозить" на какое-то время обновление JVM


            1. doom369
              26.07.2018 16:49
              -1

              Ну по опыту скажу, что платная лицензия не гарантирует багофикс :). Поэтому самым мудрым будет — не использовать проприетарных решений в своих проектах. Тем более сейчас, в 2018 году :).


  1. KirEv
    25.07.2018 03:04

    не понимаю этих сложностей недружелюбных…

    есть дружелюбные сложности: делаешь то что делал и все ок, но можешь разобраться с дополнительными вещами и делать допольнительно прикольные вещи…

    а есть недружелюбные, они мне напоминают кнопки «Accept» и «Cancel», которые появляются рандомно то слева то справа, меняясь местами, что позволяет автоматом нажать по привичке влево или в право (если она там чаще всего) и якобы принять решение… что очень разрдражает…

    иногда, правда, проще инструмент изменить, чем приспосабливаться безконечно.


  1. YuryB
    25.07.2018 23:41

    В целом не вижу тут большой проблемы кроме работы для бухгалтерии. Деньги смешные, если у вас не огромный пул серверов, учитывая сколько платится за лицензию самого оракла, кучи сторонних сервисов а порой и фреймворков, то даже не знаю чего тут такого.
    Ну и простите нужно быть последним жлобом на планете, чтобы бежать на ".Net Core" (хотя кто его знает какая там будет поддержка устаревших релизов). Это мне напоминает один закон бизнеса, разницу между клиентами, которые платят и те которые пользуются бесплатно: первые всегда просят что-то конкретное и платят годами, вторые озвучивают хотелки десятками и в конечном итоге так ничего и не платят.