Objavljeno: 25.6.2005 10:49 | Avtor: Uroš Mesojedec | Monitor Junij 2005

Uroš Mesojedec: Harmonija

Uroš Mesojedec: Harmonija

V množici okroglih jubilejev, povezanih s temeljnimi gradniki sodobne računalniške industrije, ki jih proslavljamo zadnja leta, je dokaj neopaženo minila 10. obletnica javne oznanitve jave, ki se je zgodila 23. maja 1995 na konferenci SunWorld.

Java je kot podlaga za razvoj drugačne programske opreme doživela velik uspeh, najmogočnejšega v najmanj in najbolj zmogljivi različici, prenosnih napravah in programskih strežnikih za poslovno programsko opremo, nekoliko slabše pa se je odrezala na računalniških namizjih, predvsem zaradi nesrečne dediščine prvih različic, ki so bile resnično neučinkovite in preveč hroščate. Celo sam Sun je "java deskop" zgradil okoli različice Linuxa z grafičnim okoljem Gnome, kjer je java za namizje le dodatek. Verjetno pa je največji poklon javi Microsoftovo programersko ogrodje .net, ki je praktično njen popoln klon, seveda z izboljšavami, ki so jih prinesla leta izkušenj in novi trendi.

Odgovorni možje pri Sunu so prav gotovo z ljubosumjem spremljali uspeh, ki ga je pobuda .net požela tudi v svetu odprte kode. Projekt Mono je napredoval z zavidljivim tempom in danes ponuja zelo kakovostno alternativo za izvajanje novega programja, ki je bilo razvito za ogrodje .net. Zaradi liberalnega dovoljenja za uporabo si je Mono utrl pot v številne distribucije operacijskih sistemov, z novim lastnikom, Novellom, pa je pridobil tudi ustrezno finančno zaledje in nove razvijalce, tako da vse kaže na še svetlejšo prihodnost, če ... Če ne bi nad prihodnostjo odprtokodne različice izvajalnega okolja za .net visel Damoklejev meč Microsoftove intelektualne lastnine. Grožnja nikakor ni zgolj navidezna, slabih izkušenj iz preteklosti pa prav tako ne manjka, a Mono se je kljub temu med neodvisnimi razvijalci in manjšimi podjetji lepo prijel. Java, na drugi strani, v ta svet vstopa z velikimi težavami.

Deseta obletnica je prav gotovo priložnost, da Sun znova pretehta popolnoma odprto različico jave, ki je nikakor ne uspe izdati. Javi namreč do popolne odprtosti manjka droben, a zelo pomemben detajl: prosto dovoljenje za uporabo. Sun se trudi temu cilji približati na najrazličnejše načine, a vedno obupa pred zadnjim korakom. Izvirna koda jave je brezplačno na voljo vsakomur, ki pristane na Sunove pogoje. Ti sicer niso nič strašnega, vseeno pa preprečujejo, da bi kakorkoli samovoljno spremenili eno samo vrstico v njej. Dovoljenje za uporabo SCSL je zaradi prevelike zapletenosti doživelo skoraj popoln polom in Sun ga nadomešča z novima, preprostejšima in še bolj odprtima različicama, vendar Richard Stallman še vedno opozarja na "javansko past". Oče proste programske kode s tem izrazom označuje programsko opremo, ki je sicer popolnoma prosta, vendar za svoje izvajanje nujno potrebuje okolje (bodisi prevajalnik, tolmač, knjižnice ali operacijski sistem), ki ni prosto. In Sunova java po strogih Stallmanovih kriterijih to nikakor ni. Da ne gre zgolj za cepljenje dlak, dokazujeta projekta GCJ in Classpath, v katerih počasi nastaja popolnoma prosta različica jave, ki pa, sodeč po dosedanjem tempu, še dolgo ne bo ujela zmogljivosti Sunove, uradne različice, ki se medtem seveda še naprej dopolnjuje in izboljšuje.

