Uroš Mesojedec: Cena svobode
V Sunu so za odprto kodo jave izbrali kar dovoljenje GPL! Java s tem postaja svobodna. In to lahko računalništvo temeljito spremeni.
Po dolgih letih pričakovanj in najrazličnejših namigovanj, se je končno zgodilo: java je postala svobodna. Tako svobodna, da ji je sam Richard Stallman, oče projekta GNU in tvorec "dovoljenja za svobodo" GPL, dal svoj javni blagoslov in razglasil, da "javanske pasti" ne bo več. Pred leti je namreč prav on zapisal, da je programska infrastruktura, ki sicer je na voljo brezplačno, vendar ne s povsem svobodnim dovoljenjem, zahrbtna past za razvijalce. Ko ti na njej razvijejo izdelke, ki pritegnejo zadostno število uporabnikov, lahko ponudnik infrastrukture nenadoma zaostri pogoje njene rabe in s tem potegne za nos vse razvijalce, še bolj pa potrošnike, ki so nič hudega sluteč uporabljali le navidez svobodne programe.
V resnici gre za svobodo. In če se komu zdi, da je javno dostopno, brezplačno in svobodno le različno poimenovanje iste stvari, se hudo moti. Še posebej, ko pogovor zanese na polje "intelektualne lastnine", o kateri si je zanimivo prebrati ravno Stallmanovo mnenje, ki ga neutrudno ponavlja že skoraj 20 let. Nikakor ne zaman, saj se svobodni svet sooča z vedno večjimi izzivi. Svobodno programsko kodo je sprejel velik posel in zdaj se lomijo kopja. Programski patenti, SCO, Oracle in Red Hat, Microsoft in Novell... vse te zgodbe imajo skupni imenovalec - računalniška industrija se korenito spreminja in na teh primerih se bo odločilo, kakšna bo vloga programja kot samostojne industrije v prihodnosti. Na koncu gre za sisteme. Ljudje pač radi uporabljamo stvari, ki delujejo. In pri veliki večini izdelkov, ki jih kupujemo, nam pri tem pomaga še cel kup obveznosti izdelovalca, ki smo si jih potrošniki v dolgih letih le izbojevali. Pri programski opremi pa je vse preveč stvari nedorečenih.
Svobodna programska oprema je našla zagovornike predvsem v podjetjih, ki vidijo prihodnost v celovitih računalniških sistemih. Bodisi kot ponudniki celotne zgodbe, ki se ji danes reče storitve, bodisi kot ponudniki zmogljive strojne opreme, ki je ni mogoče razmnoževati tako preprosto kot neotipljivo programje. Sunov vrhovni šef je na dogodku ob objavi svobodne jave povedal anekdoto iz Brazilije. Tamkajšnji predsednik, pa čeprav je zaprisežen levičar, ni razumel, kako lahko veliko ameriško podjetje brezplačno ponuja sadove svojega dragega razvoja. Po dokaj dolgi razlagi pa se mu je posvetilo: "Aha, vi ste podjetje, ki gradi oddajnike in dajete ljudem sprejemnike zastonj". No, Sunov mož je presenetljivo dejanje pojasnil s stavkom, da "rastoča plima dvigne vse čolne". Svobodna koda bo pritegnila veliko več uporabnikov, bolj ozaveščene med njimi ne bo več skrbela "javanska past", sama programska infrastruktura pa lahko zaradi svobodnega dovoljenja doživi rast in napredek, kot ga ravno zaradi GPL uživa Linux.
Podrobnosti so še kako pomembne. Sun se je odločil, da bo osvobodil celotno podlago, kar pomeni izvajalni sistem in vse knjižnice, ki tvorijo bodisi mobilno različico Java ME, osnovno različico SE in najzmogljivejšo, poslovno EE. Dela je še precej, zato bodo posamezni kosi tehnologije na voljo postopoma, v naslednjega pol leta pa naj bi se sprostilo bolj ali manj vse. Standardna različica jave bo v dovoljenje GPL dodala izjemo "classpath", kar pomeni, da bodo vsi javanski programi, ki bodisi statično ali dinamično povežejo javanske knjižnice, še naprej lahko distribuirani pod katerimkoli dovoljenjem. Te izjeme pa Java ME ne pozna. Ta podrobnost je nadvse zgovorna: na področjih, na katerih je Sun predvsem sistemski ali, če želite, strojni ponudnik, je java skupaj s knjižnicami svobodna tudi za razvoj lastniških projektov, na področju vgrajenih in mobilnih sistemov pa bo Sun še naprej pobiral licenčnino od podjetij, ki jo želijo prilagoditi. GPL je "virusen", zato ga je Microsoftov šef Ballmer tudi razglasil za rak, kar pomeni, da se prenese na vse projekte, ki gradijo na kodi, dostopni pod tem dovoljenjem. Povedano na kratko, kode, enkrat izdane pod GPL, ni več mogoče skriti. Lahko jo uporabimo v lastnem izdelku in ga celo prodajamo, vendar moramo vsem omogočiti dostop do celotne izvirne kode našega izvedenega izdelka pod natančno istimi pogoji. To je seveda pošteno, hkrati pa vir neskončnih polemik in nerazumevanja. GPL seveda ne pomeni, da lastne programe, ki smo jih napisali za npr. operacijski sistem GPL, ne moremo prodajati brez izvirne kode. Oracle ponuja svojo zbirko podatkov za velike denarje, teče tudi na Linuxu, izvirne kode pa ne moremo dobiti. Z lastno kodo lahko počnemo, karkoli želimo, če pa v naših izdelkih uporabljamo kodo GPL, pač moramo upoštevati pravila.
Kaj pa novica pomeni za projekte odprtokodne jave, med katerimi sta najbolj znana GNU Classpath ter Apache Harmony? Zaradi izbire GPL sta zdaj java SE in Classpath enakovredna in lahko poljubno izmenjujeta kodo. Harmony pa s svobodno javo ni združljiv. Dovoljenje Apache namreč dovoljuje vgradnjo kode tudi v lastniške izdelke in ni virusen kot GPL. Zato tudi negodovanje IBM, ki je pričakoval drugačen razplet. Harmony bo tako živel še naprej in se bo moral z novo, svobodno javo boriti za miselni delež neodvisnih razvijalcev, kot se npr. borita Linux in različni BSDji. Nova resničnost bo zelo vplivala tudi na razvoj odnosov med razvojnima ogrodjema Eclipse in NetBeans. Svobodna java je največ, kar je Sun lahko naredil za zbližanje obeh. Z resnim interesom industrije lahko razmeroma hitro dobimo novo superpodlago, ki bo združila najboljše iz obeh svetov.
Najzanimivejša zgodba pa se bo pisala na vmesnem in uporabniškem sloju programske opreme. Izbira GPL bo javo nedvomno še bolj utrdila na obeh. Mono nenadoma sploh ni več privlačna izbira, dodatno pa mu nagaja sveži dogovor Microsofta in Novella, ki bo neodvisne razvijalce prej odgnal, kot pritegnil. Razvijalci na namizju bodo končno lahko obravnavali javo kot resno alternativo drugim uveljavljenim orodjem, saj z novostmi Jave SE 6 in prosto dostopnostjo ponuja resnično učinkovito in varno okolje za hiter razvoj programske opreme novega rodu.
Java lahko zaradi svobodnega dovoljenja doživi rast in napredek, kot ga ravno zaradi GPL uživa Linux.