Öppen källkod, licenser och lagboken

Program som tillhör kategorierna ”öppen källkod” eller ”fri programvara” släpps alltid med en licens. Den talar om vad du får och inte får göra med källkoden. Enligt Open Source Initiative finns det drygt 50 licenser för öppen källkod, och enligt GNU drygt 60 fri-programvara-licenser. Varför behövs de, och vad menas med en licens?

Upphovsrätt

Den svenska lagen om upphovsrätt definierar upphovsrätt enligt följande.

2 §: Upphovsrätt innefattar ... uteslutande rätt att förfoga över verket genom att framställa exemplar av det och genom att göra det tillgängligt för allmänheten, i ursprungligt eller ändrat skick, ... i annan teknik.

Upphovsrätten tillhör alltid upphovsmannen, dvs utvecklaren av programmet – oavsett om man anger ”copyright” i källkoden eller ej. Detta är dock svensk lag, och internationellt har det åtminstone tidigare (i vissa länder) krävts att man angett upphovsman.

26 g §: Den som har förvärvat rätt att använda ett datorprogram får framställa sådana exemplar av programmet och göra sådana ändringar i programmet som är nödvändiga för att han skall kunna använda programmet för dess avsedda ändamål.

Du får alltså modifiera de program du har förvärvat lagligen om de skulle vara icke funktionsdugliga på ett eller annat sätt. Men du har inte rätt att sprida den modifierade versionen.

Licens

En licens är ett ”särskilt tillstånd till viss verksamhet som normalt inte är tillåten” (Norstedts svenska ordbok). Licensen säger i det här fallet vad du får göra som annars vore olagligt enligt upphovsrätten. Den kan också ställa rimliga krav på licensinnehavaren. Licensen gäller främst källkod, eftersom program som inte distribueras tillsammans med källkoden inte behöver någon licens.

Om källkoden följer med ett program – men saknar licens – gäller upphovsrätten fullt ut. Du har inte rätt att sprida en modifierad version av den och kan dömas till böter eller upp till två års fängelse.

Varför är det viktigt med licenser? För upphovsmannen är det (tydligen) viktigt att se till att ens källkod inte används på vissa sätt. Det finns exempelvis en stark ovilja hos många att låta någon annan tjäna pengar på sitt arbete. (Man skulle också kunna tänka sig en licens som ger alla utom vapen- och tobaksindustrin rätt att använda källkoden i sina program.) Den som modifierar annans källkod vill ha en skriftlig licens för att undvika att senare bli stämd för intrång i upphovsrätten.

Lagboken säger om detta:

27 §: Upphovsrätt må, med den begränsning som följer av vad i 3 § sägs, helt eller delvis överlåtas.

28 §: Om ej annat avtalats, äger den till vilken upphovsrätt överlåtits icke ändra verket samt ej heller överlåta rätten vidare.

Man kan alltså överlåta upphovsrätten helt eller delvis för ett program till någon annan, nämligen licensinnehavaren. Detta görs genom licensen, som beskriver exakt vad som överlåtits. En viktig paragraf i detta sammanhang är 3 §. Det är för mig som lekman otydligt vad man menar med sista stycket, men jag förstår i alla fall att licensinnehavaren inte har rätt att göra precis vad som helst med källkoden, oavsett vad som skrivs i licensen.

3 §: Då exemplar av ett verk framställes eller verket göres tillgängligt för allmänheten, skall upphovsmannen angivas i den omfattning och på det sätt god sed kräver.

Ett verk må icke ändras så, att upphovsmannens litterära eller konstnärliga anseende eller egenart kränkes; ej heller må verket göras tillgängligt för allmänheten i sådan form eller i sådant sammanhang som är på angivet sätt kränkande för upphovsmannen.

Sin rätt enligt denna paragraf kan upphovsmannen med bindande verkan eftergiva endast såvitt angår en till art och omfattning begränsad användning av verket.

