fredag den 20. september 2013

Om Open Source – Free software?

I de tidligere artikel om open source har jeg beskrevet de grundlæggende principper, som ligger til grund for open source. Men efterhånden som jeg er dykket længere ned i materialet, viser det sig at være en lille smule mere kompliceret end som så. Eller måske er det i virkeligheden slet ikke så kompliceret endda.

Du kan læse de to tidligere artikler her:
Hvad er open source: http://libreofficedk.blogspot.dk/2013/07/hvad-er-open-source.html
Om Open Source – Fri software? : http://libreofficedk.blogspot.dk/2013/08/om-open-source-fri-software.html

Jeg vil i denne artikel komme ind på et forhold, som man af og til møder i diskussionen om open source software, nemlig begrebet Copyleft, eller forskellen mellem ”restriktiv licens” og ”Ikke-restriktiv licens” og hvilken betydning det har.

Copyleft

Copyleft software er fri software, hvis distributionsvilkår sikrer, at alle kopier af alle versioner bærer mere eller mindre de samme distributionsvilkår. Det betyder for eksempel at copyleft -licenser generelt ikke tillader at afledte værker tilføje yderligere krav til softwaren.

Copyleft kan gradbøjes og de restriktive (stærke) copyleft licenser såsom GPL version 3, blokere for at koden kan ende som en del af proprietær software. De eftergivende (svage) copyleft licenser tillader at koden kan ende som en del af proprietær software.

Læg specielt mærke til, at det ikke er enten eller, men typisk et eller andet sted midt i mellem yderpunkterne.

En særlig type af copyleft-licenser giver anledning til større overvejelser, idet de fortolker begrebet ”brugere” meget firkantet. Normalt er en bruger, den person, som installerer og bruger det installerede program. Fortolkningen opstår i det øjeblik, der er tale om en webtjeneste, hvor de sædvanlige licenser ikke betragter licensen ”udløst” for brugere af tjenesten. Således udløses  copyleft-betingelserne ikke automatisk overfor de daglige brugere. Koden kan derfor– selv i ændret udgave – anvendes i forbindelse med drift af tjenester på nettet, uden at koden skal gøres tilgængelig. Det såkaldte ASP-loophole.

Derimod indeholder AGPL-licensen og andre open source licenser, særlige bestemmelser – Affero klausuler – hvor kildekode, brugsret, ændringsret m.v. skal gøres tilgængelig for alle brugere som gives adgang til funktionaliteten i den licenserede open source software.

Det betyder, hvis en du vælger open source software, der er underlagt Affero klausuler i forbindelse med en tjeneste på nettet, vil du skulle give alle brugerne af tjenesten adgang til kildekoden og ret til at bruge, ændre og videredistribuere denne.

Hvis du anvender en ikke-modificeret udgave af open source softwaren, betyder dette næppe så meget, men har du ændret og tilpasset softwaren, og ikke planlagt at dele denne, er det naturligvis uhensigtsmæssigt at skulle stille softwaren til rådighed for alle, der måtte have adgang til tjenesten på nettet.

I oversigten herover ser du en række af de mest populære open souce licenser, og deres interne kompatibilitet. Pilene indikerer, i hvilken udstrækning kode fra den ene licens kan indgå i en løsning, som er licenseret under en anden licens.
Længst til venstre ses de mest eftergivende (svage) licenser og til højre de restriktive (stærke) licenser.

Der er ingen fast sammenhæng mellem begreberne ”open source” og ”free” i relation til stærk eller svag copyleft. Men der er en implicit forbindelse, hvor Free Software ofte er licenseret med minimum en grad af copyleft, hvorimod open source software sagtens kan være licenseret med en af de svage copyleft licenser.

Det kan illustreres sådan:


Men der er altså ikke tale om en fast defineret sammenhæng, mere en naturlig følge af de to begrebers sammenfaldende filosofier.

Kilder

Categories of free and nonfree software
http://www.gnu.org/philosophy/categories.html
The Free-Libre / Open Source Software (FLOSS) License Slide
http://www.dwheeler.com/essays/floss-license-slide.html
KIT-Magasinet
http://www.kitmagasinet.dk/images/Media/kitmagasinet_20130821.pdf