Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Java jako open source: sen se stává realitou

Společnost Sun Microsystems, která vytvořila a vyvíjí Javu, je už mnoho let přímo bombardována požadavky na otevření celého software a uvolnění kódů pod open-source licencí. Nyní byly prosby konečně vyslyšeny a velmi brzy se dočkáme open-source Javy. Co nám to přinese? Budou všichni konečně spokojeni?

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Trocha historie

Základy Javy byly položeny už v roce 1991, kdy James Gosling začal pracovat na projektu Oak (česky Dub). První veřejná verze Javy 1.0 byla ale vydána až o čtyři roky později, tedy v roce 1995.

Cílem Goslinga bylo vytvořit virtuální běhové prostředí a samostatný programovací jazyk, který by byl velmi podobný jazyku C, ale byl by zároveň jednotnější a přehlednější.

Java se začala záhy rozšiřovat, velmi rychle ji přijaly například webové prohlížeče a další aplikace. Hlavní výhodou proti staticky kompilovaným jazykům je a byla multiplatformnost napsaných aplikací. V souvislosti s touto vlastností se velmi často používá zkratka WORA, která znamená „Write Once, Run Anywhere”. Do češtiny bychom to mohli přeložit jako „Napiš to jednou, poběží všude”.

Projekt od počátku spravuje společnost Sun Microsystems. Ta se v roce 1997 pokusila o standardizaci celé Javy v rámci ISO/IEC standardů. Nakonec od celého procesu upustila. I přesto je Java de facto průmyslovým standardem.

Otázka kompatibility

Sun se z pochopitelných důvodů úzkostlivě snaží udržet Javu maximálně kompatibilní. Požadavek, aby Java byla vždy Java, je důležitý zejména kvůli WORA, ale také kvůli jednotnému přístupu všech vývojářů, kompatibilitě knihoven a podobně.

Licence Javy jako takové nutí všechny implementátory udržovat tuto kompatibilitu. Sun kvůli tomu dokonce vyvolal oficiální spor s Microsoftem. Předmětem sporů byla některá rozhraní Javy, které Microsoft ve své implementaci nepodporoval, a také funkce, které si naopak svévolně přidal.

Tím se staly obě implementace (Sunu i Microsoftu) částečně nekompatibilními. Spor se nakonec dostal až před soud, který dal za pravdu Sunu. Ten dostal jak finanční odškodnění ve výši 20 milionů USD (kurzy), tak i morální satisfakci ve formě příkazu, který nutil Microsoft zavést potřebné úpravy vzhledem k licenci.

Odpovědí Microsoftu bylo nakonec stažení Javy z novějších verzi MS Windows. Nyní tedy již součástí instalace není microsoftí implementace Javy.

Aktuální licence

V současné době je Java k dispozici pod licencí Sun Community Source License. Tato licence je určena komerčním subjektům a využívají ji například IBM a Oracle. Existuje ještě speciální varianta této licence nazvaná Java Research License. Jejím účelem je podpořit vývoj v akademické sféře.

Licence Javy je už velmi dlouho považována za problematickou, protože je příliš přísná a naprosto nesvobodná. Licence například zakazuje jakékoliv šíření úprav provedených na kódu a podobně.

Existuje ovšem mnoho vývojářů, kterým právě tato licence vyhovuje. Nejčastěji uváděným kladem je sjednocenost Javy, kterou neruší volně vytvářené větve a odnože.

Hlasy odpůrců ovšem zaznívají také velmi hlasitě. Problémy vytváří licence například ve světě svobodného software. SCSL nebyla nikdy oficiálně uznána OSI, takže se v pravém slova smyslu nejedná ani o open-source, natož o svobodný software. Není proto divu, že Java nemůže být zařazena do mnoha distribucí (například Debian), nemůže být distribuována s řadou projektů a podobně.

Sám Sun se velmi často s ohledem na licenci ohání právě odmítavým postojem ke štěpení vývoje, které by mohlo být otevřením zdrojových kódů (ve smyslu open-source licence) způsobeno.

Na druhé straně je ovšem početný zástup open-source vývojářů, kteří nejsou schopni nesvobodnou licenci celého prostředí překousnout a odmítají vyvíjet v Javě open-source projekty. Problémem je jednak uzavřenost jejího vývoje, ale také nedostupnost Javy v běžných distribucích.

Mnoho odborníků také tvrdí, že otevření Javy by přineslo výrazné urychlení vývoje a umožnilo by rychleji implementovat nové a zajímavé technologie.

Sun v květnu roku 2006 připravil speciální licenci nazvanou Operating System Distributor's Li­cense, která umožňuje výrobcům distribucí zařadit Javu mezi balíčky.

Co s licencí dál

První seriózní informace o otevření Javy se objevily v červnu roku 2006. Tehdy Simon Phipps řekl, že by k otevření Javy mělo dojít během pouhých několika měsíců. Naznačil také problémy, které je potřeba dořešit, zejména ty s kompatibilitou nových implementací, které by mohly vzniknout.

