Organizacje korzystające z języka Java borykają się z a podwyżka opłaty licencyjnej po wprowadzeniu przez Oracle cen subskrypcji Java SE.
Analityk Forrester napisał już wcześniej, iż przejście na tak zwaną przez Oracle subskrypcję uniwersalną Java SE Universal Subscription obiecuje wyeliminować obciążenie związane ze śledzeniem instalacji. Jednak, jak wskazuje Forrester, koszt może być wysoki.
„Będziesz musiał zidentyfikować wszystkie instalacje Java i, jeżeli to możliwe, związaną z nimi umowę. Będziesz chciał mieć pewność, iż będziesz egzekwować nadzór nad nowymi instalacjami Java. Teraz, tak samo, jak kiedykolwiek wcześniej, zwracaj uwagę i stosuj dobre praktyki zarządzania zasobami systemu Oracle. Takie postępowanie może uchronić Cię przed dużą niespodzianką związaną z opłatą licencyjną nieuwzględnioną w budżecie” – stwierdziła firma analityczna.
Działy IT muszą korzystać z narzędzi do zarządzania zasobami IT, aby sprawdzić, czy oprogramowanie Java działające w ich organizacjach ma prawidłową licencję.
W Jak podaje Gartner, rok 2023 iż w okresie 12 miesięcy poprzedzającym 31 grudnia 2022 r. 52% interakcji dotyczących zgodności systemu Oracle i audytów skupiało się na Oracle Java. Stanowi to ciągły problem, ponieważ Java ma prawie 30 lat i jest osadzona w aplikacjach IT w przedsiębiorstwach.
Gdzie używana jest Java?
W ramach niedawnego badania dotyczącego języka Java dostawca platformy obserwowalności, firma New Relic, podał, iż Oracle była najpopularniejszym dostawcą zestawu Java Developer’s Kit (JDK) w 2020 r. Oszacowano, iż Oracle stanowiło prawie trzy czwarte rynku Java.
Zauważyła jednak, iż od tego czasu nastąpiło zauważalne odejście od Oracle Java w następstwie wprowadzenia bardziej restrykcyjnego licencjonowania, które weszło w życie wraz z Oracle Java 11.
Chociaż Oracle Java 17 jest uważana za bardziej otwartą niż Java 11, dane z narzędzia obserwowalności firmy New Relic pokazuje, iż od tego czasu nastąpił stały spadek rok do roku (r/r). Chociaż dane New Relic pokazują, iż pakiet Oracle JDK był najczęściej wdrażaną wersją Java w 2022 r. (34%), w 2023 r. jego odsetek spadł do 29%, a od 2024 r. stanowi w tej chwili 21% wdrożonej wersji Java. Według New Relic oznacza to spadek o 28% w ciągu jednego roku.
Chociaż istnieje wiele powodów, dla których organizacje odchodzą od języka Java, co skutkuje mniejszą liczbą wdrożeń Oracle JDK, przez wielu uważa się, iż koszt licencji na oprogramowanie jest głównym czynnikiem wpływającym na tę sytuację.
Jakie są różnice pomiędzy licencjami Oracle Java?
Oracle oferuje trzy różne licencje na język Java oraz szereg produktów Java wymagających licencji Oracle, takich jak Java SE i Oracle Java SDK – zestaw narzędzi programistycznych do tworzenia aplikacji Java. Istnieje również JRE, środowisko wykonawcze Java. Oracle oferuje OpenJDK, wersję open source, wydawaną na licencji open source GNU General Public License v2, co jeszcze bardziej komplikuje audyty Java.
Wszystkie różne kombinacje produktów Java, które mogła wdrożyć organizacja, komplikują zarządzanie zasobami IT, zwłaszcza biorąc pod uwagę, iż Java jest używana w organizacjach od prawie 30 lat.
Omawiając wyzwania, Simon Ritter, autor książki Migracja OpenJDK dla manekinóww specjalnym wydaniu Azul czytamy: „W przypadku pakietu Oracle JDK dostępne są trzy różne licencje”.
Pierwszą z nich jest licencja na kod binarny Oracle (BCL), którą Oracle odziedziczyła po przejęciu Sun Microsystems. Według Rittera jest to zasadniczo ukierunkowane na wykorzystanie wbudowane i zapewnia bezpłatne korzystanie. „Nie ma wymogu kupowania subskrypcji pomocy technicznej” – mówi.
Oracle twierdzi, iż wersje Java SE wydane przed 16 kwietnia 2019 r. są jedynymi wersjami objętymi licencją BCL. Nie jest już używany w przypadku nowych wydań.
Druga licencja to umowa licencyjna Oracle Technology Network, która wymaga subskrypcji Java do użytku korporacyjnego. Może to być niezwykle kosztowne, ponieważ Oracle opiera opłatę licencyjną na liczbie osób zatrudnionych w organizacji.
„Cała sprawa z licencjonowaniem jest naprawdę dość skomplikowana” – mówi Ritter – „ponieważ Oracle wprowadziło wówczas trzecią licencję, zwaną bezpłatną licencją na warunki i warunki (NFTC).” Ritter twierdzi, iż umożliwia to organizacjom bezpłatne korzystanie z języka Java do wewnętrznych zastosowań biznesowych. Jednak „wadą jest to, iż obowiązuje tylko przez trzy lata”, ostrzega Ritter.
Na swojej stronie internetowej Oracle stwierdza, iż NFTC obejmuje sześciomiesięczne wydania Java 22 i nowsze wersje. Wersje Java 21 są objęte gwarancją do 2026 r. Java 18 jest obsługiwana w ramach NFTC do stycznia 2024 r., natomiast bezpłatne wsparcie jest dostępne tylko w przypadku Java 17, jeżeli organizacje korzystają z wersji Oracle JDK wcześniejszych niż wersja 17.0.13.
Według Rittera ta nowa, trzecia opcja oznacza, iż rok po wydaniu kolejnej długoterminowej wersji wsparcia Oracle JDK licencja zostanie zmieniona na umowę licencyjną Oracle Technology Network License, która wymaga od klientów zakupu subskrypcji Java SE.
„To skomplikowane, ale zasadniczo oznacza, iż jeśli chcesz uniknąć konieczności zakupu subskrypcji, musisz aktualizować Javę co dwa lata, kiedy Oracle wypuści nową wersję długoterminowego wsparcia” – mówi Ritter.
Po co trzymać się Javy?
Java 21 została wydana we wrześniu 2023 r. New Relic zauważa, iż ta wersja oferuje znaczące ulepszenia w zakresie wątków wirtualnych i ulepszonych bibliotek, a także ulepszenia składni. Według New Relic te ulepszenia stawiają Javę na równi z wieloma innymi nowoczesnymi językami.
Istnieje również fakt, iż Środowisko uruchomieniowe Java zapewnia kompilację kodu źródłowego na czas. Oznacza to, iż optymalizacja następuje tylko wtedy, gdy uruchomiona jest aplikacja Java. Zaletą tego podejścia jest to, iż aplikacja Java może z łatwością korzystać z najnowszych osiągnięć technologii procesorowej.
Najnowsze dane zebrane przez New Relic dla jego 2024 Stan ekosystemu Java z raportu wynika, iż w ciągu sześciu miesięcy od wydania Java 21 korzystało z niej 1,4% aplikacji monitorowanych przez New Relic. Oznacza to wzrost wykorzystania języka Java o 380% w porównaniu z okresem wprowadzenia Java 17.
New Relic zauważył, iż wskaźnik wykorzystania Java 17 znacznie przekroczył to, co zaobserwował świat programistów po wprowadzeniu Java 11. W 2023 r. około jedna dziesiąta (9%) aplikacji korzystała w środowisku produkcyjnym z Java 17, a w tej chwili 35% aplikacji korzysta z Java 17, co oznacza prawie 300% wzrost w ciągu jednego roku. Według New Relic osiągnięcie tego poziomu zajęło Javie 11 lata.
Jakie są alternatywy dla Oracle Java?
Azul to firma, która sprzedaje alternatywa dla Oracle JDK. Inne obejmują JDK z Amazona, Microsoftu, Red Hata i SAP, między innymi.
Oferują one zwykle tak zwany zestaw zgodności technologii (TCK), który gwarantuje zgodność z Java SE, jak wyjaśnia Ritter: „Jeśli przejdziesz z Oracle na inną dystrybucję OpenJDK, Twoja aplikacja będzie działać dokładnie w ten sam sposób nadal.”