Antti Rasila
Tutkija
Matematiikan laitos, Helsingin yliopisto
Vapailla ohjelmistoilla (free software, logiciel libre) tarkoitetaan ohjelmia, joiden lähdekoodi on vapaasti käytettävissä, levitettävissä, muutettavissa ja edelleen välitettävissä eteenpäin muutetussa muodossa. Ero vapaiden ja ilmaisten ohjelmistojen välillä on se, että vapaan ohjelmiston käyttäjä ei sitoudu ohjelmiston toimittajaan tulevaisuuden käyttötarpeissaan. Ilmaisen ohjelmiston kehitys saattaa loppua tai ohjelman seuraava versio ei olekaan enää ilmainen. Lähdekoodin julkisuus ja vapaa muokattavuus takaa, että jos ohjelmiston kehitys yllättäen loppuisi tai alkaisi edetä käyttäjän kannalta huonoon suuntaan, kuka hyvänsä voi muokata lähdekoodista mieleisensä uuden version.
Lähdekoodin levityksessä käytettävä lisenssisopimus jakaa vapaat ohjelmistot kahteen ryhmään. Näistä ensimmäinen on niinkutsuttu BSD-lisenssi, jonka nimi tulee Berkeleyn yliopistossa kehitetystä BSD UNIX -käyttöjärjestelmästä. Tähän lisenssityyppiin pohjautuvat ohjelmistot ovat kaikkien vapaasti muokattavissa ja levitettävissä ilman erityisiä lisärajoituksia, kunhan tietoa alkuperäisistä tekijöistä ei poisteta koodista. Toinen lisenssityyppi on Richard Stallmanin kehittämä GPL (General Public License), jonka tarkoituksena on taata ohjelmiston säilyminen vapaana myös tulevaisuudessa. Ajatus on, että kuka hyvänsä voi käyttää lähdekoodia ohjelman uuden version tai kokonaan uuden ohjelmiston rakennusosana, kunhan myös uusi ohjelmisto (lähdekoodeineen) julkaistaan vapaan ohjelmistolisenssin alaisuudessa. Esimerkkejä tähän lisensointiratkaisuun perustuvista ohjelmistoista ovat tunnetuimmat vapaan lähdekoodin ohjelmistot, kuten Linux-käyttöjärjestelmäydin, toimisto-ohjelmisto OpenOffice.org sekä web-selain Mozilla.
Ensisilmäyksellä BSD-tyyppinen lisenssi näyttää tarjoavan käyttäjälle ja ohjelmiston kehittäjälle enemmän vapautta. Näin ei kuitenkaan välttämättä ole; monet tunnetuimmista kaupallisista ohjelmistoista, kuten Apple OS X ja Microsoft Windows nimittäin sisältävät merkittävässä määrin erilaisista BSD-lisensoiduista vapaista ohjelmistoprojekteista otettuja osia. Nämä ohjelmistot eivät kuitenkaan ole vapaita, eivätkä alkuperäisen ohjelmiston kehittelyyn osallistuneet mitenkään hyödy antamastaan panoksesta. Pelkkä alkuperäinen, vapaasti saatavilla oleva koodi ei anna kilpailijalle mahdollisuutta tehdä yhteensopivaa ohjelmistoa, koska vapaan ja julkisen perustan päälle on rakennettu salaisia ja dokumentoimattomia ominaisuuksia. GPL-lisenssi ei mahdollista vapaan ohjelmakoodin käyttämistä kaupallisen ohjelmiston pohjana. Täten uuden ohjelmiston kehittäjille on tarjolla kaksi vaihtoehtoa, joko kirjoittaa koko koodi itse ja valita mieleisensä lisenssi tai sitten käyttää pohjana vapaasti saatavaa lähdekoodia ja tarjota ohjelmisto sitten vapaaseen levitykseen. Vapaan ohjelmiston myynnille ei sinänsä ole mitään estettä.
Ohjelmiston vapaa levitettävyys ei välttämättä tarkoita, etteivät ohjelmiston kehittäjät voisi taloudellisesti hyötyä työstään. Ilmeisten tuki- ja koulutuspalvelujen lisäksi on mahdollista esimerkiksi myydä lisäpalveluna ohjelmistotuotteen muokkaamista käyttäjän erityistarpeita vastaaviksi. GPL-lisenssi voi tarjota myös yllättäviä etuja puhtaasti kaupallisesti motivoituneelle tuottajalle. Vaikka joidenkin ohjelmistojen myynnillä tehdään suuria voittoja, tämä ei ole totta kaikkien kohdalla.
GPL-lisensointi tarjoaa todennäköisiä säästöjä koodin ylläpidossa ja estää tehokkaasti kilpailijoita ottamasta koodia osaksi omaa kaupallista tuotettaan. Nämä seikat saattavat tehdä tämän lisenssin erityisen houkuttelevaksi sellaisten tuotteiden levityksessä, joiden itsenäinen taloudellinen arvo on vähäinen mutta joiden kehittäminen auttaa myymään jotakin muuta oheistuotetta, kuten laitteistoja tai isoja tietokantaohjelmistoja. Tämä lienee motivaationa monien isojen ohjelmisto- ja laitteistotoimittajien, kuten IBM, Oracle ja Sun Microsystems, aktiiviselle panostukselle vapaiden ohjelmistojen kehitystyössä. Koska vapaat ohjelmistot eivät ole kenenkään omaisuutta, sisältää niiden tukeminen vähemmän riskejä epäedulliseen kilpailuasemaan joutumisesta kuin kilpailijan kaupalliseen ohjelmistoon sitoutuminen. Esimerkiksi tietokantoihin erikoistuneen Oraclen tuotteet vaativat toimiakseen käyttöjärjestelmän, mutta käyttöjärjestelmätoimittajista esimerkiksi Microsoft ja IBM myyvät myös kilpailevia tietokantaratkaisuja. Siksi Linux-käyttöjärjestelmän suosiminen on myös liiketaloudellisesti järkevä ratkaisu.
Tämä osoittaa, etteivät vapaat ohjelmistot tarkoita ohjelmistoteollisuuden loppua ja kaikkien ohjelmoijien joutumista työttömiksi. Itseasiassa vapaat ohjelmistot tarjoavat monissa tapauksissa huomattavia mahdollisuuksia uusien työpaikkojen luomiseen. Jo aikaisemmin mainittujen lisäpalvelujen lisäksi vapaita ohjelmia voi paikallisesti muokata käyttäjäkunnan tarpeita vastaaviksi. Kysymykseen saattaa tulla esimerkiksi jonkin ohjelman kääntäminen pienelle kielialueelle, josta saatavat myyntitulot eivät yksin riittäisi kaupallisen ohjelmiston tukemiseen. Erityisen suuria nämä edut ovat kehitysmaissa, joissa tarvittavat muutokset voidaan tehdä paikallisen palkkatason mukaisin kustannuksin, ulkomaanvaluuttaa käyttämättä. Vapaita ohjelmistoja käyttämällä voi edistää paitsi ohjelmoijien työmahdollisuuksia, myös ohjelmistokehityksen työpaikkojen tasapuolisempaa maantieteellistä jakautumista, koska suurin osa kaupallisista ohjelmistoista kehitään Yhdysvalloissa.
Kaupallisten ohjelmistojen markkinointi perustuu usein ajatukseen, että ohjelmaa levitetään edullisesti, jopa ilmaiseksi, vakiintuneen käyttäjäkunnan luomiseksi. Riittävän monen käyttäjän sitouduttua ohjelmistoon ja sijoitettua tarpeellisiin laitteisiin ja koulutukseen, ohjelmiston hintaa nostetaan. Käyttäjät eivät kuitenkaan halua siirtyä kilpailevan valmistajan tuotteeseen, koska tämä tarkoittaisi huomattavaa lisävaivaa sekä koulutuksesta ja mahdollisista laitteistohankinnoista aiheutuvia kustannuksia. Siksi useimmat käyttäjät maksavat uuden hinnan, jota tietenkin nostetaan jälleen seuraavassa versiossa. Vapaan ohjelmiston tärkein etu on suoja käyttäjän investoinneille. Kaupallisten ohjelmistojen tapauksessa yhdellä yrityksellä on yleensä monopoli ohjelmistoon liittyvien ohjeispalvelujen tarjontaan. Tämä saattaa tarkoittaa huonoa palvelua ja korkeita hintoja. Koska vapaa ohjelmisto ei ole sidottu mihinkään tiettyyn laitteisto- tai ohjelmistotoimittajaan, tuki- ja koulutuspalvelujen saatavuus perustuu markkinatalouden laeille, ja palveluun tyytymättömällä asiakkaalla on aina mahdollisuus vaihtaa toimittajaa.
Kaikkien saatavilla oleva lähdekoodi tarjoaa monia itsessään merkittäviä etuja. Koodin tutkiminen auttaa selvittämään yllättäviä virhetilanteita ja siten vähentää esimerkiksi laitteistoajurien kehitykseen kuluvaa aikaa. Ohjelmakoodissa olevat virheet löydetään ja korjataan nopeammin. Avoin lähdekoodi parantaa tietoturvaa ja sallii käyttäjän tutkia ohjelman toimintaa ja vakuuttua siitä, ettei ohjelmaan ole piilotettu salaisia takaovia tai vakoiluominaisuuksia. Tämä on merkittävä näkökohta niissä sovelluksissa, joissa käsitellään salaista tai arkaluontoista tietoa. Nämä edut ovat saaneet monet kaupallisten ohjelmistojenkin valmistajat avaamaan ainakin osia lähdekoodiaan joko täysin julkisesti tai joillekin erityisen sopimuksen tehneille asiakkailleen. Kaikki julkisen lähdekoodin ohjelmistot eivät kuitenkaan ole vapaita, eikä niihin liity parannetun luotettavuuden lisäksi muita todellisen vapaan ohjelmiston etuja.
Nykyään tietotekniset valmiudet liittyvät tavalla tai toisella lähes kaikkeen tieto- ja informaatiovirtoja käsittelevään toimintaan. Monet oppilaitosten sisäiset toiminnot vaativat tietotekniikan käyttöä, opiskelijoille tarjotaan tietoa ja opetusta tietotekniikan käytössä ja opiskelijat käyttävät sitä edelleen hyväkseen itsenäisessä työskentelyssään. Oppilaitoksissa käytettävien ohjelmistojen valinnassa on otettava huomioon seuraavat näkökohdat.
Ensinnäkin, julkisen, verovaroilla ylläpidetyn instituution olisi käytettävä varoja mahdollisimman tehokkaasti ja vältettävä turhia investointeja. Tieto- ja viestintäteknologian, laitteiden ja ohjelmistojen hinta on huomattava menoerä ja lisäksi jatkuvassa kasvussa. Vapailla ohjelmistoilla saavutettaan huomattavia säästöjä ja lisäksi niiden käyttäminen vapauttaa päivityskierteen aiheuttamista jatkuvista kustannuksista. Vaikka siirtyminen aiheuttaisikin välittömiä kustannuksia, pitkällä aikavälillä se on melko varmasti halvempi ratkaisu. Tämä on etenkin huomioitava, jos kaupallista ohjelmistoa tarjotaan ilmaiseksi tai edulliseen oppilaitoshintaan; etu ei välttämättä päde päivityksiin.
Toiseksi, opetuksessa käytettäviin ohjelmistoihin sisältyy merkittävä yhteiskunnallinen valinta. Opiskelijat todennäköisimmin hankkivat tulevaisuudessa juuri niitä tuotteita, joiden käyttöä heille on opetettu. Käyttämällä opetuksessa tiettyä kaupallista tuotetta oppilaitos subventoi yleensä ulkomaista ohjelmistovalmistajaa ja sitouttaa opiskelijansa tämän tuotteisiin. Vapaan ohjelmiston käytössä tätä ongelmaa ei esiinny, koska tuote on vapaasti kaikkien saatavilla. Jos opiskelija katsoo, että jonkin kaupallisen ohjelmiston tarjoamat edut ovat hänen kohdallaan kustannuksia suuremmat ja haluaa siirtyä tämän käyttäjäksi, hänellä on siihen täysi mahdollisuus. On kaupallisen ohjelmistoyrityksen markkinoinnin, ei opettajan, velvollisuus vakuuttaa ostaja siitä, että tuotteen käyttöarvo on hintaa suurempi. Erityisen suuri tämä ongelma on, jos opetuksessa käytettävä kaupallinen ohjelmisto on ehdoton markkinajohtaja. Tällöin voi helposti syntyä sellainen käsitys, että tietokoneen käyttöön vaaditaan nimenomaan tiettyjen kaupallisten ohjelmistojen ostamista. Tämä on tietenkin syy useiden ohjelmistovalmistajien halukkuuteen tarjota tuotteitaan edullisesti oppilaitosten käyttöön.
Erilaisia vapaiden ohjelmistojen kehitysprojekteja on tällä hetkellä käynnissä useita satoja tai tuhansia. Ehdottomasti tunnetuin näistä on suomalaisen Linus Torvaldsin johdolla kehitetty Linux-käyttöjärjestelmä. Koska useimmat lukijat lienevät ainakin kuulleet tästä ohjelmistosta, en katso aiheelliseksi käsitellä sitä tarkemmin tässä yhteydessä. Linuxista kiinnostuneille on internetissä tarjolla runsaasti tietoa. Haluankin tuoda erityisesti esille sen, että vapaat ohjelmistot ovat paljon muutakin kuin Linux. Niihin siirtymisen ei tarvitse olla mikään hyppy pimeään, jossa tietotekniikan käyttö opetellaan uudestaan vieraassa ympäristössä alusta lähtien. Eräs vapaiden ohjelmistojen etu onkin se, että useimmat niistä ovat saatavissa monille eri laitteistoalustoille. Siten niiden käyttämisen voi aloitaa vaikkapa nettisivujen selailusta tai tekstinkäsittelystä, ja sitten siirtyä esimerkiksi Linux-käyttöjärjestelmään tärkeimmät sovellusohjelmat valmiiksi tuntien. Seuraavassa esitellään muutamia tunnettuja vapaita ohjelmistoja, joille kaikille on yhteistä se, että niitä voi käyttää sujuvasti eri käyttöjärjestelmien yhteydessä.
Tekstinkäsittely, taulukkolaskenta, yms. ohjelmista koostuva ohjelmistopaketti OpenOffice.org tunnettiin aikaisemmin nimellä StarOffice. OpenOffice.org syntyi, kun suuri tietotekniikkavalmistaja Sun Microsystems havaitsi, että sillä rahamäärällä, jonka yritys vuodessa maksaa lisenssimaksuina pahimmalle kilpailijalleen, voisi itseasiassa kehittää vastaavan ohjelmiston. Niinpä Sun osti oikeudet saksalaiseen StarOfficeen, joka oli jo pitkään kehittänyt ohjelmistoa ilman suurta taloudellista menestystä. Sun päätti jakaa ohjelmistoa ilmaiseksi ja sijoittaa sen kehittelyyn vuodessa aikaisemmin Microsoftin ohjelmista maksamansa summan rahaa. Myöhemmin myös ohjelmiston lähdekoodi julkistettiin ja vapaa versio sai nimekseen OpenOffice.org. Ohjelmistosta tarjotaan edelleen myös kaupallista (joskin edullista) versiota vanhalla nimellä StarOffice. StarOffice sisältää joitakin sellaisia ominaisuuksia, joita vapaasta versiosta ei löydy, kuten lisäfontteja sekä asennus- ja käyttötukea. Sun tarjoaa myös ohjelmiston kaupallista versiota ilmaiseksi oppilaitoksille. Useimpien käyttäjien tarpeiden kannalta ohjelmisto tarjoaa samat ominaisuudet kuin Microsoft Office, ja myös sen käyttö on hyvin samankaltaista.
Myös Mozilla perustuu alunpitäen kaupalliseen ohjelmistoon (Netscape Navigator). Hävittyään kaupallisessa kilpailussa Microsoftin Internet Exporerille (pääasiassa siksi, että Microsoft liitti tuotteensa osaksi käyttöjärjestelmäänsä), Netscape päätti vapauttaa ohjelmansa lähdekoodin. Uusi ohjelmisto nimettiin Mozillaksi, ja myös tämä ohjelmisto on saatavissa erillisenä kaupallisena versiona vanhalla nimellään Netscape Navigator. Mozilla tarjoaa yhteensopivuudeltaan erinomaisen web-selaimen sekä sähköpostiohjelman. Tärkein syy siirtymiseen Internet Explorerista ja Outlookista Mozillan käyttäjäksi on tietoturva. Molemmissa edellä mainituista kaupallisista ohjelmistoista on ollut jatkuvia tietoturva-aukkoja, jotka ovat ilmenneet mm. sähköpostivirusten leviämisenä. Vaikka ei olekaan poissuljettua, että tilanne tulevaisuudessa muuttuu, toistaiseksi Mozillan käyttäjät ovat kuitenkin välttyneet näiltä ongelmilta. Lisäsyynä Mozillan käyttämiseen on se, että vapaana ohjelmistona sen kehitystä säätelevät vain käyttäjien toiveet ja siten siinä on kaupallisista ohjelmistoista ilmeisistä syistä puuttuvia ominaisuuksia, kuten mahdollisuus estää uusia ikkunoita avaavien mainosten toiminta.
Octave on kaupallisen MATLAB:in kaltainen numeerisen matematiikan ohjelmisto. Octave kehitettiin alunpitäen prosessikemian opetusta varten. Octave sisältää korkean tason ohjelmointikielen ja tulkin, joka tulkitsee käyttäjän kirjoittamia ohjelmia. Sillä voi ratkaista erilaisia numeerisen matematiikan ongelmia, piirtää funktioiden kuvaajia sekä kirjoittaa matemaattisia ohjelmia. Octaven ohjelmointikieli sisältää nimenomaan matemaattisten ohjelmien kirjoittamiseen tarkoitettuja ominaisuuksia, kuten matriisioperaatioita. Paitsi tieteellisen laskimen korvikkeena ja laajennuksena, ohjelmaa voi käyttää esimerkiksi opetuksessa käytettävien kuvien tuottamiseen sekä erilaisten matemaattisten ilmiöiden demonstroimiseen.