„Udržet oba tyto rozměry kompatibility je naprosto nutné, protože trh okolo Javy je ohromným a otevřeným trhem, kde mnoho společností slouží dalším společnostem,” řekl v červnu Simon Phipps.

Konkrétní informace se pak objevily o čtyři měsíce později, přesněji na konci října. Vice president Sunu Rich Green skutečně potvrdil snahu Sunu vydat Javu pod open-source licencí. Stát by se tak podle Greena mělo během několika měsíců. Hlavní části Java SE by měly být k dispozici ještě do konce roku 2006, další části JDK se pak objeví v první části roku 2007.

Výběr licence

Většina pozorovatelů předpokládala, že Sun uvolní kód pod svou vlastní open-source licencí CDDL. Tato licence je založená na Mozilla Public License a vyvinul si jí sám Sun. OSI ji v roce 2004 uznala jako oficiální open-source licenci. Bohužel tato licence není kompatibilní s GNU GPL.

Nakonec přišlo překvapivé oznámení, že se Sun rozhodl pro zveřejnění kódů pod GNU GPL.

Každopádně nebude zveřejněno sto procent všech kódů. Některé totiž vycházejí z práce třetích stran a Sun nemá svolení k jejich uvolnění pod GPL. Většina kódu ale uvolněna bude.

Budoucnost Javy?

Otázka otevření Javy mnoho uživatelů potěšila, jiní se ale obávají budoucích potíží. S oznámením vydání pod GNU GPL otazníků ještě přibylo. Je jasné, že se bude jednat o veliký milník v životě Javy. Otázkou zůstává, kam nová cesta povede.

Volba GNU GPL se může na první pohled zdát nesmyslná, především s ohledem na tříštění implementací. Když se ale nad problémem zamyslíme do hloubky, zjistíme, že je to velmi promyšlený krok.

Volba licence naprosto zamezuje vzniku uzavřených a komerčních implementací. Zároveň budou k dispozici kódy všech odvozených výtvorů. Jakékoliv úpravy tak budou moci být později začleněny do originálního vývojového stromu.

Tím, že Sun zvolil velmi otevřenou licenci GNU GPL, tak automaticky zabrání vzniku nekompatibilních uzavřených odvozenin, které si nikdo nepřeje. Je tak pravděpodobné, že bude nastartován velmi intenzivní proces nového vývoje.

Je zřejmé, že samostatné verze Javy vzniknou. Otázka je, kolik jich přežije a přinese skutečně zásadní změny, které zaujmou uživatele. Pokud se takové úpravy objeví, určitě budou zajímavé i pro Sun, a ten je zřejmě začlení do oficiálního stromu. Ten bude jistě existovat i nadále a drtivá většina uživatelů i vývojářů bude pro přípravu a provoz svých projektů stejně používat oficiální balíky Sunu.

Anketa

Co se po vydání pod GNU GPL změní?

       

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Školení: Návrh a používání MySQL databáze

 

Naučte se používat jednu z nejrozšířenějších databází. Dozvíte se vše potřebné od návrhu až po samotné využití MySQL v projektech.

Školení pro všechny, kteří se chtějí naučit efektivně pracovat s MySQL nebo se v práci s touto databází zlepšit.

Přihláška a podrobné informace

Ohodnoťte jako ve škole:
Průměrná známka 2,80

Přehled názorů

roote, roote
petr 9. 11. 2006 00:19
Nový
├ 
Re: roote, roote
anonymní uživatel 9. 11. 2006 00:45
Nový
│
├ 
Re: roote, roote
jenda 9. 11. 2006 21:44
Nový
│
└ 
Re: roote, roote
Palo 11. 11. 2006 15:25
Nový
└ 
Re: roote, roote
n00b 12. 11. 2006 14:41
Nový
Freedom vs compatibility
abyssal 9. 11. 2006 00:50
Nový
└ 
Re: Freedom vs compatibility
Sid 9. 11. 2006 09:26
Nový
anketa
myx 9. 11. 2006 08:44
Nový
└ 
Re: anketa
hisaak 9. 11. 2006 09:26
Nový
 
├ 
Re: anketa
msk 9. 11. 2006 11:55
Nový
 
│
├ 
Re: anketa
Ivo 9. 11. 2006 13:19
Nový
 
│
└ 
Re: anketa
Ivo 9. 11. 2006 13:26
Nový
 
├ 
Re: anketa
pf 9. 11. 2006 14:45
Nový
 
└ 
Re: anketa
Palo 11. 11. 2006 15:30
Nový
Hm... no neviem
anonymní uživatel 9. 11. 2006 09:18
Nový
└ 
Re: Hm... no neviem
hisaak 9. 11. 2006 09:29
Nový
 
├ 
Re: Hm... no neviem
caepule 9. 11. 2006 12:37
Nový
 
│
└ 
Re: Hm... no neviem
Palo 11. 11. 2006 15:36
Nový
 
├ 
Re: Hm... no neviem
JirkaH 9. 11. 2006 15:05
Nový
 
