Open Source nykyaikaisessa ohjelmistokehityksessä


2014-08-11, 08:30 Kirjoittanut Panu Horsmalahti

Avoimen lähdekoodin käyttö on tullut jäädäkseen osaksi ohjelmistokehitystä. Julkinen sektori jo suosii avoimia rajapintoja, ja lähitulevaisuudessa on odotettavaa, että ohjelmistot tilataan lähtökohtaisesti avoimina. Avoimessa lähdekoodissahan ei ole mitään uutta, mutta vasta nyt kehitys on siirtymässä avoimen lähdekoodin käytöstä avoimeen ohjelmistokehitykseen. Teollisuuskin on heräämässä tähän muutokseen, tosin ehkä hieman jälkijunassa julkiseen sektoriin verrattuna.

Open source (OS) tulee muuttamaan bisnesmalleja, ja tämän ovat huomanneet vanhatkin pelaajat. Ehkä paras esimerkki on Microsoft. Yritys julkaisi uusimman ohjelmointikielensä alusta alkaen vapaana. Hieman myöhemmin Microsoft julkaisi suuren osan .NET-kehitysympäristöstään avoimella lisenssillä. Syynä on se, ettei nykypäivänä voi juurikaan kilpailla näillä ohjelmistosektoreilla suljetuilla ratkaisuilla. Microsoft on kulkenut pitkän matkan 14-vuoden takaisista lausunnoista.

Open Source vaatii uusia bisnesmalleja, joka tuo merkittäviä haasteita yrityksille. Muutosta voidaan verrata tuoteliiketoiminnasta siirtymiseen palveluliiketoimintaan. Ennen myytiin kopioita koodista, nykyään myydään palvelua. Usein yritykset kuitenkin huomaavat tämän muutoksen liian myöhään, eivätkä ehdi sopeuttamaan bisnesmallejaan.

Avointa lähdekoodia kehitettäessä kannattaa tutustua yleisiin ns. anti-patterneihin. Avoin lähdekoodi mielletään usein open source kirjastojen lataamiseksi netistä ja niiden käyttämiseksi suljetuissa ohjelmistoissa. Tässä mallissa OS -ohjelmistojen bugikorjauksia ja parannuksia ei lähetetä takaisin, vaan suurella vaivalla ylläpidetään omia haaroja kirjastosta. Ongelma tulee siitä, että omien muutosten ylläpidosta tulee erittäin työlästä, eikä tästä ylimääräisestä työstä saada mitään varsinaista vastinetta projektille.

Toinen OS -keskustelun painopiste on lisenssikeskustelu. Copyleft -lisenssit olivat ennen varsin suosittuja, onhan esimerkiksi Linux julkaistu tällaisella lisenssillä. Nykyään MIT/BSD-lisenssit ovat kuitenkin selvästi voittaneet, ja nämä lisenssit ovat yksinkertaisia ymmärtää.

OS -yhteisöt toimivat pääosin GitHubissa. Avoimia ohjelmistoja kehittävien yritysten on nykyään välttämätöntä olla mukana GitHubissa. Cybercomin omilta GitHub-sivuilta löytyy Cybercomin avoimen lähdekoodin projekteja. Näistä uusin on Cybercomin Liikennedata-projekti, jonka tavoitteena on Tampereen Kaupungin Liikenteen ja ITS Factoryn tarjoaman avoimen datan historian säilyttäminen ja asettaminen saataville edelleen avoimien rajapintojen kautta, sekä tämän historian visualisointi. GitHubista löytyy myös lähdekoodit Cybercomin Nodeschool -tapahtumaan.

Yrityksille on olennaista osallistua yhteisöihin, eikä vain julkaista koodia GitHubiin ja unohtaa asia sen jälkeen. Joskus koodia ei edes julkaista mihinkään yhteisölliseen palveluun, vaan annetaan linkki zip-pakettiin, jolloin koodin ympärille ei välttämättä muodostu yhteisöllisyyttä.

Avoin lähdekoodi vaatii muutoksia myös ohjelmistoprojektien sopimuksiin. Sopimukset voivat tällä hetkellä jopa kieltää kontribuutioiden tekemisen OS -projekteihin, joka saattaa hankaloittaa projektin ohjelmistokehitystä. Vaikka kontribuutiot olisivat sinänsä sallittuja, niitä ei tule estää hankalalla byrokratialla. Esimerkiksi Google vaatii 'Contributor License Agreement':in allekirjoittamista. CLA:n hyödyistä ja haitoista ei ole vielä yhteisymmärrystä OS -maailmassa.

Avoimen lähdekoodin merkitys tulee vain kasvamaan. Yritysten ja organisaatioiden kannattaakin huomata open sourcen edut (ja riskit), ja tietää, miten sen kanssa tulee toimia.


comments powered by Disqus