^
Sisällysluettelo
<<Vapautetut II: InterBase/Firebird Vapautetut IV: StarOffice/OpenOffice.org>>

Vapautetut III: Quake

id Software jää historiaan yhtiönä, joka julkaisi ensimmäisen kolmiulotteisen ammuskelupelin PC-koneille. Et tosin varmaankaan ole koskaan kuullut Hovertank 3D:stä – minä en ainakaan ollut – mutta sen seuraajat Doom ja Quake ovat legendaarisia. Varsinkin Quake, jota pystyi pelaamaan verkkopelinä sai uskollisen kannattajajoukon. Ilmeisesti mikään ei ole hauskempaa kuin ryömiä viemärissä ja ampua möröiksi pukeutuneita kavereitaan liekinheittimellä – siis virtuaalisesti.

Niinpä pelien kehittäjä John Carmack päätti jouluna 1999 antaa Quake-faneille lahjan. Hän julkaisi Quake 1:n lähdekoodin Open Source -lisenssillä internetissä. Kyseessä ei ollut mikään suuri uhraus. Pelin myynti oli jo laskenut olemattomiin ja id Software myi jo uusia entistä hienompia pelejä, muun muassa Quake 2:ta ja Quake 3:a, joiden koodia ei julkaistu.

Hyvin pian iloisen yllätyksen jälkeen Quake-maailmassa vallitsi kuitenkin sekasorto. Lähdekoodin julkaiseminen oli nimittäin johtanut siihen, että verkkopelissä ruvettiin fuskaamaan! Osaavat ohjelmoijat tekivät omaan Quakeensa esimerkiksi sellaisia muutoksia, että heidän pelihahmonsa automaattisesti väisti kaikkia luoteja, jotka tulivat heitä kohti.42 Tai sitten he ohjelmoivat hahmonsa salamannopeasti tähtäämään ja ampumaan kaikki viholliset heti kun ne olivat näkyvissä. Vielä yksi hauska huijaus perustui siihen, että ohjelmoitiin pelin seinät läpinäkyviksi, jolloin pelaaja pystyi näkemään nurkan takana väijyvän vihollisen (joka kuitenkin itse käyttää pelistä sellaista versiota, jonka seinät eivät ole läpinäkyviä).

Vaikka tällaisten röntgenkatseiden ja automaattiväistämisten ohjelmoiminen on sinänsä itsessään mielenkiintoinen tehtävä, jonka paremmuudesta voisi myös kisailla, niin monia Quake-pelaajia huijausversiot kuitenkin häiritsivät. Ei ole kovin kivaa pelata kaveria vastaan, johon on mahdotonta osua ja joka näkee sinut jo nurkan takaa.

Eric Raymond, Open Source -aatteen innokas markkinamies, kiirehti julkaisemaan esseen, jossa hän ruoti tätä mielenkiintoista ongelmaa. Hän esitti, että tämä oli jälleen yksi esimerkki siitä, miten suljetuissa ohjelmissa päädyttiin helposti ratkaisuihin, jotka eivät oikeasti olekaan turvallisia ja eivät kestä avointa tarkastelua, ja että jos Quake olisi kehitetty alusta asti avoimen kehitysmallin mukaisesti, olisi tällaiset ongelmat otettu huomioon jo silloin, eikä niitä olisi siksi päässyt syntymään.

Mutta tällä kertaa Eric oli väärässä! Quaken ongelmat eivät johtuneet siitä, että sen tekijät olisivat suljetussa maailmassaan sortuneet tietoturvaa heikentäviin oikopolkuihin. Itse asiassa pelissä ei voinut huijata esimerkiksi lisäämällä itselleen loputtomasti aseita ja panoksia, koska tällaiset asiat oli peliä suunniteltaessa nimenomaan estetty. Kaikki huijaukset (röntgenkatsetta lukuunottamatta) olivat luonteeltaan sellaisia, että niissä pelaaja käytti omaa tietokonettaan eräänlaisena apuvälineenä, esimerkiksi tähtäämiseen. Nämä huijaukset olisivat periaatteessa olleet toteutettavissa jo aikaisemmin ilman lähdekoodiakin, mutta koodin julkistus teki niiden tekemisen tietenkin paljon helpommaksi ja ehkä myös hauskemmaksi.

