^
Sisällysluettelo
<<Epäonnistumisen tarina (Corel)Vapautetut I: Netscape/Mozilla>>

Älä ole liian ahne (Java, Ghostscript)

Yksi Corelin Linux-seikkailun opeista oli, että Linux-yhteisö suhtautui hylkivästi CorelDrawiin ja WordPerfectiin, koska ne olivat suljettuja ohjelmia. Linux-käyttäjät olivat ymmärtäneet ja käytännön kokemustensa kautta todenneet Open Sourcen hyödyt, ja siksi suljetut ohjelmistot eivät enää jaksaneet heitä kiinnostaa, oli niistä sitten Linux-versio tai ei. Miksi palata takaisin vanhaan ja huonoksi todettuun käytäntöön, kun siitä oli juuri päästy irti?

Niille yhtiöille, jotka edelleen tekevät ja myyvät perinteisiä suljettuja ohjelmistoja – ja nämä yhtiöt ovat edelleen suuri enemmistö – Open Source on tuonut uudenlaisen haasteen. On nimittäin vain ajan kysymys, milloin suositun suljetun ohjelmiston rinnalle ilmestyy avoin kilpailija. Koska suljetut ohjelmistot eivät yleensä pysty kilpailemaan Open Source -vastineidensa kanssa ainakaan hinnalla, tietää tasaveroisen Open Source -vaihtoehdon markkinoilletulo yleensä tukalia aikoja suljetulle ohjelmalle. Esimerkiksi juuri tätä kirjoitettaessa OpenOfficen yleistyminen tietää lopun alkua Microsoft Officen jo liian kauan jatkuneelle valtakaudelle. On vain ajan kysymys milloin tietokantajätit Oracle, IBM ja Microsoft joutuvat yritysten palvelinhuoneissa tosissaan kilpailemaan kehittyviä MySQL:ää ja PostgreSQL:ää vastaan – jo nyt nämä Open Source -tietokannat pyörittävät suurinta osaa internetin web-sivuista. Tietenkin joissain tapauksissa mitään kilpajuoksua ei ole ikinä ollutkaan. Esimerkiksi avoin Apache www-palvelin on alusta asti hallinnut www-palvelimien markkinoita yli 50%:n osuudellaan suljettujen www-pavelimien jäädessä heti alkuun kuriositeeteiksi.

Mielenkiintoinen kysymys siis onkin, kauanko suljettujen ohjelmistojen valmistaja voi olettaa myyvänsä tuotettaan, ennen saman alan Open Source -kilpailijan syntymistä. Tähän kysymykseen voidaan löytää vastaukseksi ainakin tiettyjä peukalosäännön tapaisia havaintoja.

On tietenkin ilmeistä, että mitä yksinkertaisempi ohjelma on, sitä helpompi sille on tehdä kilpailija – suljettu tai avoin. Eric Raymond tarjoaa The Cathedral and the Bazaar -kirjassaan myös toista itsestäänselvältä kuulostavaa sääntöä. Mitä suositumpi ohjelma, sen todennäköisemmin siitä on Open Source -versio. Tämäkin periaate tuntuu uskottavalta. Käyttäjien, eli asiakkaiden, määrä perinteisestikin lisää kilpailua ja laskee hintoja. On selvää, että näin on myös Open Source -ohjelmistojen syntyprosesseja tarkasteltaessa. Mitä useampi käyttäjä, sen suurempi hyöty Open Source -ohjelmasta on ja sitä helpommin sen tekemiseen (tai teettämiseen) löytyy motivaatiota.

Mutta yksi mielenkiintoinen sääntö voitaisiin muotoilla seuraavasti: Liika ahneus kääntyy äkkiä itseään vastaan. Esimerkiksi OpenOfficen olemassaolo on osittain tietenkin seurausta Eric Raymondin säännöstä – toimisto-ohjelmillahan on suuri käyttäjäkunta. Mutta osittain OpenOfficen kehitystä on varmasti vauhdittanut myös se, että Microsoft on monopoliasemansa turvin röyhkeästi nostanut Office-pakettinsa hinnan niin korkeaksi, että yksityisille ihmisille ja pienille yrityksillekin on kerta kaikkiaan kohtuutonta maksaa perus-tekstinkäsittelystä niin paljon. Vaihtoehtoiselle toimisto-ohjelmalle oli tämän takia suorastaan huutava tarve.


Ahneusteoriaa tukee myös Sunin Java-ohjelmointikielen tarina. Java syntyi Sunin laboratorioissa 90-luvun alkupuolella. Sen vahvuutena pidettiin uutta alustariippumatonta virtuaalikone-mallia, jonka ansiosta samaa Java-ohjelmaa pystyi ajamaan Windowsissa, Unixissa tai missä tahansa Javaa tukevassa käyttöjärjestelmässä. Tämä ominaisuus tuli kuin tilauksesta, kun internet ja www alkoivat levitä vuoden -95 tienoilla. Samoin kuin html-sivuja pystyi lukemaan millä tahansa tietokoneella, pystyisi Java-appletteja (suomeksi sovelmia, "pieniä sovelluksia") käyttämään millä tahansa tietokoneella.

