Avoimella lähdekoodilla (open source) tarkoitetaan sitä, että ohjelmiston tai kirjaston lähdekoodi on julkisesti saatavilla ja sitä saa hyödyntää kuka tahansa tarkoituksesta riippumatta.
Miksi vapauttaa projektin komponentteja avoimeksi lähdekoodiksi?
Ensimmäinen kysymys usein on, että miksi maksaisin siitä, että jaan tekemäni työn ilmaiseksi muiden käytettäväksi. Ajatusleikillä voimme saada vastauksen: julkaistaan sovelluksemme komponentti avoimeksi. Kuvitellaan, että komponentti tekee yleishyödyllisen asian, joka pitää ratkaista lähes jokaisessa ohjelmistoprojektissa, myös tässä meidän sovelluksessamme. Komponentti kerää huomiota ja otetaan käyttöön muutamassa projektissa. Joku muu löytää komponentista parannettavaa ja jakaa muutoksen yhteisölle (eli myös sinulle). Onneksi olkoon, olet juuri hyödyntänyt projektissasi ilmaista työvoimaa!
Huomaa, ettei koko projektia missään nimessä tehdä avoimeksi, vaan julkaistaan sellaiset komponentit, jotka voivat kiinnostaa muita. Kertauksena vielä:
- julkaise yleishyödylliset komponentit
- älä julkaise business-osaamiseen liittyviä asioita: niitä, joihin liiketoimintanne perustuu.
Joskus avoimella lähdekoodilla on mahdollista kerätä sellaista taustajoukkoa ja panostusta, jota yksittäisen yrityksen olisi vaikea edes kuvitella. Kyseiset tapaukset ovat harvinaisempia, mutta esimerkkinä avoimen lähdekoodin onnistumisista ovat vaikka Linux-käyttöjärjestelmä, Drupal-sisällönhallintajärjestelmä ja Symfony-framework (PHP). Suosittelen tarkastelemaan minkälaista momenttia esimerkiksi Symfonyn kehitys on kerännyt. Kannattaakin harkita tarkkaan, ennen kuin aloittaa vastaavan tuotteen kehittämisen itse.
Tuki, bugi ja hintalappu
Jos suljettua tuotetta/koodikirjastoa tarjoava yritys lopettaakin, tuki ja jatkokehitys lakkaa. Tietysti avoimen lähdekoodin kanssa voi käydä samoin. Ero avoimessa lähdekoodissa on kuitenkin siinä, että joku muu voi ottaa ylläpidon ja jatkokehityksen haltuun.
Jos käytät suljettua lähdekoodia, ja siitä löytyy virheitä, kehittäjälle jää ainoastaan mahdollisuus ottaa yhteys tekniseen tukeen ja toivoa, että asialle tehdään jotain. Avoimeen lähdekoodiin korjauksen pystyy yleensä tekemään itse. Korjauksen voi alustavasti tehdä paikallisesti ja myöhemmin se tulee osaksi virallista koodipohjaa.
Avoin lähdekoodi on ilmaista, ja se on tuotettu usein yhteisön voimin tai jopa yritysten sponsoroimana. Erilaisia avoimen lähdekoodin lisenssejä löytyy useita ja näistä voi lukea lisää esimerkiksi Wikipediasta.
Huomioi tekijä
Avoimen lähdekoodin kanssa pitää muistaa, että sen on saattanut tehdä kuka tahansa. Siksi komponenttien valitsemisesta vastuussa olevan pitää suhtautua vaihtoehtoihin kriittisesti. Jo muutamalla silmäyksellä selviää paljon:
- kuka tai mikä organisaatio on lähdekoodin takana
- noudatetaanko yhteisön soveltamia hyviä käytäntöjä
- päivitysaktiivisuus
- onko virheraportteihin reagoitu aktiivisesti
- käyttäjämäärä.
Vapautta ja mahdollisuuksia
Avoimella lähdekoodilla on useita hyviä puolia ja haluamme myös painottaa sen tuomaa vapautta. Avoimen lähdekoodin kirjastoa on mahdollistaa käyttää, tutkia ja muokata omiin tarpeisiin parhaiten soveltuvaksi.
Kannattaa muistaa, että oikein hyödynnettynä avoin lähdekoodi vähentää ohjelmiston kustannuksia niin kehitys- kuin ylläpitovaiheessa.