Zakaj toliko hrupa okoli proste jave? Navkljub izjemni priljubljenosti in veliki zmogljivosti, java preprosto ni sestavni del nekomercialnih distribucij operacijskih sistemov, kot sta npr. Linux ali FreeBSD. Javo je treba nameščati posebej, za vsak sistem, kjer bi želeli izvajati tovrstne programe, poleg tega pa smo obsojeni na le tiste podlage, kjer nam je javanski izvajalni sistem nekdo že pripravil. Le redko kdo ima znanje in vire, da bi si sicer brezplačno dostopno izvirno kodo prilagodil in uspešno prevedel za lasten sistem. Razvijalci, ki želijo nadgrajevati odprtokodne operacijske sisteme, tako preprosto niso motivirani za razvoj pripomočkov in namenskih programov v javi, saj bodo imeli uporabniki lahko hude težave, preden jih bodo sploh lahko prvič zagnali.

Sun je podrezal tudi IBM, mogočnega partnerja in vnetega zagovornika jave, ki si ravno tako želi popolnoma proste različice. IBM je razvil svojo različico jave (celo več različic, za različne strojne podlage, ki jih trži), vendar mu najverjetneje izvorni dogovor s Sunom preprečuje, da bi jih izdal kot prosto kodo. Namesto tega podpira številne druge projekte, npr. prosti prevajalnik za javo, jikes.

Zdaj je v celotno dogajanje okrog nadaljnjega odpiranja jave posegla še ena, zelo vplivna organizacija: Apache Software Foundation (ASF). Čeprav so pri ASF najbolj poznani po svojem spletnem strežniku, ki je že leta nesporni vladar tega tržišča s skoraj 70 % deležem, izjemno veliko projektov temeljijo na javi. Skupnosti razvijalcev so že ponudili zelo uspešne projekte, kot je javanski spletni strežnik Tomcat, ogrodje za izgradnjo spletnih uporabniških vmesnikov Struts, pripomoček za izgradnjo projektov Ant, infrastrukturo za objavljanje dokumentov v spletu Cocoon, vse bolj opazen pa je tudi razvoj njihovega programskega strežnika Geronimo, katerega cilj je popolna skladnost z najbolj zmogljivo javo (J2EE). Vse več projektov ASF tako postaja odvisnih od prihodnosti jave in Stallman si najverjetneje mrmra v svojo košato brado, kako so že pregloboko zabredli v javansko past.

Vendar je samozavest programerjev v ASF zelo velika. Po neuspešnem čakanju na pravo potezo Suna so se zganili sami in najavili nov projekt, Harmony. Cilj te harmonije je povezati najrazličnejše pobude in delno dokončane projekte prostih alternativ javi v resnično konkurenčno različico, popolnoma skladno s podlago J2SE in dostopno pod prostim dovoljenjem za uporabo. Poleg že omenjenih projektov gibanja za povsem prosto kodo, obstaja še zanimiv projekt Kaffe, ki je razvil uspešno, povsem neodvisno izvedbo javanskega izvajalnega stroja. Glede na izjemno uspešno zgodovino projektov, ki se jih je ASF lotil, je lahko njihovo sodelovanje pri harmonizaciji različnih koščkov proste različice jave odločilno. Še posebej, če vmes dozori tudi projekt Geronimo, ki bo dodal še knjižnice in storitve, potrebne za podporo celotnega sklada javanskih tehnologij. Usluge ASF sta v svojih izdelkih zelo uspešno uporabila tudi dva velikana računalniške industrije, ki zadnja leta čvrsto stojita tako za javo kot za Linuxom, namreč IBM in Oracle. Če bosta vsaj z delčkom svojih virov pristopila tudi k harmoniji, je njen razvoj lahko bliskovit. Vprašanje je seveda, kakšne temeljne dogovore imata omenjeni podjetji s Sunom.

Ker so fantje in dekleta pri Apachu trdno zavezani spoštovanju standardov, je strah pred drobljenjem podlage odveč. Ravno ta strah je najverjetneje poglavitni razlog Sunovega mencanja, saj bi več nezdružljivih različic omajalo enega ključnih temeljev jave: napiši enkrat, poganjaj povsod. Vendar časa ni več, drobitev se bo z nadaljnjim mencanjem zagotovo zgodila. Morda pa bo harmonija ostala le najava. Pred leti so namreč razvijalci KDE najavili projekt enakega imena, katerega cilj je bil razvoj proste različice programskega ogrodja Qt. Projekt se ni nikoli razvil, izvirni avtor Qt ga je - tudi zaradi tega pritiska - kar sam ponudil kot popolnoma prosto kodo.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji