Ohjelmia, jotka olisivat täysin vapaita avoimesta lähdekoodista, on itse asiassa vaikea löytää. Monet avoimen lähdekoodin lisenssit sallivat koodin käyttämisen myös yhdessä suljetun lähdekoodin kanssa, ja tätä mahdollisuutta todellakin käytetään hyväksi. Niinpä tuoreen tutkimuksen mukaan 96 prosenttia ei-avoimista ohjelmistoista sisältää avointa lähdekoodia. Pilvipalveluiden tuottajista puolestaan 93 prosenttia kertoi käyttävänsä avoimen lähdekoodin teknologioita.
Avoimia komponentteja käytetään, koska niiden avulla voidaan alentaa kustannuksia, nopeuttaa ohjelmistokehitystä ja parantaa laatua. Jos lisenssiehdot sallivat, miksi kirjoittaisi uuden ohjelmakomponentin, kun valmiin ja testatun voi ottaa käyttöön heti ilman lisenssikustannuksia? Toki ohjelmointi, ylläpito ja tukipalveluiden käyttö maksavat myös avointa lähdekoodia käytettäessä.
Avoin lähdekoodi ei ole laadun tae
Perseverance-mönkijän mukana Marsiin lähetetyn pienen helikopterin tapauksessa Nasan ohjelmistokehittäjien valinta perustui laatuun eli siihen, että kopterin ohjelmistoissa käytettyjen avoimen lähdekoodin kirjastojen luotettavuus oli jo todistettu käytännössä. Jos luotettavampia vaihtoehtoja olisi ollut tiedossa, niin ohjelman 2,7 miljardin dollarin kokonaisbudjetista olisi todennäköisesti löytynyt rahaa lisenssimaksuihinkin.
Avoin lähdekoodi ei kuitenkaan ole automaattinen laadun tae. Yksistään GitHubissa, joka on suurin avoimen lähdekoodin kehittämisalusta, on 330 miljoonaa ohjelmistoprojektia. Näistä kaikki eivät ole sopivia sen enempää helikopterin lennättämiseen Marsissa kuin laadukkaiden ja turvallisten palvelujen tuottamiseen suomalaisen viraston asiakkaille. Valitettavasti aina ei ole helppoa tunnistaa edes sitä, mitkä avoimen lähdekoodin projektit ovat toimivia ja kestävästi ylläpidettyjä tällä hetkellä, tulevaisuudesta puhumattakaan.
Vertailukelpoisten tietojen löytäminen avoimen lähdekoodin projekteista on kuitenkin mahdollista ja usein helpompaakin kuin suljetuista ohjelmistoista, koska muun muassa virheraportit ovat kaikkien nähtävissä.
Seuraaviin kysymyksiin vastaamalla saat käsityksen avoimen ohjelmiston kestävyydestä
- Kuinka kauan ohjelma on ollut olemassa?
- Kuinka paljon ohjelmalla on käyttäjiä? Kiinnitä huomiota erityisesti merkittäviin IT-toimijoihin.
- Miten ohjelman kehitys rahoitetaan?
- Kuinka monta kehittäjää ohjelmalla on?
- Onko projekti riippuvainen yhdestä henkilöstä?
- Miten kehittäjiin saa yhteyden ja vastaavatko he yhteydenottoihin?
- Onko ohjelmalla paljon auki olevia virheraportteja ja korjataanko virheitä?
- Saako ohjelman käyttäjäyhteisöltä tukea?
- Saako ohjelmalle kaupallista tukea - jopa Suomesta?
- Kuinka kauan ohjelma säilyisi käyttökelpoisena, jos sen kehittäminen loppuisi tänään?
Jukka Rahkonen
Kirjoittaja työskentelee johtavana IT-asiantuntijana Maanmittauslaitoksessa.
Maanmittauslaitoksen blogissa eri kirjoittajat käsittelevät Maanmittauslaitoksen ajankohtaisia asioita.