Skip to main content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.

Tutkimusaineistojen hallinta: Avoin lähdekoodi ja ohjelmat

Yleistä avoimesta lähdekoodista

Avoin lähdekoodi (engl. open source) on tapa kehittää ja jaella tietokoneohjelmistoja. Avoimessa ohjelmistojen kehitysmallissa sekä ideat että toteutukset ovat kaikkien nähtävissä ja hyödynnettävissä, mutta kumminkin tietyn lisensointimallin määrittämin ehdoin. Yksityishenkilöt ja yritykset (loppukäyttäjät) voivat osallistua kehitystyöhön, jolloin ohjelmistovirheet on mahdollista löytää ja korjata nopeasti. Tämä johtaa usein korkeaan laatuun, hyvään tietoturvaan ja yhteentoimiviin ohjelmistoihin. Lisensseillä vaikutetaan myös siihen, miten niiden piiriin kuuluvia ohjelmistoja voi jaella ja yhdistellä.

Lähdekoodin lisensointi

Lähdekoodin lisensoinnista tulee huolehtia asianmukaisesti. Ohjelmiston itsenäinen kaupallistaminen voi olla perusteena käytetyn lisenssin valinnalle. Valinnassa tulee ottaa huomioon myös tapauskohtaiset vaatimukset tulevista lisensoinnin tarpeista. Lisenssivalinnasta on syytä keskustella myös esimiehen, laboratorion vetäjän tai dekaanin kanssa.

Kolme suositeltavaa lisenssivaihtoehtoa tilanteen mukaan:

1. MIT-lisenssi on avoimin suositeltavista vaihtoehdosta. MIT-lisensoitu ohjelmakoodi on vapaasti käytettävissä. MIT-lisenssi soveltuu erityisesti niihin tapauksiin, joissa ohjelmistoon ei liity erityistä kaupallista intressiä.

2. GNU General Public -lisenssi (GPL) antaa kenelle tahansa oikeuden käyttää, kopioida, muuttaa ja jakaa edelleen ohjelmia ja niiden lähdekoodia. Lisäksi GPL-lisenssi takaa, että nämä vapaudet säilyvät myös GPL-koodiin pohjautuvissa muunnelluissa teoksissa. Tämä tekee GPL-lisenssistä ns. copy left -lisenssin. Huomaathan, että on olemassa myös GNU Lesser General Public License (LGPL), joka ei (toisin kuin edellä mainittu GPL) vaadi muunneltujen teosten samanlaista lisensointia.

3. Kaksoislisensointia hyödynnetään niissä tapauksissa, joissa tavoitteena on kaupallisten lisenssien myyminen tutkimuslisenssien jakelun oheen. Näissä tapauksissa määritellään tapauskohtaisesti sovellettava lisenssi Tampereen yliopiston lakipalveluiden kanssa. Tampereen yliopiston juristien tuki kaupallisten lisenssien määrittämiseksi kohdistetaan kaupallisesti merkittäviin lisensointeihin ja Tampereen yliopiston ulkopuolista rahoitusta hankkiville tutkimusryhmille.

Lue lisää kaksoislisensoinnista: Avoimuuden ja innovoinnin yhdistäminen (Aalto yliopisto)

Edellä mainituissa lisensseissä on vastuunrajoituslauseke. Lauseke varmistaa, että tekijänoikeuden haltija ja ohjelmiston kehittäjä eivät ole vastuussa lisensoidun materiaalin käytöstä.

Muista!

  • Lisenssilauseke on liitettävä jokaiseen ohjelmakooditiedostoon sekä julkaisun metatietoihin. Lisenssilauseke voidaan liittää lähdekoodin yhteyteen erillisenä LICENSE.txt-tiedostona tai se voidaan kopioida mukaan soveltuvaan tiedostoon, esimerkiksi README.txt-tiedostoon. Huomioithan, että lisenssiin tulee oikea vuosiluku ja omistaja.
  • Ennen jakeluun ryhtymistä selvitä koodin omistaja. Lähdekoodin omistajuus määrittyy koodin syntyolosuhteiden pohjalta. Omistajuuden määräytymiseen vaikuttavat lain määrittelemät linjaukset, käytetty rahoitus, tekijän asema ja koodia kontribuoivien henkilöiden tausta. Omistajuus voi olla tekijällä, tekijöillä, Tampereen korkeakouluyhteisöllä, rahoittajalla tai niiden yhdistelmällä.

Muihin avoimen lähdekoodin lisenssivaihtoehtoihin voi tutustua Open Source Initiativen sivustolla. Lisenssien välisiä eroavaisuuksia on selvitetty GitHubin ohjesivustolla. Myös Free Software Foundation tarjoilee tietoutta vaihtoehtoisen lisenssin valintaan. Kannattaa muistaa, että Creative Commons -lisenssit eivät sovellu ohjelmakoodille.