Itse asiassa Quake-huijauksiin liittyvä ongelma oli toisaalla tiedostettu jo paljon aiemmin. Nimittäin kirjeshakin pelaajat olivat jo kauan sitten huomanneet, että ei ole kiva otella kaveriaan vastaan, jos on epäilys että tämä käyttää pelissä apunaan tietokonetta! Tämän takia kirjeshakki onkin nykyään kovin harvinaista.

Samalla kun opittiin ymmärtämään huijausten luonne ja syyt paremmin, ymmärrettiin myös, että tämä tapaus oli erityinen juuri peleille. Todellisessa elämässähän me käytämme tietokonetta nimenomaan helpottamaan vaikeita tehtäviä. Sotilaatkin käyttävät tietokonetta apunaan tähtäämiseen, aivan kuten Quake-huijarit, eikä se ole kenenkää mielestä epäreilua. Tai jos haluamme pitäytyä rauhanomaisemmissa esimerkeissä, kukaan ei tietenkään syyttäisi minua huijauksesta, jos käyttäisin tietokoneohjelmaa apunani löytääkseni eBay-verkkohuutokaupasta edullisimman vaihtoehdon jollekin tavaralle, jonka haluan ostaa. Juuri sitä vartenhan tietokoneet on keksitty!

Mutta pelimaailma on erilainen. Pelien ideaan liittyy, että kaikki pelaavat samoilla säännöillä, ilman ylimääräisiä teknisiä apuvälineitä. Jos haluaisin matkustaa mahdollisimman nopeasti 42 kilometrin matkan, niin tekisin sen varmastikin autolla tai vaikkapa helikopterilla. Mutta jos kyseessä olisikin maraton-kilpailu, olisi tietenkin huijausta ajaa matka autolla.

Sitä paitsi se olisi kovin tylsää. Ja tähän tulokseen tulivat loppujen lopuksi myös Quake-pelaajat. Pidemmän päälle huijaaminen on tylsää, sillä se vie pelistä kaiken jännityksen. Erään pelaajan neuvo kuulostaa osuvalta: "Minä pelaan Quakea niinkuin yleensäkin kaikkia pelejä. Vain ystävieni kanssa – sellaisten jotka eivät huijaa."

Tuomio: Tarina Quake-huijauksista on mielenkiintoinen, sillä lopputuloksena oli, että Open Source -malli aiheuttaa sellaisia ongelmia, joita suljetulla ohjelmalla ei käytännössä ole. Tapaus kuitenkin rajoittuu juuri verkkopelaamiseen, tai sanotaanko ennemmin "etäpelaamiseen" johon kirjeshakkikin kuuluu. "Todellisen maailman" asioiden parissa toimittaessa vaikuttaisi edelleen siltä, että Open Source -malli johtaa suljettuja ohjelmistoja parempaan tietoturvaan. Lopuksi on vielä todettava, että on kuitenkin olemassa paljon verkkopelejä,43 joiden koodi on avointa, ihan niinkuin edelleen varmaan löytyy niitä, jotka pelaavat kirjeshakkia.


Kaikissa edellä mainituissa tapauksissa on käynyt ilmi, että aiemmin suljettuna kehitetyn ohjelman lähdekoodin julkistaminen ei olekaan niin ruusuista kuin voisi kuvitella. Monen suljetun ohjelman koodi on yksinkertaisesti niin laadutonta, ettei se kestä päivänvaloa. Kaapista paljastuu usein pahojakin luurankoja. Quaken tapauksessa taas Open Source -mallista seurasi täysin yllättäviä ongelmia, joita kukaan ei ollut osannut odottaa.

