Java týden Body zdarma
Využij podzimních slev a získej od nás až 40 % bodů zdarma! Více zde
Pouze tento týden sleva až 80 % na Java e-learning!

Změna licence Java11 JDK a OpenJDK

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Zajisté jste si všimli, že od podzimu 2018 došlo k zásadním změnám u Oracle Javy. Příchodem Java SE 11 se změnily se licenční podmínky používání. Došlo ke zrušení samostatného JRE (Java Runtime Environment - tvz. běžícího prostředí na kterém běžely programy v Javě ) či odstranění JavaFX. Ono, samozřejmě došlo i k dalším změnám v oblasti vývoje již od Java9 (podzim 2017), např. příchod modularity, vznik jmod, runtime image, apod., ale o tom někdy jindy.

V tomto článku si vyjasníme licenční podmínky Oracle Java a případný přechod na OpenJDK, která běží na svobodnější licenci GPLv2. Jistěže stále můžete využívat pro učení Oracle Java ale je vhodné si přečíst to zvýrazněné Important changes in Oracle JDK 11 License, tzn. důležité změny v licenci Java11 a zařídit se podle toho. Originál anglické verze je v odkazu a zde si přeložíme to nejdůležitější do češtiny.

Licenční podmínky

Licenční práva (nová omezení) se tedy primárně vztahují na vývojové prostředí (JDK) a také na naprogramované programy (aplikace) vzniklé nad tímto prostředím a využívající dané prostředí ke svému běhu.

Definice

"Oracle" označuje společnost Oracle America, Inc.
"Vy" a "Vaše" odkazuje za (a) na společnost nebo organizaci (každá entita), která přistupuje k programům, pokud bude užívání programů jménem takové entity; nebo za (b) na jednotlivce, jenž přistupuje k programům, pokud užívání programů nebude jménem entity.
"Dodavatelé" označují vaše zástupce a dodavatele (včetně externích dodavatelů).
"Programem (programy)" odkazuje na software Oracle poskytovaný společností Oracle podle této dohody vč. všech aktualizací, opravy chyb a/nebo programovou dokumentací poskytovanou společností Oracle.
"Programová dokumentace" se vztahuje k uživatelské příručce k licenčním informacím pro Oracle Java SE pro příslušnou verzi dostupnou na adrese https://www.oracle.com/…n/index.html a další dokumentaci poskytovanou společností Oracle s programy nebo přístupná na adrese https://docs.oracle.com/en/java.
"Oddělené podmínky" odkazují na samostatné licenční podmínky, které jsou specifikovány v dokumentaci k programu, soubory readme nebo oznámení a které se vztahují na samostatně licencované technologie třetích stran.
"Oddělené technologie licencované třetí stranou" označuje technologii třetí strany, která je licencována podle zvláštních podmínek a nikoli na základě podmínek této smlouvy.
"Aplikace" se týká aplikací Java určených k běhu na platformě Java Platform, Standard Edition.

Licenční práva a omezení

Společnost Oracle vám uděluje nevýhradní, nepřevoditelnou, omezenou licenci pro interní použití programů, s omezeními stanovených v této smlouvě a programové dokumentaci, pouze za účelem vývoje, testování, prototypování a předvádění vaší aplikace (programu) a nikoliv pro jiné účely. Můžete povolit vašim dodavatelům (obchodním partnerům), aby používali programy za předpokladu, že jednají vaším jménem, aby vykonávali licenční práva udělená touto smlouvou a dále za předpokladu, že za takovou potřebu odpovídáte a bude souladu s touto smlouvou. Budete mít s Vaším dodavatelem písemnou dohodu, která přísně omezuje jejich právo používat programy a jinak chrání práva duševního vlastnictví společnosti Oracle ve stejném rozsahu jako tato smlouva. Můžete kopírovat programy v rozsahu, který je přiměřeně nezbytný k výkonu licenčních práv poskytnutých v této smlouvě.

Dále nesmíte

