Wraz z wersją Javy o numerku 11 nastał pewien chaos i zamieszanie. Mianowicie zmieniły się licencje i pojawiło się pytanie – Java 11 płatna czy darmowa? Skorzystam z okazji i wyjaśnię pewne rzeczy, bo takie akcje mogą tylko zaszkodzić osobom Javy dopiero się uczącym.
UWAGA! Kurs darmowy, zaktualizowany na stan z roku 2020 dostępny na https://kursy.clockworkjava.pl/java-fundamenty-programowania/
Java 8
Pomyśl teraz o Javie jak o tysiąć-stronicowej dokumentacji. Widzisz tę cegłę? Ok. Jest ona zarządzana poprzez Java Community Process (https://www.jcp.org/en/home/index), a nadzorowana przez komitet z różny firm i środowisk. Teoretycznie od Oracla niezależną.
Skoro mamy dokumentację to teraz przydałoby się ową ją przekształcić w gotowy produkt. I tutaj właśnie jest pies pogrzebany. Mianowicie do tej pory (przed Java 11) mieliśmy JDK (Java Development Kit) od Oracle (a wcześniej Sun), OpenJDK – czyli implementacje open-source oraz implementacje od innych firm, np. IBM. Najczęściej korzystało się z tej pierwszej, do drugich i trzecich sięgało się w ostateczności, np. sprawowały się lepiej na danej dystrybucji Linuxa, na które akurat mieliśmy postawiony serwer.
Java 11 płatna czy darmowa?
Po pierwsze – to co wcześniej było znane jako „po prostu” JDK jest darmowe dla celów developerskich, płatne dla celów komercyjnych.
Po drugie – OpenJDK uzyskała wsparcie Oracla – Czyli jest darmowa implementacja, open-source, do dowolnych celów wspierana przez Oracle.
Pozostały na rynku wszelkie inne implementacje JDK, które istniały do tej pory i będą się dalej rozwijać, jeśli firmy za nimi stojące będą chciały to robić.
Wszystkie one muszą w 100% pokrywać specyfikację Javy, czyli ten tysiąc stron dokumentacji. W 99,999% przypadków będą działać tak samo, ewentualne problemy będą się pojawiać w zawiłych przypadkach brzegowych, przeoczonych przez Komitet.
Jak żyć?
Moja rada? Korzystać z OpenJDK. Jest to bezpieczniejszy wybór – cokolwiek z nim stworzymy możemy sprzedawać, a jeśli w pracy firma szarpnie się na komercyjną Java 11 to nam nie powinno zrobić to większej różnicy. Oczywiście podobnie z przejściem w drugą stronę – jeśli używasz do celów developerskich Oracle JDK to przejście na OpenJDK również nie powinno nic zmienić. Jednak w wersji Open mamy dostęp do źródeł jeśli z ciekawości będziemy chcieli zobaczyć jak coś jest zaimplementowane.
Już niedługo mój darmowy kurs Java zostanie zaktualizowany, by korzystać z tej właśnie wersji.
2 komentarze do “Java od Zera – Addendum – Java 11. Płatna czy darmowa?”