JAVA: Platiť či neplatiť?

V poslednej dobe sme zaznamenali u našich zákazníkov ako aj všeobecne vo svete rôznorodé reakcie o tom, “čo vraj zas Oracle spáchal na JAVE“. Tie sa pohybovali na hysterickej škále od stavov: “Reimplementujeme naše riešenia nad inou platformou“, cez zlatú strednú cestu (pragmatický prístup), až pod druhý extrém: “Vezmeme si úver na zalincencovanie nášho X-sto uzlového prostredia“.

InterWay samozrejme taktiež reflektuje na inovácie (áno, čítate dobre, my u nás tento krok vnímame ako pozitívny trend), okolo stratégie vydávania nových verzií platformy JAVA a s tým aj zmien v jej licencovaní. Aj keď internet o uvedenej problematike vo väčšine prípadov informuje veľmi jasne, situáciu stále zahaľujú rôzne fámy a nejasnosti a tie logicky generujú nové otázky.

Preto sa naša spoločnosť rozhodla z pozície Platinum Partnera usporiadať interný workshop so zástupcami spoločnosti Oracle. Jeho účelom bolo predstavenie aktuálnej licenčnej politiky a jej dopadov na nové aj existujúce riešenia. V tomto blogu by sme chceli priblížiť hlavné myšlienky spomínaného stretnutia, ako aj základnú stratégiu našej spoločnosti  k uvedenej téme do budúcna.

Prečo vlastne všetky tie zmeny

Za posledné roky, aj na základe tlaku zo strany komunity, sa filozofia firmy Oracle vo vzťahu k platforme Java zamerala na zintenzívnenie evolúcie tejto platformy tak, aby nové jej vlastnosti boli k dispozicií vývojárom (výsledne aj zákazníkom) v častejších intervaloch. Na druhej strane je tu iná, rovnako dôležitá potreba – dlhodobá podpora tzv. „Long Time Support“ (ďalej len LTS) release-ov. Logicky teda vznikla otázka, ako tieto dva prúdy zladiť tak, aby to vo finálnom výsledku celý projekt výrazne nezaťažovalo z finačného hľadiska (keďže celá tá práca okolo Javy nerastie niekde na strome, však). Tým sa dostávame k legitímnemu rozhodnutiu spoločnosti Oracle modifikovať licenčnú politiku Java SE nasledovným spôsobom:

  • Pôvodne boli všetky verzie JAVA SE (až na nepodstatné výnimky) voľne dostupné
  • Od vydania JAVY SE 9 začnalo Oracle uvoľňovať pre túto platformu novú funkcionalitu  do dvoch projektov:
    • OpenJDK, ktorá žije pod otvorenou licenciou GPLv2
    • OracleJDK, komerčnú distribúciu spoplatnenú podľa aktuálneho cenníka spoločnosti
  • Od vydania Javy SE 11 (18.9 Long Term Support (LTS)) platí nasledovné:
    • V rámci projektu OpenJDK sa nevydávajú LTS releases, ale v pravidelných intervaloch (rádovo mesiace) vychádza nová verzia obsahujúca všetky schválené opravy a nové vlastnosti
    • Oracle distribuuje LTS releases len v rámci projektu OracleJDK
    • OracleJDK je dostupná bez poplatku len pre vývoj, testovanie, prototyping a demoštračné použitie. Pre všetky ostatné prípady použitia je potrebné zakúpiť si platnú licenciu

Pod uvedenými definíciami sa dá predstaviť veľa vecí, poďme si teda povedať, čo to vlastne znamená. Aby sme mohli na túto otázku vecne odpovedať a zároveň neboli uvedené informácie interpretované mylne, osviežme si najskôr nutné základy okolo licencovania Oracle produktov.

Nutné základy

Ako je teda aktuálne postavená licenčná politika spoločnosti Oracle platná pre „on-premises“ portfólio ?

Svet ponúkaných produktov majú rozdelený do troch oblastí:

  1. Štandardné Edície (SE)
  2. Enterprise Edície (EE)
  3. Systémy

Pre prvé dva existujú dva hlavné prístupy k licencovaniu:

  • Named User Plus Licencie (NUP): licencie sú platené podľa počtu užívateľov (zjednodušene - jeden občiansky = jeden užívateľ)
  • Licencie typu „processor“; licencie sa uplatňujú podľa počtu CPU jadier, nad ktorými daný produkt beží

Oblasť „Systém“ definuje ako jednotku licencie železo – fyzický stroj / server; disponujúci maximálne dvoma  fyzickými procesormi.

Pri SE edíciách platia obmedzenia na počet CPU ako aj minimálne stanovené NUP. Obmedzenia sú špecificky definované pre každý produkt zvlášť (pre podrobné informácie si pozrite oficiálny, na internete, vystavený cenník). EE edície sú bez HW obmedzení.

V prípade licencií typu „Procesor“ treba zmieniť dôležitý fakt. Pri stanovení ich výsledného počtu sa využíva tzv. „CPU faktor“ - konštanta viazaná na typ cieľovej CPU architektúry. Ňou sa vynásobí počet dostupných CPU jadier, pričom výsledné číslo reprezentuje počet licencií daného produktu / produktov, ktoré je potrebné zakúpiť. Bližšie informácie k hodnotám uvedenej konštanty nájdete na tejto adrese  (príp. v google zadajte ako hľadaný výraz „Oracle Processor Core Factor Table“).

Pozor však nato, akou technológiou virtualizujete vo svojom prostredí hardware, pretože tento faktor môže signifikantne ovplyvniť, na akom počte jadier môže daný produkt bežať a tým pádom, koľko ich je potrebné použiť vo výpočte. Podrobné informácie o tejto téme nájdete na tejto adrese  (príp. v google zadajte ako hľadaný výraz „Oracle Server/Hardware Partitioning“).

