OpenJDK

Nemrégen a HWSW szervezésében megrendezésre került egy JAVA fejlesztői meetup, amelyen a JAVA jelene és jövője kapcsán hangzott el néhány fontos észrevétel. Szemben az eddigi, pár éves követési gyakorlattal, mostantól évente két új verziót fog kapni a JAVA fejlesztői környezet. Ennél azonban fontosabb, hogy a liszenszelési gyakorlat is megváltozik. Ennek értelmében 2019 januárjától az Oracle nem szolgáltat ingyenes frissítést az Oracle JDK-hoz, valamint üzleti felhasználása is limitálva lett, fizetőssé vált. Ezen kívül az ingyenes support lehetősége sem lesz adott.

Amennyiben ingyenes megoldást szeretnénk a továbbiakban is használni, az OpenJDK felé indulhatunk, amely open source implementációja a JAVA SE-nek. Az OpenJDK megvalósításain belül választható az Oracle OpenJDK, amely használható üzleti felhasználásra (GPLv2+CE liszensz mellett), frissítéseket pedig 6 havonta fog kapni. Emellett léteznek további ingyenesen használható OpenJDK disztribúciók is, amelyeket nem az Oracle ad ki (pl. AdoptOpenJDK, Amazon, Azul, BellSoft, IBM, jClarity, Red Hat...).

És ha az eddigi JDK-t használom?

2019 áprilistól az Oracle JDK8 nem használható a korábbi feltételekkel tovább. Ez azt jelenti, hogy 2020 decemberéig szabadon használható magánhasználatra, de csak saját gépen. 2021-től már ez sem lesz megengedett. Vagy az Oracle JDK8 korábbi verzióját használjuk a továbbiakban, ami többek között biztonsági okok miatt nem ajánlott.

Mik a különbségek az egyes verziók között?

Oracle 11 és afölötti verziók esetében az említett liszenszelési mód különbözik. Ha a fentebb felsorolt OpenJDK változatok és az Oracle OpenJDK közötti eltérésre fókuszálunk, akkor az eltérés az eddigi változatok alapján várhatóan a jövőben is minimális marad. Az eltérő változatok fejlesztői ugyanis nagyrészt együtt dolgoztak, a core részekben eltérés nem is nagyon volt, csak egyes specifikus részekben voltak eltérések. Ez persze nem zárja ki azt, hogy hosszabb távon lesznek komolyabb eltérések is az Oracle OpenJDK és az egyéb változatok között.

Összefoglalva tehát, ha nem nagyvállalati környezetben gondolkodunk, hanem kisebb projektekben, akkor ajánlott megvizsgálni az OpenJDK vagy Oracle OpenJDK használatát, hogy érdemes-e a továbbiakban valamelyikre átállva folytatnunk JAVA oldali fejlesztéseinket.