Me Karhu Helsingissä käytämme valtavasti avoimen lähdekoodin ohjelmistoja. Pääasiallinen työvälineemme, Drupal, on merkittävä avoimen lähdekoodin projekti, joka rakentuu muiden avoimen lähdekoodin teknologioiden päälle. Meillä onkin paljon kokemusta siitä, millaista avoimen lähdekoodin ohjelmistojen kanssa toimiminen on ja miten ne toimivat liiketoiminnan perustana.

Avoimen lähdekoodin ohjelmistojen lähdekoodi on käyttäjän luettavissa ja siten periaatteessa myös muokattavissa. Näiden ohjelmistojen lisenssit asettavat usein ehtoja käytölle, julkaisulle ja levitykselle, joten villin lännen meiningillä ei kannata avoimenkaan lähdekoodin kanssa toimia. Väitän kuitenkin, että on usein huomattavasti turvallisempaa lähteä rakentamaan liiketoimintaa avoimen lähdekoodin kuin omisteisten ohjelmistojen päälle. Avoimen lähdekoodin projekteissa kehittäjämassat luovat voimaa ja kehityksen avoimuus parantaa toteutusten tietoturvaa. Näistä lisää seuraavassa.

 

Tämä onkin yksi avoimen lähdekoodin toteutusten vahvuus: toteutukset ovat julkisia, joten tietoturva on pakko toteuttaa oikein.

F = ma

Suosittujen avoimen lähdekoodin ohjelmistojen ympärille muodostuu kehittäjäyhteisöjä, jotka lähtevät yhdessä viemään ohjelmistoja eteenpäin. Parhaimmissa tapauksissa yhteisöt paisuvat valtaviksi ja yhteen projektiin saattaa osallistua tuhansia kehittäjiä kaikkialta maailmasta. Pelkän Linux-ytimen kehittämiseen on osallistunut Linux Foundationin mukaan vuodesta 2005 asti 13500 kehittäjää 1300 yrityksestä. Maailmanlaajuiseen Drupal-yhteisöön puolestaan kuuluu yli miljoona jäsentä, jotka suunnittelevat ja kehittävät Drupalia sekä sille rakennettuja tuhansia moduuleja, tarjoavat tukea käyttäjille ja organisoivat yhteisön toimintaa. Näiden projektien toteuttaminen kaupallisina, omisteisina ohjelmistoina olisi ollut mahdotonta - puhumattakaan ohjelmistojen ylläpidosta ja jatkokehityksestä.

Erilaisilla taustoilla olevat kehittäjämassat tuovat projekteihin mukanaan myös paljon muuta kuin pelkkää ohjelmointiosaamista. Ohjelmistoilla on usein maantieteellisiä ja kulturaalisia vaatimuksia, joten eri puolilta maailmaa ja erilaisista kulttuureista olevat kehittäjät tuovat mukanaan asiantuntemusta myös tälle saralle. Kun projektit kasvavat, luodaan kehittämiseen myös erilaisia käytäntöjä ja yhteisöille syntyy oma säännöstönsä siihen, miten kehitystyötä tehdään ja miten muutoksista tiedotetaan. Tämä on omiaan edistämään projektien jatkuvuutta ja helpottamaan ohjelmistojen jatkokehittämistä.

Tietoturvaa ilman salaisuuksia

Tietoturvasta puhuttaessa kuulee usein fraasin: "security through obscurity is no security at all". Tämä tarkoittaa vapaasti suomennettuna sitä, että salaiseen toteutukseen perustuva tietoturva ei oikeasti ole tietoturvaa. Tämä onkin yksi avoimen lähdekoodin toteutusten vahvuus: toteutukset ovat julkisia, joten tietoturva on pakko toteuttaa oikein. Toteutukset ovat myös vapaasti auditoitavissa, eikä esimerkiksi ns. takaporttien rakentaminen ohjelmistoihin onnistu helposti.

