Oracle Java –  kilka kwestii licencyjnych, na które warto zwrócić uwagę

Artykuł

Oracle Java – kilka kwestii licencyjnych, na które warto zwrócić uwagę

25 Lutego 2021 r.

Przez wiele lat panowało przeświadczenie, że Java jest darmowym narzędziem i nie wymaga żadnej licencji. Nigdy nie było to do końca prawdą, ale dopiero wraz ze zmianami wprowadzonymi przez Oracle w styczniu 2019 roku zaczęto przykładać coraz większą uwagę do kwestii zgodności licencyjnej Javy. Prawidłowe zrozumienie modelu licencyjnego jest kluczowym elementem, który może zabezpieczyć przedsiębiorstwo przed poniesieniem znacznych kosztów przy ewentualnym audycie Oracle. W poniższym artykule przejdziemy pokrótce przez najważniejsze aspekty związane z licencjonowaniem Javy.

W czerwcu 2018 roku Oracle ogłosiło zaprzestanie udostępniania publicznych aktualizacji Javy. W skrócie oznaczało to, że każdy kolejny update Javy 8 począwszy od Java 8 Update 211 będzie wymagał opłat w przypadku użycia komercyjnego. Java w wersji 11, która ukazała się we wrześniu 2018, od początku występuje na takich zasadach. Oracle dopuszcza darmowe wykorzystanie nowych wersji oprogramowania jedynie na użytek deweloperski (rozwój, testowanie, prototypowanie, lub demonstrowanie aplikacji) oraz osobisty. Niestety nie jest ściśle określone, co możemy traktować, jako taki typ wykorzystania, więc pozostawia to pole do interpretacji.

Oracle zaproponowało model oparty na subskrypcji, która nosi nazwę Oracle Java SE Subscription. Jak większość produktów Oracle, Java jest w tym rozwiązaniu również licencjonowana na podstawie dwóch metryk: dedykowanej desktopom Named User Plus (w skrócie NUP) opartej na liczbie użytkowników, oraz dedykowanej serwerom metryce Processor, która wymaga licencjonowania wszystkich procesorów maszyny, na której zainstalowane jest oprogramowanie, zarówno w środowisku fizycznym i wirtualnym. Subskrypcja udzielana jest na czas określony, więc należy pamiętać, że po jej wygaśnięciu nie mamy prawa nie tylko do pobierania nowych aktualizacji, ale również do korzystania z Javy.

Niewielu użytkowników ma tego świadomość, ale istnieją przypadki, w których wykorzystanie starszych wersji Javy niż Java 8 Update 211 niesie za sobą konieczność zakupu subskrypcji.  Jednym z istotniejszych zagrożeń związanych z licencjonowaniem Javy jest niewątpliwie użycie komponentów oraz funkcji komercyjnych, które wymagają licencji. Bardzo często użytkownicy nawet nie zdają sobie sprawy, że je wykorzystują, narażając firmę na dodatkowe koszty. Warto zwrócić uwagę, że jednym z przykładów płatnych funkcji jest Java Usage Tracker, czyli narzędzie, które służy do identyfikacji wykorzystania Javy. Dochodzi więc do sytuacji, w której chcąc zweryfikować konieczność zakupu licencji, nakładamy na siebie obowiązek licencyjny. Innymi przykładami płatnych komponentów są np. Java Mission Control, Java Flight Recorder, czy Microsoft Windows Installer (MSI) Enterprise JRE Installer. Należy pamiętać, że nie odnosi się to do wykorzystania Java Development Kit do celów developerskich, testowych, lub prototypowania. Interpretacja typu wykorzystania może być czasochłonnym procesem, więc warto rozważyć czy zakup subskrypcji nie będzie dla nas w praktyce tańszym rozwiązaniem, niż analizowanie niezliczonej ilości złożonych przypadków. Subskrypcja Java SE pozwala oczywiście na wykorzystanie wszystkich komercyjnych funkcji i komponentów bez dodatkowych opłat.

 

Co w takim razie możemy zrobić, aby uniknąć opłat za licencje?

Rozwiązań jest kilka i każde ma swoje plusy i minusy.

  1. Po pierwsze możemy zaprzestać aktualizacji Javy na ostatniej darmowej wersji, czyli Java 8 Update 8 202. Niestety, w tym przypadku narażamy się na brak wsparcia ze strony Oracle oraz luki w bezpieczeństwie. Musimy także pamiętać o szczególnych przypadkach opisanych w poprzednim akapicie. 
  2. Następnym możliwym rozwiązaniem jest migracja do darmowego OpenJDK, które pod względem technicznym jest praktycznie takim samym oprogramowaniem co Oracle JDK. Jednak decydując się na zmianę, skazujemy się na otrzymywanie kolejnych aktualizacji co pół roku, jeśli zależy nam na stałym wsparciu. 
  3. Istnieje również prawdopodobieństwo, że wcale nie potrzebujemy nowych licencji na Oracle Java, gdyż te, które już posiadamy w ramach umowy z Oracle, pozwalają nam na jego ograniczone użycie. WebLogic jest jednym z takich produktów, który, zgodnie z warunkami licencyjnymi, umożliwiający bezpłatne wykorzystanie Javy na potrzeby tego oprogramowania.

Nieprzestrzeganie warunków licencyjnych wiąże się z szeregiem konsekwencji dla przedsiębiorstw. Biorąc pod uwagę skalę skomplikowania zapisów w przypadku Javy niezbędna jest regularna weryfikacja wykorzystania w celu potwierdzenia zgodności. Jest to proces, który stanowi znaczne wyzwanie dla licencjobiorców, a na jego powodzenie składa się wiele czynników.

 

Autor: Adrian Galach

Czy ta strona była pomocna?