Lite åpen kildekode på Github

Lite åpen kildekode på Github

Undersøkelse av prosjekter på det populære kode-delings nettstedet antyder manglende kunnskap om og lite bruk av lisenser.

Aaron Williamson, seniorrådgiver ved organisasjonen Software Freedom Law Center, har undersøkt tilstanden til over halvannen million prosjekter på det populære kode-deling nettstedet Github, ifølge The Register.

Williamson innrømmer at undersøkelsen bare dekker en liten del av alt som ligger ute på Github, og at innsamlingen var utført av nysgjerrighet, og ikke som en vitenskaplig analyse.

Likevel var det han fant ganske oppsiktsvekkende.

Lite GPL

Bare 14,9 prosent av de totalt 1.692.135 prosjektene som ble undersøkt hadde en identifiserbar lisensfil i topptreet av den anbefalte typen LICENSE eller COPYING, og 28 prosent nevnte hvilken lisens prosjektet var beskyttet av i en README-fil.

Et annet overraskende funn var at selv om copyleft-lisenser som GPL var godt representert, var flesteparten av prosjektene sluppet med en BSD eller MIT lisens. Den viktige forskjellen mellom GPL (Gnu Public License) og for eksempel BSD-type lisens er at GPL krever at alle som videreutvikler programvaren er bundet til å slippe sine egne versjoner med samme lisens og åpen kode.

BSD og MIT-lisensene er friere på det området, og krever ikke at man deler videreutvikling av kode på samme måte som GPL. BSD og MIT-lisenser tillater også at koden brukes i propritær programvare, så lenge det opplyses om hvor koden kommer fra, og det legges ved en kopi av den originale lisensen.

Et godt eksempel er Apples OS X, som er lukket programvare basert på en åpen BSD-kjerne.

Funnene kan tyde på at trenden blant unge utviklere er å tillate bruk og gjenbruk av kode i det vide og det brede, uten å stille krav til å gi noe tilbake.

Delingskultur

Luis Villa, rådgiver ved Wikimedia Foundation, har tidligere antydet i en bloggpost at unge utviklere på sin måte gjør opprør mot det som kan oppfattes som strenge regler under copyleft lisenser som GPL, og foretrekker en åpen tilnærming til gjenbruk av kode.

- De foretrekker å la andre utviklere gjøre det de vil med koden deres, og rett eller galt, dette kan være årsaken til at mange prosjekter slippes uten noen som helst lisens, foreslår Villa.

En annen forklaring kan ligge i at miljøet rundt åpen kildekode er i endring, og har beveget seg vekk fra det som var idealet for ti-femten år siden da åpen kildekode nærmest var synonymt med GNU/Linux.

- Folk så opp til Linus og Free Software Foundation, og fulgte deres eksempler om hvordan de lisensierte koden sin, sier Williams, og utdyper:

- Men nå er åpen kildekode-miljøet vokst seg mye større enn Linux-miljøet og den relevante plattformet for mange unge utviklere er internett snarere enn GNU/Linux.

Data fra undersøkelsen bygger opp under dette, for 21 prosent av de omlag 1.7 millioner prosjektene Williams undersøkte var skrevet i Javascript og 12 prosent var skrevet i Ruby. Begge er tett assosisert med utvikling for nett.

Bra eller dårlig?

Hvilken lisens en utvikler foretrekker å slippe koden sin under, er selvsagt opp til utvikleren selv. Både BSD, MIT, GPL og andre lisenser har både fordeler og ulemper, alt etter hvilken retning man selv heller mot både ideologisk og teknologisk.

Det er heller ikke opplagt om skiftet fra system- og applikasjonsprogrammering til nettprogrammering har stor påvirkning på valg av lisens.

Utfordringen ligger i stedet i rettigheter og bruk av koden. Dersom programvarekode slippes uten lisens, eller uten å inkludere lisensopplysninger med kildekoden, er det en reell mulighet for at god og brukbar kode ikke kan brukes av andre på grunn av uklare rettigheter.

Å dele kode er bra for alle, men dersom lisensen er uklar blir potensialet forbli uutnyttet, eller i verste fall, stjålet og "misbrukt". Det er også en av årsakene til at Github har som standard at alle nye prosjekter er beskyttet med en "all rights reserved"-lisens, for å unngå at utviklere gir fra seg rettigheter de kanskje ikke forstår, som The Register påpeker.

- Folk utelater ting. De er opptatt av å skrive kode, og tenker bare ikke på slikt, sier Williamson.

Selve undersøkelsen ble utført med et selvutviklet Python-skript av Williamson, som gjorde API-kall mot Github og lastet ned filer, som igjen ble kjørt gjennom verktøyet Fossology, som skal identifisere programvarelisenser basert på språk og fraser.

Utvikling