Nämä kertomukset asettavat mielestäni vaatimukset esimerkiksi Windowsin lähdekoodin julkistamisesta uuteen valoon. Ties mitä luurankoja sieltäkin löytyisi? Microsoft puolustautui aikoinaan oikeudenkäynnissä koodin julkaisuvaatimuksia vastaan sanomalla, että koodin julkistaminen olisi jopa uhka USA:n kansalliselle turvallisuudelle. Open Source -leirissä naurettiin kun tämä kuultiin Microsoftin omasta suusta. "Sitähän me olemme sanoneet koko ajan, että buginen Windows on uhka meidän kaikkien turvallisuudelle!" Mozillan, Firebirdin ja Quaken tarinoista viisastuneina Microsoftin väite on kuitenkin syytä ottaa vakavasti. Tiivistäen voisi sanoa, että tietoturvan kannalta olisi parempi, että suljettuja ohjelmia ei käytetä, mutta kun niitä nyt kuitenkin käytetään, lienee parempi että ne myös pidetään suljettuina.44

Mozilla, InterBase ja Quake edustavat kukin hieman erilaista filosofiaa suhteessa kysymykseen, miksi koodi kannatti julkistaa.

Netscapen johtajat päätyivät julkistamaan Mozillan eräänlaisena puolustuskeinona. Open Source -projektina Mozilla pystyi saavuttamaan sen, mihin Netscape ei kyennyt sitä suljettuna ohjelmistona viemään. Edes Microsoft ei pystynyt murskaamaan avointa koodia. Netscapen tappio oli kuitenkin jo lähellä, koodi avattiin viime hetkessä.

InterBasen tapauksessa taas suojaa hakivat pikemminkin tuotteen asiakkaat. Suljetun ohjelmiston jatkokehityksen lopettaminen on sen käyttäjille aina uhka. Uhka, jolta avoimien ohjelmien käyttäjät välttyvät.

Quaken tapauksessa ei ollut kyse kenenkään suojautumisesta, vaan kyseessä oli ehkä pikemminkin kulttuuriteko. Monia muita pelejä on Quaken jälkeen myös "päästetty vapauteen". Niiden lähdekoodista on iloa faneille, vaikka pelin taloudellinen kukoistusaika on jo kauan sitten mennyt. Esimerkiksi monia pelejä voidaan siirtää uusille alustoille, jos vain lähdekoodi on saatavilla. Vanhat Windows-pelit tulevatkin Linuxiin, tai vanha Commodore 64 -peli Windowsiin. Open Source on siis myös kulttuuriteko!


42En voi välttyä ajattelemasta, että Matrixin käsikirjoittajat olisivat pelanneet Quaken tällaista versiota!

43Yksi suosituimmista Open Source -ammuskelupeleistä on BZFlag: http://BZFlag.org/
Sitä voi pelata sekä Windowsilla, Macintoshilla että Linuxilla ja muilla Unix-varianteilla.

4412. helmikuuta 2004 suuri osa Windowsin lähdekoodista vuoti internetiin erään Microsoftin yhteistyökumppanin tietoturvaongelman yhteydessä (http://slashdot.org/articles/04/02/13/165231.shtml). Nyt meillä on siis Windowsin kannalta pahin mahdollinen tilanne: Sitä on kehitetty suljettuna ohjelmana, mistä johtuen siinä on enemmän tietoturva-aukkoja kuin esimerkiksi Linuxissa. Koodi on vuotanut julkisuuteen, minkä takia krakkerit voivat nyt helposti etsiä siitä näitä aukkoja. Mutta toisaalta ne ohjelmoijat, jotka voisivat auttaa Microsoftia vikojen löytämisessä ja korjaamisessa eivät kuitenkaan voi sitä tehdä, koska koodin hallussapito on laitonta. Microsoftia siis uhkaavat nyt kaikki ne vaarat mitä suljetun koodin yhtäkkiseen julkistamiseen voi liittyä, mutta samalla se ei edelleenkään pääse hyötymään Open Source -prosessin positiivisista puolista.


^
Sisällysluettelo
<<Vapautetut II: InterBase/Firebird Vapautetut IV: StarOffice/OpenOffice.org>>

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