У червні 2018 року Oracle та інші учасники екосистеми Java оголосили про зміну моделі випусків для Java SE. З цього моменту замість того, щоб основний випуск планувався кожні два-чотири роки, застосовується нова шестимісячна модель випуску: кожні три роки випуск нової версії Java буде позначатися як LTS (Long Term Support, довготермінова підтримка). І цей випуск версії Java буде отримувати щоквартальні оновлення безпеки, стабільності та продуктивності. Першою версією Java, випущеною під цією моделлю, була Java SE 11. Незабаром випуск другої версії за такою схемою - Java SE 17.
Шестимісячна модель випуску нових можливостей
Згідно з новою моделлю випуску - feature-release model, розробники платформи Java можуть працювати над новими можливостями (features) та випускати (release) їх протягом будь-якого шестимісячного вікна, але лише тоді, коли ці новації готові. Порівняйте це зі попередньою моделлю випуску, коли розробники платформи Java відчували величезний тиск, щоб запровадити нові можливості у майбутній реліз, який виходив один раз на два-чотири роки.
Тепер розробники додатків на мові Java можуть насолоджуватись невеликим стабільним набором новацій у передбачуваний часовий термін. Це набагато краще, ніж коли розробники Java намагаються застосовувати сотні новацій з нового релізу кожні кілька років.
Опитування показують, що від чверті до половини розробників використовують останній шестимісячний випуск Java як свою основну робочу версію. Половина з них сказали, що у них вже є програми, які працюють із новшествами останньої версії.
Що стосується іншої частини більш консервативно налаштованих розробників, то їх підхід такий: вони хочуть посилити стек розробки навколо однієї базової версії і не брати на себе додаткових ризиків, пов’язаних із проблемами впровадження нових функцій. Саме тут вступають в гру випуски Java LTS.
LTS зосереджується на стабільності
Релізи Java LTS, такі як Java 11 і Java 17, подібні до випусків розширеної підтримки Mozilla Firefox. Оновлення LTS забезпечують лише покращення стабільності, безпеки та продуктивності, а не впровадження новацій. Це зменшує ризик того, що оновлення може порушити взаємодію з інструментом розробника або із застосовуваними бібліотеками. Організації та розробники можуть розраховувати на те, що випуски Java LTS будуть проходити щонайменше вісім років, що дасть достатньо часу для зміцнення ланцюжків інструментів та бібліотек, і для самих розробників, щоб перейти на інший LTS –випуск через кілька років.
Модель LTS дозволяє постачальникам технологій зупинятися на окремих версіях для довгострокової підтримки своїх продуктів. Зрештою, було б недоцільно очікувати, що постачальники платформ та інструментів розробника забезпечуватимуть багаторічну підтримку при кожному випуску нових можливостей протягом шести місяців. Тоді дуже швидко з’являються десятки версій оновлень для залежних бібліотек, які потребують підтримки, а також фрагментована база користувачів, якою було б непрактично керувати.
Кожен постачальник бінарних файлів платформи Java пропонує свої власні графіки та пропозиції щодо підтримки. Наразі в Oracle застосовується вісім років LTS-підтримки для випуску Java SE. Що особливо радує, так те що підтримка LTS для Java 8 вже продовжена принаймні до 2030 року. А як наслідок, це означає, що версія Java 8 матиме принаймні 16 років підтримки, коли вона остаточно припиниться!
Висновок
Поточна LTS-підтримка існує для таких версій Java - це Java 7, Java 8, Java 11, а невдовзі – Java 17. Java 11 і Java 17 вийшли в новому режимі випуску версій, з різницею в три роки; Java 7 і Java 8 походять із попередньої моделі випуску. Однак підтримка залишається незмінною, оскільки кожна версія Java LTS отримує лише оновлення продуктивності, стабільності та безпеки.
Oracle має намір підтримувати версії Java LTS наступним чином:
Oracle хоче, щоб розробники та організації мали найкраще з обох ключових сторін – стабільності та новацій. Тільки ви можете вирішити, чи має сенс не відставати від шестимісячних випусків і регулярно освоювати та впроваджувати «фішки» нових релізів (з відповідними наслідками). Або розгортати конкретну версію LTS на триваліший термін. Організації, звичайно, можуть змішувати та поєднувати свій підхід, наприклад, дотримуючись шестимісячної каденції під час експериментів та розробки, але потім «закріплюватись» на певному випуску LTS, як тільки код запущено у продакшн.
За матеріалами https://blogs.oracle.com/