Avoin lähdekoodi ei tarkoita ilmaista tai automaattisesti hyvää

Katri Lietsala // Avoin lähdekoodi ei ole sama asia kuin hyvä, toimiva palvelu automaagisesti. Se ei ole synonyymi ilmaiselle, halvalle tai rahan säästämiselle. Avoimuus ei takaa, että avointa lähdekoodia kehittäviä toimijoita olisi tarpeeksi kehittämässä valittua ratkaistua tai että avoin lähdekoodi olisi vaivatta ja järkevin kustannuksin käytettävissä uuteen käyttötarkoitukseen ilman poikkeuksia (reusability).

Entäpä avoimen lähdekoodin tietoturva-aukot? Niin ihana kuin ajatus kaikkien yhdessä tuumin kehittämästä koodista on, mahtuu joukkoon aina niitä, jotka joko vahingossa tai tahallaan aiheuttavat haavoittuvaisuuksia järjestelmään. Kehittäjän tulee avoimen lähdekoodin osalta tukkia paitsi varsinaisesta järjestelmästä, myös sen liitännäisistä mahdolliset tietoturva-aukot. Liitännäistä saattaa tehdä kehittäjä-kollegaani lainatakseni "pari jamppaa", jotka aikansa pulattuaan saattavat jättää työn niikseen, koska joku muuhan sen voi sitten korjata - avointa, kun on.

Ei silti. Minä pidän avoimesta koodista, älkää käsittäkö väärin. Meidän järjestelmämme toimivat Linuxilla, hyödynnämme Pythonin avoimen lähdekoodin komponentteja, toiminnassa on  myös memcached, Shibboleth ja LAMP-ympäristö. Wysiwyg-editori on avointa koodia sekin. Maailmassa on paljon hienoja avoimen lähdekoodin toteutuksia. Silti Gemilon teknologia (Gemilo Platform) ei ole avointa.

Koodi ja käyttöliittymä hienoine ominaisuuksineen on meidän kilpailuetumme isoja jättejä vastaan. Se on meidän itse tekemää, omilla resursseilla. Toki asiakkaiden rahoituksella, mutta vastineeksi asiakkaat ovat saaneet sen, mitä pyysivät ja mistä maksoivat. Jos meiltä ostetaan järjestelmän käyttöoikeuksia ja toteutuksia, tuetaan suomalaista työtä ja suomalaista yritystä. Missä kohtaa tästä tuli jotenkin väärää ja sellaista, mitä julkishallinnossa pitäisi välttää?

Joonas Pekkanen (Avoin ministeriö) ehdottaa [korjaus 16.4.2012 ehdotus on Joonaksen eikä Avoimen ministeriön kanta], että julkishallinnon hankkimien ohjelmistojen tulisi olla avointa koodia. Pidän tärkeämpänä vapaata kilpailua kuin että lakiin kirjoitettaisiin julkishallinnolle pakoksi käyttää avointa lähdekoodia. Avoimessa lähdekoodissa on välillä filosofinen/poliittinen eetos, joka joskus muistuttaa melkein uskonnollista vakaumusta.

Sen sijaan, että tuijotetaan, onko ratkaisu avointa lähdekoodia vai ei, kannattaisi katsoa tarkemmin, miten paljon kuluu aikaa ja sitä kautta resursseja:

  • toimituksen kokoonpanoon,
  • käytön oppimiseen,
  • ratkaisun soveltamiseen
  • laajennettavuuteen
  • sekä tilaajalta itseltään että tekijöiltä.
  • Lisäksi on se kaikista tärkein mittari: Toimiiko palvelu, kuten halutaan ja täyttääkö ne toiminnalliset tavoitteet, joita sille on asetettu? Joko heti tai kehittämistyön jälkeen. Jos täyttää ja on budjetin mukainen, niin kannattaa tilata, olipa avointa tai suljettua koodia.

    Joskus avoin lähdekoodi voi olla hyvinkin edullinen ja toimiva ratkaisu, mutta on myös tapauksia, joissa väitän, että julkishallinto olisi säästänyt pitkän pennin ottamalla valmiin ratkaisun, joka on suljettua koodia, mutta toimii ja olisi ollut valmiina ajat sitten.

    Avainsanat

    comments powered by Disqus