Vaikka applettien käyttö alkuinnostuksen jälkeen lopahtikin, vakiinnutti Java hiljalleen asemansa ja on nykyään jo maailman suosituin ohjelmointikieli.32 Alustariippumattomuudella oli tähän varmasti osansa, mutta paljon on johtunut varmasti myös siitä, että selkeiden olio-ohjelmointirajapintojensa, yksinkertaisuutensa ja eräänlaisen akateemisen kauneuden johdosta Javaa opetetaan nykyään kaikissa yliopistoissa.

Java-kielellä on luonnollisesti toteutettu myös monia Open Source -ohjelmistoja. Erityisesti Apache-säätiö on niittänyt mainetta monilla Java-maailman ohjelmilla, joita hyödyntävät myös kaupalliset Java-yhtiöt. Tästä huolimatta itse Javasta, eli kirjoitetun lähdekoodin tietokoneohjelmaksi muuntavasta Java-kääntäjästä ja ohjelman suorittamiseen tarvittavasta Java-virtuaalikoneesta, ei ole olemassa varteenotettavaa Open Source -toteutusta.

Javan nuoruusvuosina sille kehiteltiin kilpailijaa Kaffe-nimisen Open Source -projektin puitteissa. Kaffe oli aina hieman jäljessä Sunin virallisesta Javasta, mutta kuitenkin monesti ihan käyttökelpoinen. Nykyään Kaffe on kuitenkin jäänyt pahasti jälkeen muusta Java-maailmasta. Se on monissa yksittäistapauksissa edelleen käyttökelpoinen, mutta jo viisi vuotta sitten julkistettua Java 2 standardia se ei vieläkään tue.

Kaffe on pelkkä virtuaalikone, ei kääntäjä. IBM:ltä taas löytyy suhteellisen käyttökelpoinen Open Source Java-kääntäjä nimeltä Jikes. Jikes on Kaffeen verrattuna pysynyt hyvin mukana Javan kehityksessä. Mutta Jikes taas on vain kääntäjä, se taas ei osaa suorittaa ohjelmia. IBM:llä on kehityksen alla myös Jikes-virtuaalikone, mutta se ei ihan vielä täytä virtuaalikoneelle asetettuja vaatimuksia, vaikka joitain yksittäisiä Java 2 -sovelluksia sillä jo voikin ajaa.

Myös Free Software Foundation on viime vuosina pannut lusikkansa Java-soppaan, ja ruvennut puuhaamaan Java-tukea kunniakkaaseen GCC-kääntäjäänsä, joka jo ennestään tukee lähes kaikkia muita ohjelmointikieliä. Tämä GCJ-projekti on suurin piirtein Jikes-virtuaalikoneen tasoa: melkein, mutta ei ihan toimiva.

Javankin kanssa on vain ajan kysymys, ennen kuin Open Source -vaihtoehdot korvaavat Sunin "virallisen" Javan. Javaa odottaa sama kohtalo kuin C- ja C++ -kieltä, jossa Free Software Foundationin GCC on jo pitkään ollut standardi, johon kaupallisten pelureiden suljettuja vaihtoehtoja verrataan.

Sun on kuitenkin pystynyt pyristelemään vastaan kohta 10 vuotta. Ottaen huomioon kuinka suosittu kieli Java on myös Open Source -leirissä, tämä on merkittävää. Olisi voinut olettaa, että hakkerit tekevät ideologiaansa sopivan vaihtoehdon huomattavasti rivakammin.

Osittain pitkä aika johtuu varmaankin tehtävän vaikeudesta. Ohjelmointikielen kääntäjän tekeminen on ohjelmoinnin vaikeimpia tehtäviä, verrattavissa esimerkiksi Linuxin kernelin tai GCC:n (joka siis on juuri kääntäjä) tekemiseen. Olen joskus lukenut erään TKK:n professorin sanoneen, että kaikista maailman ohjelmoijista vain alle yksi prosentti pystyy edes yrittämään tämän tason tehtävää. Lisäksi Javassa on ongelmana se, että kääntäjän lisäksi tarvitaan myös virtuaalikone, jonka tekeminen on vähintään yhtä haastavaa.

Mutta varmaan Open Source -vaihtoehdon syntymistä on myös hidastanut se, että Sun on koko ajan jakanut omaa Javaansa ilmaiseksi. Vaikka Java ei ole koskaan ollut Open Source, se on aina ollut ilmaiseksi vapaasti kaikkien halukkaiden käytettävissä.

Tämä tosiasia tuo esiin mielenkiintoisen puolen hakkeriyhteisössä, jota tässä tarkastelemme. Vaikka hakkereiden joukosta löytyy Richard Stallmanin kaltaisia idealisteja, jotka ehdottomasti kieltäytyvät käyttämästä mitään suljettua ohjelmistoa, näyttäisi siltä että useimmat hakkerit eivät ole näin jyrkkiä. Loppujen lopuksi monille sittenkin kelpaa myös se, että ohjelma on tarpeeksi halpa tai mielellään ilmainen.