Nykyään tietoturva-aukot ja tietomurrot ovat vakava uhka yritysten liiketoiminnalle. Parhaimmassakin tapauksessa tietoturvauhan realisoituminen on vakava PR-tappio yritykselle - pahimmillaan se voi pysäyttää koko yrityksen liiketoiminnan ja aiheuttaa valtavia taloudellisia menetyksiä. Avoin lähdekoodi, varmaksi todetut salausmenetelmät sekä lähes vainoharhainen suhtautuminen tietoturvaan ovat kolme parasta keinoa yrittää minimoida tietoturvauhkien riskit.

Avoimen lähdekoodin uhat

Avoin lähdekoodi ei automaattisesti tee ohjelmistosta hyvää. On totta, että useat avoimen lähdekoodin ohjelmistot ovat usein käyttökokemuksen kannalta kammottavia. Avoimen lähdekoodin tuotoksissa ei välttämättä pystytä keskittymään ulkoasuun tai yhtenäisiin käyttöliittymäparadigmoihin. Tällaisissa tapauksissa lopputulos saattaa kelvata ominaisuuden omaan tarpeeseensa tehneelle kehittäjälle, mutta ei välttämättä oikein kenellekään muulle.

Jos jostakin ohjelmistosta maksetaan kallista kaupallista lisenssiä, on myös usein hyvät perusteet olettaa, että ohjelmisto toimii halutulla tavalla. Ja jos ohjelmisto ei jostain syystä toimikaan, voi toimittajalta vaatia hyvitystä. Tämä on ehkä suurin avoimen lähdekoodin ohjelmistojen ongelma: ketä voi syyttää, jos ohjelmisto ei toimi? Entä jos ohjelmistossa on kuitenkin jokin vakava tietoturva-aukko? Keneltä voimme vaatia hyvitystä tietomurron aiheuttamista tappioista? Tällaisessa tapauksessa ei avoimen lähdekoodin ohjelmiston käyttäjällä ole muuta mahdollisuutta kuin kiroilla hiljaa itsekseen ja käydä lähettämässä bugiraportti kehittäjäyhteisölle.

Yksi harvoin esiin nostettu ongelma avoimen lähdekoodin ohjelmistoissa on myös houkutus räätälöintiin. Liiketoiminnan kannalta on välttämätöntä, että yritys pitää fokuksensa mahdollisimman hyvin keskitettynä ydinliiketoimintaansa. Fokus on helpompaa säilyttää silloin, kun hyväksytään ohjelmistojen rajoitukset ja toimitaan niiden puitteissa, vaikka yrityksellä muuten olisikin valmiudet lähteä räätälöimään käyttämäänsä ohjelmistoa. Räätälöidyn koodipohjan ylläpito ja jatkokehitys saattavat etenkin pitkällä aikavälillä tulla erittäin kalliiksi.

Avoin lähdekoodi Karhu Helsingissä

Kuten tämän kirjoituksen alussa mainitsin, Karhu Helsinki käyttää valtavia määriä avoimen lähdekoodin ohjelmistoja. Tässä esimerkkejä muutamista käyttämistämme ohjelmistoista:

Olemme käytännössä huomanneet sen, että avoimen lähdekoodin ohjelmistojen käyttäminen säästää meillä konkreettisesti niin aikaa kuin rahaakin. Yksi ärsyttävimmistä kaupallisten lisenssien ongelmista on se, että ne tulevat lähes aina kalliimmiksi kuin mitä hintalapussa tai laskussa lukee. Lisenssihallinta ja etenkin lisenssien peruuttaminen voivat viedä kohtuuttoman paljon aikaa ja energiaa. Avoimen lähdekoodin ohjelmistojen kanssa asiat ovat suoraviivaisempia. Avoimen lähdekoodin ohjelmistoihin ei myöskään tarvitse sitoutua, vaan työkaluja voidaan vaihtaa tarpeen mukaan ilman lisäkustannuksia.

Jos kiinnostuit avoimen lähdekoodin käyttämisestä oman yrityksesi liiketoiminnassa, ota meihin yhteyttä ja jutellaan lisää!