└ 
Re: Hm... no neviem
Honza 9. 11. 2006 21:08
Nový
OSS licencia Javu znici
Haplo 9. 11. 2006 09:36
Nový
├ 
Re: OSS licencia Javu znici
Viktor 9. 11. 2006 10:36
Nový
│
└ 
Re: OSS licencia Javu znici
zdenek 10. 11. 2006 15:24
Nový
│
 
└ 
Re: OSS licencia Javu znici
papouch 10. 11. 2006 16:37
Nový
│
 
 
└ 
Re: OSS licencia Javu znici
Palo 11. 11. 2006 15:43
Nový
├ 
Re: OSS licencia Javu znici
Branislav Sott 9. 11. 2006 10:44
Nový
│
├ 
Re: OSS licencia Javu znici
pod přezdívkou 9. 11. 2006 11:37
Nový
│
├ 
Re: OSS licencia Javu znici
Milan Zoubek 9. 11. 2006 12:24
Nový
│
│
└ 
Re: OSS licencia Javu znici
miko 9. 11. 2006 18:14
Nový
│
│
 
└ 
Re: OSS licencia Javu znici
HKMaly 15. 11. 2006 08:25
Nový
│
└ 
Re: OSS licencia Javu znici
bpbp 10. 11. 2006 11:18
Nový
└ 
Re: OSS licencia Javu znici
o_O 9. 11. 2006 23:09
Nový
 
└ 
Re: OSS licencia Javu znici
Palo 11. 11. 2006 15:47
Nový
Cast pod GPL
Jirka 9. 11. 2006 09:54
Nový
└ 
Re: Cast pod GPL
ΩY 9. 11. 2006 10:18
Nový
 
├ 
Re: Cast pod GPL
米 兰 (milan) 9. 11. 2006 10:26
Nový
 
├ 
Re: Cast pod GPL
Jirka 9. 11. 2006 13:20
Nový
 
└ 
Re: Cast pod GPL
Palo 11. 11. 2006 16:02
Nový
 
 
└ 
Re: Cast pod GPL
caepule 11. 11. 2006 17:26
Nový
 
 
 
└ 
šablony (Re: Cast pod GPL)
Mips 12. 11. 2006 13:08
Nový
 
 
 
 
└ 
Re: šablony (Re: Cast pod GPL)
Palo 12. 11. 2006 17:52
Nový
Java gulas
petr 9. 11. 2006 10:43
Nový
├ 
Re: Java gulas
Sid 9. 11. 2006 11:15
Nový
└ 
Re: Java gulas
vd 10. 11. 2006 00:31
Nový
 
└ 
Re: Java gulas
debko 10. 11. 2006 20:03
Nový
 
 
└ 
Re: Java gulas
Palo 11. 11. 2006 16:04
Nový
gpl a komercni aplikace
karl 9. 11. 2006 12:39
Nový
└ 
Re: gpl a komercni aplikace
Trained.Monkey 9. 11. 2006 16:52
Nový
 
└ 
Re: gpl a komercni aplikace
bery 9. 11. 2006 20:39
Nový
 
 
└ 
Re: gpl a komercni aplikace
aladar 12. 11. 2006 17:52
Nový
 
 
 
└ 
Re: gpl a komercni aplikace
HKMaly 15. 11. 2006 08:32
Nový
 
 
 
 
└ 
Re: gpl a komercni aplikace
papouch 15. 11. 2006 09:12
Nový
Ne 100% ?
petr 9. 11. 2006 13:23
Nový
└ 
Re: Ne 100% ?
AX 9. 11. 2006 15:39
Nový
Zamyšlení se nad Javou
terabajt 9. 11. 2006 21:57
Nový
└ 
Re: Zamyšlení se nad Javou
vd 10. 11. 2006 00:32
Nový
 
└ 
Re: Zamyšlení se nad Javou
ow 10. 11. 2006 08:57
Nový
 
 
└ 
Re: Zamyšlení se nad Javou
petr 10. 11. 2006 12:17
Nový
 
 
 
└ 
Re: Zamyšlení se nad Javou
anonymní uživatel 14. 11. 2006 10:55
Nový
odvozená díla
Ladislav Thon 10. 11. 2006 08:52
Nový
├ 
Re: odvozená díla
Jirka 10. 11. 2006 10:05
Nový
└ 
Re: odvozená díla
Pavel Tišnovský 10. 11. 2006 12:12
Nový
 
├ 
Re: odvozená díla
Zdenek Vrablik 12. 11. 2006 17:17
Nový
 
└ 
Re: odvozená díla
Pavel Píša 12. 11. 2006 19:16
Nový
 
 
└ 
Re: odvozená díla
Pavel Tišnovský 13. 11. 2006 09:25
Nový
 
 
 
├ 
Re: odvozená díla
Zdeněk Vráblík 13. 11. 2006 21:43
Nový
 
 
 
└ 
Re: odvozená díla
Pavel Píša 13. 11. 2006 22:00
Nový
 
 
 
 
└ 
Re: odvozená díla
Pavel Tišnovský 14. 11. 2006 09:14
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem