Починаючи з 2018 року, із запровадженням нової каденції випуску OpenJDK і спеціальної довгострокової підтримки (LTS) відбулися значні зміни умов ліцензії та ціни для підприємств, які використовують Javа. Як повідомляє Infoworld, потрібно підготуватися до нових змін у вересні.
Спочатку було введення ліцензійної угоди Oracle Technology Network (OTNLA). До цього всі вважали платформу Java безкоштовною, включно з обслуговуванням у вигляді регулярних оновлень.
Технічно обмеження сфери використання означало, що вам доведеться сплатити ліцензійну плату, якщо ви використовуєте Java для вбудованих або одноразових програм.
Якщо ви не використовуєте Oracle JDK для особистого користування (наприклад, гри в Minecraft), розробки, тестування, схвалених Oracle програм або в Oracle Cloud, вам потрібно буде заплатити, щоб придбати підписку на Java SE.
OTNLA застосовувався до Oracle JDK 8 оновлення 211 і пізніших, а також до Oracle JDK 11.
Коли у вересні 2021 року було випущено наступну LTS-версію Java JDK 17 Oracle представила ще один суттєвий перегляд своєї ліцензійної політики — NFTC.
На перший погляд здавалося, що обмежень буде менше, тож багато користувачів вирішили використовувати Oracle JDK 17 і подальші оновлення для підтримки безпеки й стабільності своїх програм без необхідності купувати підписку на Java SE.
Однак NFTC має обмеження за часом — протягом 1 року.
Коли було випущено JDK 17, каденцію версій LTS було змінено на 2 роки, а не на 3 роки, як було раніше. Це означало безкоштовний період у 3 роки для будь-якого випуску LTS.
Наступною версією LTS є JDK 21, яка була випущена 10 місяців тому у вересні 2023 року. Безкоштовний період цієї версії закінчиться у вересні 2024 року, менше ніж через 2 місяці.
Ліцензія на Oracle JDK 17 повернеться до OTNLA, і користувачі матимуть вибір для своїх програм
- Дотримуйтесь умов OTNLA та оплачуйте наступні оновлення, ціна яких залежить від кількості працівників компанії. Відповідно до Універсального глобального прайс-листа Java SE, це «всі ваші працівники, які працюють у штаті, неповний робочий день, тимчасові співробітники, а також усі штатні співробітники, часткові працівники та тимчасові співробітники ваших агентів, підрядників, сторонні підрядники та консультанти, які підтримують ваші внутрішні бізнес-операції».
- Перейдіть до наступного випуску LTS — JDK 21. Це покривається NFTC, тому універсальна підписка на Java SE не потрібна. Хоча це може здатися простим вибором, варто розглянути деякі деталі, перш ніж вибрати це:
- Незважаючи на те, що Java продемонструвала чудову зворотну сумісність за весь час свого існування, немає гарантії, що ваша програма працюватиме належним чином на JDK 21. Починаючи з JDK 9, до платформи додано нові функції, а деякі старіші, які рідко використовуються, було видалено. Залежно від віку і складності програми це може спричинити проблеми.
- Перейшовши на JDK 21, ви матимете лише 2 роки, перш ніж вам доведеться перейти на JDK 25, щоб уникнути повернення JDK 21 до OTNLA. Потім вам потрібно буде продовжувати переходити до наступного випуску LTS кожні 2 роки.
Або ж можна перейти на альтернативний дистрибутив Java. Одним із найпотужніших аспектів Java є проєкт OpenJDK. Існує широкий вибір дистрибутивів OpenJDK, які перевіряються на ліцензійній версії Technology Compatibility Kit (TCK).
Це частина специфікації Java SE і може бути використана для підтвердження того, що дистрибутив функціонально ідентичний Oracle Java SE. Альтернативні дистрибутиви OpenJDK все ще безкоштовні та пропонують різні рівні функцій, підтримки й вартості.
Це, безсумнівно, буде дешевше, ніж варіант 1, як правило, на 70%. З відповідним вибором постачальник надає користувачеві значно довший проміжок часу до переходу на новішу версію.
Чому підприємства покладаються на JavaScript, Python і Java — читайте на ProIT.
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!