Julkaistu 5.7.2019

Älä turhaan pelkää avointa lähdekoodia

”Avoin lähdekoodi” tuntuu sanaparina monelle vieraalta ja abstraktilta – mitä avoin lähdekoodi loppujen lopuksi oikein tarkoittaa? 

Tartutaan ensiksi ”lähdekoodi”-termiin. Jokainen ohjelmisto rakentuu koodista, johon ohjelmiston ulkoasu ja toiminnallisuudet perustuvat. Tämä on ohjelmiston lähdekoodi – koodi, josta koko ohjelmisto on lähtöisin. Pekka Sarkolan vertausta lainatakseni, lähdekoodi on ikään kuin resepti, jolla leivotaan tietynlainen kakku (ohjelmisto). 

Vilkaistaan seuraavaksi sanaa ”avoin”. Jos käytetään edelleen vertausta, jossa koodi nähdään kakkureseptinä, avoimuus tarkoittaa, että voit vapaasti saada reseptin itsellesi, levittää sitä ja muokata sitä tarpeidesi mukaan. Pähkinänkuoressa siis sanapari ”avoin lähdekoodi” tarkoittaa sitä, että saat ohjelmiston lähdekoodin (ja itse ohjelmiston) vapaasti käyttöösi, sinulla on vapaus levittää sitä sekä muokata ohjelmiston lähdekoodia oman tahtosi mukaan. 

Käsittelen seuraavaksi yleisimpiä kysymyksiä (FAQ) ja ennakkoluuloja, joita kohdistuu avoimen lähdekoodin ohjelmistoihin.

Jos käytän avoimen lähdekoodin ohjelmistoa, pitääkö minun osata koodata?

Ei, sinun ei tarvitse osata koodata pätkääkään käyttääksesi avoimen lähdekoodin ohjelmistoja. Jos ohjelmiston lähdekoodin näpräily itsessään ei kiinnosta, voit hyödyntää avoimen lähdekoodin muita etuja: sitä, että ohjelmisto on vapaasti käytettävissä ja saat vapaasti levittää sitä kaikille, jotka sitä tarvitsevat. Lähdekoodin avoimuus ja sen muokkausmahdollisuudet ovat vain yksi etu muiden joukossa, jotka liittyvät avoimen lähdekoodin ohjelmistoihin. Voit kuitenkin aina itsekin kehittää ohjelmistoa.

Onko avoimen lähdekoodin ohjelmisto oikeasti luotettava?

Avoimet ja etenkin ilmaiset ohjelmistot herättävät aina tiettyjä, osittain aiheellisia, huolia. Yksi merkittävimmistä on ilmaisen ohjelmiston luotettavuus – voinko luottaa ohjelmistoon, josta en ole maksanut hyrrän pyörylää eikä minulla täten ole kuluttajan oikeutta vaatia ohjelmistolta oikeastaan juuri mitään? Ensimmäiseksi kannattaa muistaa se, että kun lataat ilmaisen avoimen lähdekoodin ohjelmiston, saat ohjelmiston reseptin, eli lähdekoodin, ohjelmiston mukana. Sinulla on siis aina resepti kakkuun, eikä kukaan vie sitä sinulta pois. Jos leipuri, joka on laatinut ja kehittänyt reseptiä, lopettaa toimintansa, sinulla on aina oma kappaleesi reseptistä. Halutessasi voit itse jatkossa kehittää reseptiä, jatkaa käyttöä sellaisenaan tai viedä reseptin toiselle leipurille kehitettäväksi. Tässä on se hopeareunus, mikä sinulla tulee aina olemaan, vaikka kehittäjät pakkaisivat laukkunsa ja vaeltaisivat etelään. 

Yllä mainittua dystooppista skenaariota voidaan kuitenkin arvioida ennalta kohdistamalla katse ohjelmiston yhteisöön. Yhteisöä voidaan pitää avoimen lähdekoodin merkittävimpänä luotettavuuden mittarina: mikäli ohjelmistolla on vahva ja laaja yhteisö (kehittäjät, käyttäjät…), on ohjelmisto oletettavasti luotettava ja sen tulevaisuus näyttää valoisalta. Sanna Jokela myös muistutteli, että esimerkiksi GitHub-repositoriosta tai ohjelmiston omilta kotisivuilta voi tarkastella ohjelmiston yhteisön ominaisuuksia, kuten kehittäjien ja viimeaikaisten kontribuutioiden määrää. On vähintäänkin yhtä todennäköistä, että maksullisen ja suljetun lähdekoodin ohjelmiston tuottajat ja kehittäjät lopettavat toimintansa, kuin vankan yhteisön omaavan avoimen lähdekoodin ohjelmiston tuottajat ja kehittäjät. Tässä kohtaa kannattaa jälleen muistaa, että avoimen lähdekoodin yhteisöllä tulee aina olemaan ohjelmiston resepti – suljetun koodin ohjelmiston yhteisöllä ei. Gispon tukemilla avoimen lähdekoodin ohjelmistoilla (QGIS, PostGIS, GeoServer…) on vahvat yhteisöt, ja ohjelmistot ovat erittäin luotettavia.

Ilmainen ohjelmisto = ilmainen työvoima?

Avoimen lähdekoodin ohjelmistoja kutsutaan myös ilmaisiksi ohjelmistoiksi (FOSS – Free and Open Source Software) – sitähän ne ovat, mutta terminä “ilmainen” voi hieman harhauttaa. Käyttäjälle ilmainen ohjelmisto ei tarkoita sitä, etteivätkö ohjelmiston kehittäjät saisi korvausta tekemästään työstä. Yleensä edellä mainitsemani yhteisö, kuten ohjelmistoa käyttävät yksilöt tai organisaatiot, tukevat rahallisesti ohjelmiston kehitysprojekteja: kehittämistä tuetaan esimerkiksi joukkorahoituksin tai hankkimalla kehitystyö suoraan osaavilta kehittäjiltä. Monesti kehittäjät ovat myös itse lahjoittajayritysten työntekijöitä. Toki on olemassa myös käyttäjiä, kehittäjiä tai jotain siltä väliltä, jotka ovat motivoituneita kehittämään ohjelmistoa vain omaksi (ja epäsuorasti myös muiden) iloksi.

Kannatta myös muistaa, että ohjelmistojen käyttöön on saatavilla usein tuki- ja koulutuspalveluita eri tuottajilta.

Hemmottele aivonystyröitäsi:

https://www.osgeo.org/community/welcome/

https://opensource.org/

https://github.com/

https://www.qgis.org/fi/site/getinvolved/index.html

https://postgis.net/development/

http://geoserver.org/comm/

Profiilikuva

Gispo

Gispo on suomalainen avoimen lähdekoodin paikkatietotalo, jonka palveluihin kuuluu paikkatietokonsultointia, sovelluskehitystä, koulutusta sekä ylläpitoa ja tukea.