En licens är inte ett kontrakt och inte ett avtal. Den kan därför inte begränsa användandet av programmet utan enbart ge tillåtelse att göra det som annars strider mot upphovsrätten. En licens har heller ingenting att göra med garantier och ansvarsfördelning. Det är vanligt att lägga in en friskrivningsklausul (eng. disclaimer) i anslutning till en licens, men det är två skilda saker.

Ett problem som har uppstått med licenser är att de är långa och svårbegripliga. Det krävs ofta advokater för att reda ut vad en viss licens ger användaren rätt att göra. Många företag och organisationer har tagit fram sina egna licenser, bland andra Apache, Apple, IBM, Mozilla och Sun. De flesta utvecklare känner inte till hur licenserna skiljer sig åt och vet därför inte vilken licens de vill använda. Jag är också övertygad om att väldigt många av de som valt en licens för sitt program inte förstår sig på den.

GNU General Public License

Den förmodligen mest kända och använda licensen för fri programvara är GNU General Public License (GPL). Den ger dig rätt att sprida modifierade versioner av programmet under vissa förutsättningar. Du måste då:

  • inkludera källkoden
  • licensiera program och källkod under GPL -eller annan kompatibel licens-
  • inkludera en kopia av licensen
  • om programmet är interaktivt beskriva licensen för användarna
  • ange att och när du modifierat källkoden i varje fil

Ideologin bakom GPL är frihet att använda och modifiera program, och man vill säkerställa att källkoden alltid är fri att använda – även för framtida, modifierade versioner. Du får inte använda GPL-licensierad kod eller programmoduler i program som inte också licensieras under en GPL-kompatibel licens GPL. Detta har gett upphov till många diskussioner och anses fortfarande kontroversiellt. Jag är själv inte säker på att jag gillar denna begränsning.

BSD License

University of Californa har tagit fram en annan mycket känd licens, BSD License. Den tillåter all spridning av källkoden – även i icke-fri programvara. Licenstexten är kortfattad och enkel och kräver egentligen bara att denna inkluderas i källkod och/eller dokumentation som medföljer binär distribution. Du måste alltså inte göra din modifierade källkod tillgänglig, men måste använda en BSD-kompatibel licens.

BSD License är kompatibel med GPL.

Public Domain

Det som på engelska kallas Public Domain är ingen egentlig licens, utan ett uttryck för ett fullständigt överlåtande av upphovsrätten. Jag har inte hittat någon information som talar om hur man på ett juridisk bindande sätt gör detta.

Genom att distribuera sin källkod med denna ”licens” ger man användarna tillåtelse att göra precis vad som helst med den. Detta har vissa fördelar jämfört med GPL och andra restriktiva licenser genom att man tillåter modifieringar att distribueras med alla licenser, samt utan licens. Naturligtvis kan också företag använda denna kod i sina kommersiella program, men är det verkligen så illa? Jag är som sagt inte säker på detta.

Etikettikon Läs fler artiklar om: , , , ,

Kommentarikon Kommentarer

  1. Jag misslyckas visst med att skicka trackbacks… Jag har skrivit lite kommentarer på min egen blogg: http://www.cyberlaw.se/kalle/2005/07/27/bloggning-om-licenser/

    Skrivet av Kalle, torsdag 28 juli 2005, 00:27

  2. Alla TrackBacks och PingBacks modereras för att undvika spam. Tyvärr ser det ut som att det inte fungerar då. Jag kanske ska se mig om efter en bättre lösning.

    Skrivet av Christian Davén, torsdag 28 juli 2005, 10:53

Rätt enkelt handlar mest om användbarhet och webbutveckling. Jag som skriver heter Christian Davén.

Läs mer om Rätt enkelt

Etikettikon Etiketter

användbarhet, bloggande, datasäkerhet, gui, javascript, meta, programmering, webben, webbutveckling, wordpressfler etiketter

Medaljikon Flitiga kommentatorer