Pokiaľ ide o NUP licencie, rôzne produkty môžu definovať ich minimálny počet (aj túto informáciu nájdete v oficiálnom cenníku). Medzná hodnota, kedy sa oplatí namiesto NUP použit cenotvorbu na základe procesora je cca 50 NUP.

Vráťme sa teda k predmetu tohto článku – k JavaSE. Jej Oracle distribúcia je na strane servera licencovaná metrikou „Procesor“, klient / desktop používa metriku „NUP“.  Špeciálne v tomto príspevku, sa budeme zaoberať dopadom tohto prístupu pre jej licencovanie.

Dopad na Javu

Nasledujúca tabuľka demonštruje aktuálne porovnanie OracleJDK verzus OpenJDK:

 

Oracle JAVA SE/JDK

OpenJDK

Nové verzie

každých 6 mesiacov

každých 6 mesiacov

LTS verzie

každé 3 roky

N/A

Opravy

5 + 3 roky (LTS)

6 mesiacov

Podpora

5 + 3 roky (LTS)

N/A

Nástroje

Java Advanced Konzola

N/A

Spoplatnenie

Áno

Nie

 

Čo dôležité z toho vyplýva? Zavádza sa mesačné resp. ročné predplatné za využívanie produktu OracleJDK. Toto predplatné (subscribtion) bude obsahovať licenciu samotnej platformy a podporu pre použitie na desktopoch a serveroch. Politika pri JAVA SE/JDK je nastavená nasledovne:

  • Desktop / klient bude spoplatnený sumou $2.50 za užívateľa za jeden mesiac; $30 za rok, pri počte užívateľov menej ako 999.
  • Procesor licencie pre použitie na serveroch budú za $25.00 za jeden mesiac; $300 za rok, pri počte procesorov menšom ako 99. Detailnú cenotvorbu nájdete na tejto adrese
  • V prípade, že používateľ vlastní licenciu na akýkoľvek Oracle produkt, ktorý beží nad platformou Java, tak táto licencia automaticky pokrýva aj použitie Javy, ale za presne definovaných pomienok (aké sú to tie podmienky ? Tu nájdete jasnú odpoveď )
  • Nuž a na tomto mieste je dôležité ešte raz pripomenúť, že OpenJDK na rozdiel od OracleJDK nepodporuje LTS releases.

Pre úplnosť ponúkame ešte tabuľku, kde je prehľad cenotvorby aj pre vyššie verzie Javy.

Produkt

Named User Plus (NUP)

SW Update (licencie a podpora)

Processor (CPU)

SW Update (licencie a podpora)

Poznámka

Java SE /JDK

$30

 

$300

 

pre menej ako 999 NUP / 99 CPU

Java SE Advanced Desktop

$40

$8.80

 

 

minimum je 2000 NUP licencií

Java SE Advanced

$100

$22.00

$5,000

$1,100

minimum je 10 NUP na každé CPU

Java SE Suite

$300

$66.00

$15,000

$3,300

minimum je 10 NUP na každé CPU

 

Dopad na zákazníkov

Čo tieto informácie znamenajú pre rôzne typy zákazníkov Oracle SE/JDK:

  • vývojár – može produkt ďalej využívať bezplatne za predpokladu použitia na vývoj, testovanie, prototyping a demoštračné použitie
  • koncový používateľ – ak používa aplikáciu v komerčnej sfére, spadá pod novú licenčnú politiku
  • spoločnosť, ktorá dodáva java-based IS – audit situácie, za účelom identifikácie potreby platby licečných poplatkov podľa v tomto článku popísaných pravidiel

Zhrnutie

Naskytujú sa tri hlavné scenáre riešenia tejto situácie:

  • OpenJDK - zostať len na jednej verzii, čo jednoznačne prináša bezpečnostné riziká
  • OpenJDK – upgrade riešenia každých 6 mesiacov, kde sú skryté dalšie náklady na upgrade, testovanie, prípadne certifikáciu. Čiže v prípade stavby riešenia touto cestou, by vznikala dodatočná práca - každých šesť mesiacov retest a certifikácia riešenia pri jeho novej distribúcii zákaznikovi
  • OracleJDK LTS – platiť licenčné poplatky, kde platí model podpora a opravy na 5 + 3 roky

V prípade OpenJDK je na mieste zmieniť ešte jednu skutočnosť – existenciu LTS podpory od  alternatívnych dodávateľov. Pre objektívnosť pohľadu na vec pokladáme za potrebné spomenúť, že na trhu sú dostupné aj nasledovné alternatívne riešenia:

Ak to ešte nie je z uvedených informácii úplne jasné, podľa nášho názoru neexistuje jedno, pre všetky prípady ideálne využiteľné riešenie. Preto nabližší krok, na ktorý by sa inštitúcie mali zamerať, je interný audit, ktorý u nich identifikuje IT riešenia postavené nad Javou a na základe dohody s ich dodávateľmi sa rozhodne, čo s nimi robiť. Či migrovať na “Vanilla“ OpenJDK, využiť niektorý z jej horeuvedených podporných projektov pre distribúciu LTS release-ov, respekíve zaplatiť licenčnú podporu od Oracle.

Ďakujeme za prečítanie nášho príspevku. V prípade, že potrebujete pomôcť, neviete sa rozhodnúť akou cestou sa vydať alebo máte špecifický usecase, ozvite sa  nám na náš tímový email sw@interway.sk. Radi Vám poradíme.

Vaša Divízia IKT – Oddelenia analýz, rozvoja & stratégie 

© 2019 InterWay, a. s. Všetky práva vyhradené | Ochrana osobných údajov
Tieto stránky generuje redakčný systém WebJET.