Programvarelisenser
Åndsverkloven gir enerett til programvare vi utvikler. Når vi ønsker å gjøre programvaren tilgjengelig for andre (uavhengig om vi tar betalt for den eller ikke), må vi definere hvilke lisensbetingelser (regler for bruk) vi ønsker skal gjelde for åndsverket vårt.
Åndsverkloven definerer grunnreglene som gjelder for alle åndsverk. Dette fundamentet kan vi så tilpasse ved hjelp av lisenser og sluttbrukerlisens (EULA).
Lisenser kan være mer åpne eller mer lukkede. Noen lisenser gir kun en begrenset tilgang til å bruke programvaren. Slike restriktive lisenser brukes ofte på proprietær programvare, der målet er å tjene penger på programvaren for å få et forsprang på konkurrenter ved å holde kildekoden hemmelig. Andre lisenser kan være mer åpne og tillate at andre gjør forandringer, lager kopier, lager sine egne varianter og bruker koden i sine egne prosjekter. Det er også mulig å gi bort alle rettighetene sine slik at koden i praksis blir allemannseie og fritt kan brukes av hvem som helst og til hva som helst.
Ofte bruker vi andres kode i prosjektene våre. Da er det viktig å kunne betingelsene som gjelder for gjenbruk av koden. Kanskje er det ikke lov å gjenbruke i det hele tatt, eller kanskje er det begrensinger som påvirker hvilken lisensiering du kan bruke på prosjektet ditt hvis det inneholder kode fra andre. Det er også god skikk, og som oftest et krav, om å videreformidle den originale lisensinformasjonen og kilden.
Når vi skal bestemme lisenstype, er det noen sentrale spørsmål vi må besvare.
Kommersialisering?
Skal du tjene penger på programvaren? Hvis ja, skal du tjene penger direkte ved salg av programvaren gjennom brukerstøttetjenester eller gjøre utviklingen basert på donasjoner?
Mange utvikler programvare uten mål om å tjene penger på dette. Dette er selvsagt helt legitimt og noe vi alle nyter godt av hver dag, men hvis programmering skal være mer enn en hobby, er det behov for å finne ut hvordan man kan tjene penger på arbeidet.
Tilgjengeliggjøring av kildekoden?
Dataprogrammets kildekode er som oftest kompilert til maskinkode før den gjøres tilgjengelig for brukerne. Maskinkoden til et program er vanskelig å analysere og reversere til formater som mennesker kan lese og arbeide med.
Vi må derfor tenke gjennom følgende: Ønsker vi at andre skal få innsikt i programvaren ved å gjøre kildekode tilgjengelig, eller ønsker vi å holde den hemmelig? På bakgrunn av dette kan vi avgjøre om vi ønsker å gjøre kildekoden til koden eller programmet tilgjengelig for andre eller ikke.
Skal lisens og kildekode være åpen eller lukket?
Når vi snakker om åpen eller lukket lisens og kildekode, snakker vi om typen lisens som skal gjelde for koden eller programmet, ikke om kildekoden i seg selv er tilgjengelig for allmennheten eller ikke.
Utgangspunktet for lisens er åndsverkloven, og denne gir enerett til opphaveren. Dette kaller vi lukket eller proprietær lisens eller kildekode. Det er sterkt begrenset hva andre kan gjøre med koden.
Innen dataverdenen er det en sterk kultur for å gi åndsverk en mer åpen lisens. Hvor åpen lisensen gjøres, varierer fra lisenstype til lisenstype. I artikkelen Åpne lisenser for programmering (ndla.no) kan du lese mer om de vanligste lisenstypene innen IT.
I tabellen under kan du se ytterkantene mellom helt lukket og helt åpen lisens og kildekode.
Rettighet | Lukket lisens og kildekode | Åpen lisens og kildekode |
---|---|---|
Rett til å bruke programvaren | Ja, hvis den er kjøpt eller lovlig anskaffet. | Ja |
Rett til å lage private kopier | Kopiering er kun tillatt for egen sikkerhetskopi og regulert av lovverket. | Ja |
Rett til distribuere kopier av programmet eller kode | Nei | Ja |
Rett til å forandre programmets kode | Tilpasning av kode er kun tillatt for eget nødvendig bruk og regulert av lovverket. | Ja |
Rett til å distribuere kopier av forandret programvare | Nei | Ja |
Tillatelse til å gjenbruke kode i egne prosjekter | Nei | Ja |
Rett til å forandre lisensbetingelser | Nei | Varierer mellom de åpne lisensene |
Krav om anerkjennelse av opphavet til programvaren eller koden | Ja | Som oftest ja |