Pozn. Programy viz. definice, ale jedná se o Java11 a vyšší SE JDK.

  • používat tyto programy k jakémukoli zpracování dat nebo jakýmkoli komerčním, výrobním nebo interním podnikatelským účelům, než je vývoj, testování, prototypování a předvádění vaší aplikace;
  • odstranit nebo upravit jakákoli označení programu nebo jakákoli oznámení o vlastnických právech společnosti Oracle nebo poskytovatele licence
  • zpřístupnit programy jakýmkoli způsobem jakékoli třetí straně (jiné než dodavatelům jednajícím ve vašem zastoupení, jak jsou uvedeny v této smlouvě)
  • převést tuto smlouvu nebo distribuovat, dát, nebo převést programy nebo zájem na nich třetí osobě, s výjimkou případů výslovně povolených v této Smlouvě pro dodavatele (výše uvedené nebude vykládáno jako omezení práv, která byste jinak mohli mít ohledně samostatně licencované technologie třetích stran)
  • provádět nebo povolit reverzní inženýrství (pokud to zákon nevyžaduje pro interoperabilitu), demontáž nebo dekompilaci programů a
  • vytvářet, upravovat nebo měnit chování tříd, rozhraní nebo dílčích balíčků, které jsou jakýmkoli způsobem označeny jako "java", "javax", "sun", "oracle".
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Programy mohou obsahovat zdrojový kód, který není výslovně licencován v této smlouvě pro jiné účely (například licencovaný pod licencí s otevřeným zdrojovým kódem), je poskytován výhradně pro referenční účely v souladu s podmínkami této smlouvy a nesmí být změněn.

Všechna práva, která nejsou výslovně uvedena v této smlouvě, jsou vyhrazena společností Oracle. Pokud chcete používat programy k jiným účelům, než jaké jsou výslovně povoleny podle této smlouvy, musíte získat od Oracle nebo prodejce Oracle platnou licenci programu podle zvláštní dohody, která umožňuje takové využití. Berete na vědomí, že programy nesmějí být určeny k produkčnímu užití a/nebo společnost Oracle nemusí provést zpřístupnění verzi programů k produkčnímu užití nebo jiným účelům; jakýkoli vývoj nebo jiná práce, kterou provádíte s programy, je na vaše riziko.

Vlastnictví

Společnost Oracle nebo její poskytovatelé licencí si ponechávají veškeré vlastnické právo a práva duševního vlastnictví k programům.

Poznámka k překladu

Nejedná se o kompletní licenční podmínky, ale pouze stručný výtah toho, co považuji za důležité. Rovněž se nejedná o oficiální překlad od Oracle, ale ode mě, takže je možné, že podmínky nemusí být naprosto shodné s vyjádřením české pobočky Oracle. Pouze jsem se snažil překlad do jednodušší češtiny.

Cena licence

Zde, na této stránce jsou uvedeny ceny za využívání licence Java SE z dílny Oracle. Licence pro desktop vychází na 2,5$/ měsíc a server (vč. cloudu) na 25$/měsíc/pro­cessor. Samozřejmě jsou dostupné i množstevní slevy .

Závěr

Oracle Java JDK lze tedy bez problémů zdarma použít pro vývoj aplikace, či její prezentace u klienta (zákazníka), ale nikoliv pro její fungování u klienta (zákazníka). Nicméně jsem narazil i na výklad, jenž to popírá a to tak, že pro vývoj aplikace, která je zaměřena k prodeji, nelze použít Oracle JDK. Tento výklad se mi ovšem nezdá správný.

OpenJDK a její implementace

Alternativou Oracle JDK je přechod k free Javě, tzv. OpenJDK, uvolněném pod licencí GPL v2, jenž má free JVM. Některé implementace OpenJDK již mají Java11, některé jedou stále na Java8. Samozřejmě doporučuji opět pro jistotu zkontrolovat licenční ujednání, technickou podporu, aktualizace, apod..

Budoucnost Javy

