Ein ny soloppgang for Java?

Av Jakob Breivik Grimstveit, seniorkonsulent i Webstep AS

Programmeringsspråket Java vart i november i fjor erklært som eit fullverdig fri kjeldekode-prosjekt. Java er med dette, etter mykje intern politisk dragkamp hos Sun Microsystems, endeleg lisensiert under GNU General Public License (GPLv2). Frå før å ha verna om Java-teknologien med eit rigid regelverk (SCSL), får no alle som ynskjer det tilgang til oppskrifta på blant anna teknologiane J2SE, J2EE og J2ME under ein veldig liberal lisens. Kva er årsaka til dette tankeskiftet, og kva for konsekvensar vil dette ha for Sun og dei tallause bedriftene som er avhengige av Java-basert teknologi?

Det er ikkje tvil om at Sun Microsystems har gjort eit svært klokt valg ved å lisensiere programmeringsspråket Java med GPL, både politisk, strategisk såvel som økonomisk, noko eg vil freiste å gjere greie for i denne artikkelen.

Før ein går inn på årsak og konsekvens, kan det vere greit å kjapt skissere kva lisensen GNU General Public License i klartekst går ut på. Altså: Om du mottek eit åndsverk lisensiert under GPL, får du også eit sett med rettar som fortel deg kva du kan gjere, og kva du ikkje kan gjere med dette åndsverket. Du har blant anna rett til å kopiere og vidaredistribuere åndsverket, samt vidareutvikle utgåver av dette. Du kan også ta ei avgift for vidaredistribusjon, noko som gjer komersiell utnytting av GPL-lisensiert åndsverk mogleg.

Det viktigaste med GPL-lisensen er likevel at programvare som blir distribuert i kompilert/binær form også må kunne leverast som kjeldekode. Med andre ord: Oppskrifta til produktet må gjerast tilgjengeleg, slik at det er mogleg å gå inn i konstruksjonen og analysere alle ynskjelege detaljar for å finne feil, høve for utbetringar og eventuelt potensiale for optimalisering, ein prosess som på nynorsk ofte vert kalla for "peer review". Kollega Øystein Aadland skreiv svært dekkande om denne prosessen i mai 2005 i Computerworld under overskrifta "David mot Goliat - igjen": "Fiksen ble hentet fra kolleger med tilsvarende utfordring. Løst med andre ord, og uten det som ville vært et sannsynlig alternativ med andre produktleverandører: En ventetid omvendt proporsjonal med størrelsen på selskapet med supportansvaret".

Opninga av Java vil utvilsomt få store ringverknader, ikkje minst innanfor heterogene miljø, til dømes under operativsystem som GNU/Linux, FreeBSD og andre spesialiserte BSD-variantar. Desse miljøa har ofte ein meir utstrakt bruk av fri og open programvare, og er godt kjent med fordelane ved dette. Ved å ha tilgang på kjeldekoden til Java vil dei difor kunne gå inn og rette feil og manglar. Før var ein gjerne nøydd til å vente seks til tolv månadar frå innrapportert feil til problemet var retta opp i ein nyare versjon. No kan ein ta spaden i eigne hender og rette opp i feilen sjølv. Løysinga på feil vert i dei aller fleste samanhengar også rapportert tilbake til opphaveleg produsent. Sun vil på denne måten få tusenvis av ubetalte korrekturlesande og feilfiksande ekspertar spreidd ut over heile verda, som kun opererer i eiga interesse - å produsere eit så velfungerande Java-miljø som mogleg. Denne strategien har frå før av vist seg å fungere framifrå i svært mange fri kjeldekode-prosjekt. Mark Shuttleworth, grunnleggar av blant anna Ubuntu Project, uttalte i sakens anledning at "ved å kombinere Sun sin industrielle ekspertise saman med den tilnærma uendelege kreativiteten og tilpassingsevna som fri kjeldekode-miljøet kan vise til, vil resultatet bli svært kraftig".

Ved at utviklarar over heile verda får tilgang til samtlege byggeblokkane som utgjer Java, vil ein også sjå ymse spesialiserte og esoteriske variantar av Java dukke opp. Kvar nye utgåve vil prøve å adressere ei problemstilling i språket, og vil vekke interesse i miljøet proporsjonalt med kor teknisk god og raffinert løysinga er. Før var Java ein bil som kunne få deg frå A til B, no kan kven som helst skru bilen frå kvarandre og sette saman eit heilt nytt fartøy, med potensiellt mange nye idear som ikkje hadde dukka opp om kun eit fåtal utviklarar hadde jobba med det. Sun tar likevel ingen stor risiko med å slippe så mange kokkar inn på kjøkkenet sitt, ettersom Java-teknologiane allereie er nøye spesifiserte i såkalla Java Specification Requests gjennom Java Community Process, der selskap som Oracle, Red Hat, Google, Intel og sjølvsagt Sun er medlemmer. Norwegian Unix User Group (NUUG) var fort ute med å gratulere Sun Microsystems med vedtaket om å lisensiere Java under GPL. Leiar i NUUG, Petter Reinholdtsen, uttalte i ei pressemelding dagen etter at dette "endelig [vil] gjøre Java aktuelt som utviklingsverktøy for verdens utviklere av fri programvare".

Det kan kanskje verke som ei bedriftsøkonomisk dumdristig handling å gje frå seg verdifull teknologi på denne måten, men programvare og idear har ikkje samme eigenskapar som fast eigedom. Sun vil alltid sitje med brorparten av utviklingsansvaret og infrastrukturen, samt den reelle kontrollen over den standardiserte utviklinga av teknologien. Risikoen for at prosjektet kan dele seg ("fork") og gå i forskjellige retningar er alltid til stades, men Sun vil med GPL-lisensen alltid kunne ta med seg det beste av ei eventuell prosjektforgreining og forbetre sitt eige produkt. Dei fleste utbetringane vil også komme frå store etablerte selskap som kun er interessert i vidare stabil utvikling av Java. For Sun er det no viktig å betrakte rolla si som ein koordinator av eit fellesskap, og prøve å få mest ut av dei nye kreftene vil vere med på laget. I denne samanhengen må dei nå sjå til eksisterande og velfungerande GPL-prosjekt, som til dømes operativsystemet Linux og kontorverktøyet OpenOffice.org.

Sun har utan tvil innsett dei bedriftsøkonomiske fordelane med å tilby Java som eit GPL-lisensiert produkt. At ein med på lasset får eit enormt stort og høgkompetent utviklarmiljø som ivrar etter å forbetre, optimalisere og utvide produktet, er utvilsomt positivt. Når Sun i samme andedrag får store mengder med gratis lovprisande presse og goodwill i kretsar Sun ikkje tidlegare har vore involvert, verkar slutninga svært innlysande. Med å åpne opp for større idémyldring og meir parallell utvikling vil Java-miljøet, med gode gamle Sun på slep, trulegvis gå ei svært lovande framtid i møte. Me ynskjer dei velkommen tilbake på banen!

Meir om temaet