Sunin strategiaa Javan suhteen on kritisoitu osuvasti siten, että siinä yhdistetään suljettujen ja avointen ohjelmistojen huonot puolet: Toisaalta Java kehittyy hitaasti ja kärsii laatuongelmista (tämä siis johtuen suljetusta kehitysmallista), toisaalta Javan levittäminen ilmaiseksi ei juuri hyödytä Sunia taloudellisesti. Mutta voi hyvinkin olla että Sunin Java-strategia on kuitenkin – vahingossa – ollut nimenomaan onnistunut. Jos Sun olisi lähtenyt Javan kanssa Microsoftmaisen rahastuksen tielle, olisi kilpailijoita – myös suljettuja – syntynyt hyvinkin nopeasti. Nyt Sun on kuitenkin löytänyt avoimuuden ja ahneuden välimaastosta sopivan tasapainone, minkä ansiosta se on saanut nauttia valta-asemastaan näinkin pitkään. Tästäkin huolimatta on vain ajan kysymys ennen kuin Jikes tai GCJ saavat Sunin etumatkan kiinni. Kun luet tätä, se on saattanut jo tapahtua.


Sunin Java-strategia on varmasti ollut monien sattumien seurausta. Sen sijaan Artifex Software käyttää vastaavanlaista taktiikkaa suositun Ghostscript-ohjelmansa jakelussa hyvinkin tietoisesti. Ghostscript on PostScript- ja PDF-tiedostojen katseluun, luomiseen, käsittelyyn ja tulostukseen käytetty ohjelma, joka on suosittu varsinkin Unix-maailmassa ja Open Source -yhteisössä ja se on pitkään ollut käytännössä ainoa varteenotettava kilpailija Adoben PS- ja PDF-tuotteille.33

Alunperin Wisconsinin yliopiston suojissa syntyneestä Ghostscriptistä on olemassa kaksi eri versiota. Lähes avoin AFPL Ghostscript, sekä täysin vapaa GPL Ghostscript. AFPL Ghostscriptiä voi ladata ilmaiseksi verkosta, mutta sen kaupallinen jälleenmyynti on kiellettyä. Kaupallisiin tarkoituksiin Artifex lisensoi Ghostscriptiä erikseen ja mainitseekin muun muassa tulostin- ja kopiokonevalmistaja Xeroxin referenssiasiakkaanaan. Vaikka AFPL Ghostscript onkin ilmainen, jakaa Artifex vielä erikseen Ghostsciptin GPL-versiota, joka siis täyttää tiukimmatkin Open Source -ehdot. Käytännössä kulloinenkin GPL Ghostscript vastaa aina edellistä, noin vuoden vanhaa AFPL Ghostscriptiä. Näin siis kaupallisen lisenssin ostanut asiakas saa aina vähän enemmän kuin vanhempaa GPL-versiota käyttämällä saisi. Toisaalta jakamalla Ghostscriptiä ilmaiseksi, ja tämän lisäksi jakamalla hieman vanhentunutta 100% Open Source -versiota Artifex pitää huolen siitä, että tiukimmallakaan Free Software ideologilla ei ole mitään motivaatiota lähteä haastamaan Ghostscriptiä.

Tuomio: Tässä kappaleessa olemme tutkineet suljettuja ohjelmistoja myyvien yritysten selviämistä Open Source -ohjelmistojen luomassa paineessa. Yhteenvetona voidaan todeta, että pihtaamistakin voi olla monen tasoista. Enemmistö Open Source -yhteisön kannattajista ovat valmiita hyväksymään "reilun kompromissin" ja ovat tyytyväisiä suljettuihinkin ohjelmistoihin silloin kun ne ovat helposti ja edullisesti saatavilla. Ainakaan keneltäkään ei tunnu riittävän motivaatiota sellaisen ohjelmiston haastamiseen. Sen sijaan liika pihtaaminen kääntyy helposti itseään vastaan. Älä siis ole liian ahne!


32Silloin kun ohjelmistoprojektia päästään tekemään puhtaalta pöydältä ja ohjelmointikieli voidaan valita täysin vapaasti.

33Adobe on sekä PostScript- että PDF-standardien luoja. Molempia tekniikoita voidaan käyttää teksti- tms. dokumenttien sähköiseen jakeluun, mutta PS on varsinaisesti tulostimien ohjauskieli, kun taas PDF on tullut tunnetuksi standardina tapana jakaa paperimuotoisia dokumentteja sähköisesti, esimerkiksi internetissä.


^
Sisällysluettelo
<<Epäonnistumisen tarina (Corel)Vapautetut I: Netscape/Mozilla>>

Kirjan "Avoin Elämä: Näin toimii Open Source" verkkoversio on luettavissa ilmaiseksi.
Halutessaan siitä on kuitenkin mahdollista, ja suotavaakin, antaa kirjailijalle pientä tippiä.