Zajisté se možná ptáte co nám ekosystém Javy dále přinese. Přidám tu pár obrázků stažených z různých blogů po internetu, které byly zveřejněny. Nicméně upozorňuji, že Oracle již párkrát provedl drastické změny, takže to co nyní platí nemusí platit v roce 2022, 2025, 2030.

Krátkodobý výhled

Zde je výhled do roku 2020. Je patrno, že budou podporovány Java7, 8, ale k balíčkům oprav se nedostanete, pokud nemáte zaplacenou technickou podporu od Oracle. Java 9, 10 nebude dostávat žádné balíčky oprav. Java11 bude dostávat balíčky oprav a označení bude stále Java11. Balíčky oprav pro OpenJDK budou každého půl roku, ale označení OpenJDK bude vyšší. (tvz. Java11.0.3 = OpenJDK12.0.1 , Java11.0.5 = OpenJDK13.0.1). Podle zdrojů by API obou, tedy OracleJDK a OpenJDK, měla být identická.

Dlouhodobý výhled

Z tohoto obrázku lze vidět do kdy budou podporovány starší verze Javy (6, 7, 8 ). Dále lze pozorovat u Javy přechod na LTS (long term support) s tím, že každé 3 roky bude vydávána nová Java LTS. Označení 18.9 definuje 18 rok a 9 měsíc. Takže Java11 je vlastně Java18.9 LTS. Podpora Java LTS bude cca 8 - 9 let. Dále můžete vidět, že OpenJDK bude vycházet zhruba každého 1/2 roku.

Jak používat OpenJDK je ukázáno v článku Nastavení OpenJDK v Eclipse IDE.

Pokud se někdo domnívá, že nějaká informace v článku není v pořádku, můžete se i s argumentací vyjádřit v komentářích pod článkem. Pokud vaše argumentace bude dávat smysl, článek v závislosti na tom upravím. Nereaguji každý den, skutečně na to nemám a nebudu mít čas, takže prosím počítejte s tím, že budu reagovat např. za týden, či dva.


 

 

Článek pro vás napsal Robert Michalovič
Avatar
Jak se ti líbí článek?
2 hlasů
Programuji převážně v Javě SE,EE a trochu nativním C a CUDA. více viz.https://cz.linkedin.com/in/robert-michalovic
Předchozí článek
Java kompilace a build v příkazovém řádku - library a užití
Všechny články v sekci
Java - Pro pokročilé
Miniatura
Následující článek
Nastavení OpenJDK v Eclipse IDE
Aktivity (9)

 

 

Komentáře

Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Jindřich Máca:6. února 17:30

Za mě určitě dobré shrnutí. Sám nestíhám situaci kolem Javy moc sledovat a tohle mi pomohlo ujasnit si pár věcí, takže díky! :)

 
Odpovědět  +2 6. února 17:30
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:6. února 19:55

Článek jsem naodkazoval z úvodního dílu o Javě.

Odpovědět  +1 6. února 19:55
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Luboš Běhounek Satik:6. února 22:42

Neco jsem spatne pochopil nebo Oracle opravdu chce prizabit Javu?

Odpovědět  +2 6. února 22:42
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Luboš Běhounek Satik
Robert Michalovič:8. února 6:18

To nevím, nicméně těch co se to učí se to vůbec nedotkne. Ti co si vyvíjejí doma(homemade) těch taky ne. Pouze komerční vývoj pokud bude používat Oracle Java JDK by měl platit nebo bude porušovat licenční podmínky. Dále klienti co mají aplikace jimž běží nyní JRE a budou chtít aby běžely na Javě11 a vyšších by měli platit taky.

Rozhodně již v ekosystému Javě nebude taková volnost jako byla pokud chceme dodržovat licenci. Stále lze vyvíjet pod Java7,8,9,10(ta 10tka není špatná) dokud to budou podporovat OS a to minimálně 10 let půjde. Ještě nyní jedou různé služby a projekty vyvinuté na Java4,5.

Nicméně jsem zvědav jak se to dotkne Androidu a metajazyků jako je např. Kotlin až začnou přecházet na Javu11.

 
Odpovědět 8. února 6:18
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.