Wikier

Åpen kildekode

Her finner du informasjon om hvor og hvordan du kan publisere og dele kildekode, samt hva du bør tenke på før du gjør det og hvordan kildekoden kan lisensieres.

Temaside om forskningsdata | Sider merket med åpen vitenskap

English version - Open source

Hvorfor publisere kildekode?

Kildekode og programvare som utvikles i forskningsprosjekt og annen akademisk virksomhet, bør inkluderes som en del av publiserte forskningsresultater. Sammen med publisering av forskningsdata, legger dette til rette for testing og validering av blant annet analyser og modeller og gjør det mulig med gjenbruk og videre utvikling av koden eller programvaren. God praksis for datahåndtering er i stor grad overførbar til kildekode, inkludert versjonering, dokumentasjon og metadata som sørger for at forskningsresultater er mest mulig FAIR, åpne og reproduserbare. Det er likevel noen hensyn og praktiske løsninger som er spesifikke for kildekode, inkludert lisensiering.

Hvordan publisere kildekode?

Flere nyttige verktøy og tjenester for å samarbeide om utarbeidelse av kode og versjonshåndtering brukes også for å gjøre kildekode og programvare åpent tilgjengelig. Noen eksempler på slike som er mye brukt inkluderer GitHub, GitLab og Bitbucket.

I tillegg til å gjøre kode/programvare tilgjengelig gjennom slike tjenester, anbefales det å publisere i et egnet arkiv. Dette gjør at kildekoden blir siterbar, mulig å gjenbruke og sikrer langtidsbevaring.

  • For prosjekter som bruker GitHub anbefales integrasjonen med Zenodo, et generelt arkiv for forskningsresultater som drives av CERN/EU.
  • Mange arkiv for forskningsdata kan også brukes for å arkivere og publisere kode og programvare, se mer på siden Arkivere forskningsdata.

Lisensiering av kildekode

Åpne lisenser for kildekode og programvare skiller seg fra lisenser som gjerne anbefales for vitenskapelige publikasjoner eller data, og det er et stort sett av ulike åpne eller frie lisenser å velge mellom. Det anbefales å bruke en av de dedikerte lisensene for programvare, da disse er utarbeidet spesifikt med tanke på kode og hvordan denne kan endres og viderebrukes. En del lisenser tar også hensyn til mulige patentrettigheter i tillegg til opphavsretten. Se også Creative Commons sin FAQ om hvorfor CC-lisenser ikke bør brukes på programvare.

NTNUs politikk for åpen vitenskap har tilhørende retningslinjer for valg av lisenser. Der ingen overstyrende føringer foreligger skal NTNU-produsert programvare lisensieres med European Union Public Licence (EUPL). For programvareprosjekter innen fagområder med spesifikke behov vil andre lisenser som oppfyller kravene fra Open Source Initiative til åpen kildekode (for eksempel MIT-lisensen, Apachelisensen eller GNU GPLv3) kunne benyttes.

For en kort innføring i noen av de vanligste lisensene se også vår artikkel om Åpen kildekode på openscience.no.

Nyttige ressurser

  • Choosealicense.com gir råd om valg av lisenser for åpen kildekode basert på din situasjon. De har også en ryddig oversikt for å sammenligne de viktigste betingelsene og tillatelsene for noen av de mest brukte lisensene.
  • EUDAT license selector er et lite verktøy som gir hjelp til å velge lisens, både for data og kildekode. Denne er særlig nyttig for se hvilke lisenser som er kompatible hvis man gjenbruker andres kode (men har et litt begrenset utvalg, blant annet mangler EUPL).
  • CodeRefinery deler mange nyttige ressurser fra kursene de holder inkludert en forelesning om «Social coding».
  • Mer informasjon finnes også på nettsiden openscience.no, blant annet delen om Åpen kildekode som NTNU har bidratt til.

Se også

Kontakt

Har du spørsmål, kommentarer eller tilbakemeldinger, eller ønsker hjelp til å publisere kildekode, ta kontakt med Research Data @NTNU i NTNU Hjelp. Eksterne brukere kan sende epost til research-data@ntnu.no (har du NTNU-bruker vil du få svar i NTNU Hjelp-portalen).