Muita lisenssivaihtoehtoja:

  • BSD Alun perin Berkeleyn yliopiston julkaisema unix-lisenssi.

  • Apache-2.0. Apache Software Foundation luoma vapaan ohjelmiston lisenssi.

Kaksi pääsääntöä lisenssin valitsemiseen

  1. Jos jatkat jo olemassa olevan lähdekoodin kehittämistä, käytä samaa lisenssiä kuin alkuperäisessä ohjelmassa. Saman lisenssin käyttäminen voi olla pakollista ja joka tapauksessa se on melkein aina järkevää.
  2. Jos aloitat tyhjästä, valitse tunnettu lisenssi,  kuten GNU GPL tai BSD. Älä rajoita ohjelman käyttöä vain johonkin tiettyyyn tarkoitukseen. Rajoitukset estävät usein koodin integroimisen johonkin suurempaan ohjelmaan.

Tarttuvat ja sallivat lisenssit

Avoimet lisenssit voidaan karkeasti jakaa kahteen luokkaan: tarttuviin ja salliviin lisensseihin. Molemmissa tapauksissa kuka tahansa voi vapaasti käyttää tai kopioida alkuperäisen ohjelman. Lisenssien ero näkyy johdannaisteosten lisensoinnissa.

  1. Tarttuva lisenssi tarkoittaa, että ohjelmistoon tehtävät muutokset on jatkossa lisensioitava samoilla ehdoilla kuin alkuperäinen ohjelmisto. Jos ohjelma A:lla on GPL-lisenssi (niin, että se voidaan vapaasti kopioida), myös sen johdannaisohjelmilla A¹ ja A² on oltava GPL-lisenssi (eli myös ne ovat vapaasti kopioitavissa). 
  2. Salliva lisenssi mahdollistaa ohjelmiston muuttamisen ja levittämisen myös kaupalliseen tarkoitukseen. Esimerkiksi, jos ohjelma B on lisensoitu BSD-lisenssillä, siitä voidaan tehdä kaupalliset versiot B¹,  B² jne. Johdannaisohjelmille voitaisiin antaa myös GPL-lisenssi, jolloin näiden johdannaiset olisi lisensoitava GPL-lisenssillä. 

Sallivat lisenssit saattavat kiinnostaa enemmän kaupallisia toimijoita ja tarttuvat lisenssit puolestaan itsenäisiä ohjelmiston kehittäjiä. Kumpikaan lisenssityyppi ei aseta suoria rajoitteita ohjelmiston kaupalliselle käytölle. Vapaata ohjelmaa voidaan käyttää yksityisessä liiketoiminnassa ja esimerkiksi ohjelman tukipalveluita voidaan myydä. Yritys voi maksaa ohjelmiston kehittäjälle lisäominaisuuksien toteuttamisesta.

Lähdekoodin tallentaminen ja jakaminen

Lähdekoodia on suositeltavaa jakaa siellä, missä se kulloinkin – rahoittajista tai muista tekijöistä johtuen – on tarkoituksenmukaisinta.

Avoimen lähdekoodin jakamiseen suositellaan GitHubia. Koodia voidaan jakaa myös järjestelmässä/alustalla, jota koodiin liittyvä ohjelmisto käyttää. Pitkäaikaistallennusta varten Zenodo on suositeltavampi kuin GitHub.

Lähdekoodin metatiedot

TUTCRIS-tutkimustietojärjestelmään suositellaan talletettavaksi aina vähintään lähdekoodia kuvailevat metatiedot. Huolehdithan, että lähdekoodiin voidaan viitata. Varmista, että metatiedoista selviää ainakin:

  • ohjelman tai lähdekoodin nimi
  • tekijä tai tekijät
  • julkaisupäivämäärä
  • versionumero
  • käytetty lisenssi
  • mielellään myös sijainti verkossa, joka voi olla esimerkiksi URL-osoite tai DOI-tunniste.

Myös metatiedot voidaan lisensoida. Fairdata.fi suosittelee metatietojen julkaisemista CC0-lisenssillä.

Ohjelmistot ja tekijänoikeus

Suomen Tekijänoikeuslain mukaan tietokoneohjelmalla on samankaltainen tekijänoikeus kuin kirjallisella teoksella tai musiikkikappaleella. Tekijänoikeudet eivät siirry työnantajalle, kun kyseessä on "korkeakoulun opetus- ja tutkimustyössä itsenäisesti toimivan tekijän luoma tietokoneohjelma".  Tekijänoikeuksien siirtäminen yliopistolle vaatii siis kirjallisen sopimuksen. 

Ota yhteyttä

Etkö löytänyt tarvitsemaasi tietoa oppaasta? Puuttuuko sieltä jokin tärkeä asia? Ota yhteyttä Tampereen yliopiston Datapalveluun, niin autamme ja opastamme sinua tutkimusaineistojen hallinnassa.