Älä hukkaa koodia tai dataa

giikkiankka

Wikipediassa on sangen mainiosti selitetty, mitä on lähdekoodi.

Ilman lähdekoodia ohjelman muokkaaminen on mahdotonta. Näin ollen asiakkaan täytyy kriittisten tietojärjestelmien osalta varmistaa, että koodi on kaikissa tilanteissa saatavilla.

Suosittelin aiemmin, että ohjelmistokehityksen ostajan kannattaa aina vaatia täydet oikeudet. Tällöin on helppoa järjestää asiakkaalle jatkuva pääsy kaikkeen koodiin.

Yksinkertaisin tapa on käyttää lähdekoodin tallentamiseen esimerkiksi GitHub tai Bitbucket -palveluita. Toimittaja tallentaa kaikki muutokset suoraan näihin palveluihin, ja myös asiakas pääsee koodiin (ja koko sen muutoshistoriaan) käsiksi milloin tahansa.

90-luku soitti, haluaa tallelokeronsa takaisin

Jos oikeudet eivät kuulu asiakkaalle, toimittajalla tuskin on suurta intressiä antaa myöskään lähdekoodeja asiakkaalle. Tällöin pitää turvautua escrow-palveluun, jonne koodi tallennetaan. Asiakas saa pääsyn koodiin esimerkiksi toimittajan mennessä konkurssiin.

Suomessa tiedossani on vain kauppakamarien tarjoamat escrow-palvelut. Nämä kuitenkin sopivat huonosti nykyaikaiseen ohjelmistokehitykseen, missä uusia versioita julkaistaan usein. Käytännössä kauppakamarit tarjoavat käyttöön pankin tallelokeron, jonne toimittaja lähettää fyysisen median. Sen lisäksi, että uusien versioiden toimittaminen palveluun on kömpelöä ja kallista, ei escrow-palvelun tarjoaja mitenkään varmista tallennetun median toimivuuttaa tai sisältöä.

Source code escrow -hakusanalla löytyy runsaasti ulkomaisia palveluntarjoajia, jotka tarjoavat modernimpia tapoja lähdekoodin tallentamiseen. Näistä minulla ei kuitenkaan ole omakohtaisia kokemuksia, sillä Vincitillä luovutamme aina asiakkaalle oikeudet.

All your data are belong to us

Mahdollisuus saada kopio lähdekoodista ei kuitenkaan aina riitä. Tämän lisäksi pitää varmistaa, ettei palveluun tallennettua tietoa menetetä missään olosuhteissa. Pelkkä koodi ei hirveästi lämmitä, jos esimerkiksi toimittajan vaihtumisen tai konkurssin myötä menetetään tuotantopalvelimen sisältö. Pilvipalveluiden kohdalla katastrofiin voi riittää, että palvelun avannut henkilö vaihtaa yritystä ja tili palveluun oli luotu hänen henkilökohtaisilla tunnuksillaan.

Pasi Kovanen

Pasi Kovanen
Software with Passion.

2 kommenttia

Jari Kautiala sanoo:

Näiden asioiden esillenostaminen pitäisi automagic kuulua sekä sekä hyvään tapaan myydä että hyvään tapaan ostaa. Helmi kirjoitus Pasi!

Hyvä kirjoitus Pasi! Haluaisin tuoda esille myös kotimaisen vaihtoehdon lähdekoodien tallentamiseen ja sen ympärillä tehtävään yhteistyöhön: https://deveo.com. Deveota voidaan ajaa joko asiakkaan omilla palvelimilla, tai käyttää SaaS-palveluna pilvestä. Molemmissa tapauksissa tietosuoja, tietoturva ja erilaiset yritysten käyttämät käyttöoikeusskeemat on otettu huomioon jopa paremmin kuin kirjoituksessasi mainituissa palveluissa.

Liity keskusteluun