”Linux is a cancer that attaches itself in an intellectual property sense to everything it touches”. Så sa Microsofts dåvarande VD Steve Ballmer år 2001 och uttryckte då den rädsla för open source-programvara som delas av många andra företag. Men vad var det egentligen han var rädd för? Och är det i dag – snart 20 år senare – fortfarande en befogad oro? I den här artikeln går vi igenom dessa frågor och dyker också på djupet med den licens Steve Ballmer liknade vid cancer: GNU GPL.
Sammanfattning
- ”Smitta” kallas ibland effekten av sådana licensvillkor som innebär att programvaror som bygger på eller använder en open source-programvara, också måste använda motsvarande open source-licensvillkor. Det betyder i normalfallet att man måste tillåta alla sorters användning och publicera det egna programmets källkod. Det är det Steve Ballmer var rädd för.
- Två tredjedelar av open source-licenserna på marknaden i dag är tillåtande, vilket betyder minimala eller inga begränsningar för hur de får användas och därmed föreligger ingen ”smittorisk”. För den resterande tredjedelen av licenserna som innehåller restriktiva villkor kan det finnas krav på att tillgängliggöra källkoden för alla bearbetningar och andra användningar av open source-programmet.
- Den populäraste restriktiva licensen är GNU GPL v3. För att dess restriktiva villkor ska träda i kraft krävs (i) att det egna programmet utgör en bearbetning av det program som omfattas av GNU GPL v3 och att det egna programmet därefter (ii) överförs till annan.
- Många användningsområden av open source innebär att man i GPL:s mening gör bearbetningar av programmet. Flertalet undantag från ”överföring” existerar dock: intern användning, överföring som en SaaS-tjänst utan att kopior skapas hos användare, outsourcing, utveckling av tredje part och användning av molntjänster för driften. Det betyder att sådana användningsområden inte medför smitta.
- Det är bara upphovsmannen till open source-programmet som vid domstol kan göra gällande licensvillkoren. Det saknas exempel både i Sverige och utomlands på företag som av domstol tvingats att lämna ut sin källkod, den vanligare sanktionen är skadestånd. Risken att tvingas lämna ifrån sig källkoden till företagets mest värdefulla programvaror som en följd av användning av open source-programvara är således begränsad.
Smitta – vad är det?
Fenomenet med open source-programvara som ”infekterar” andra programvaror så att källkoden måste publiceras och all användning av programvaran måste tillåtas kallas för ”smitta”, ”copyleft” eller ”viral licensiering”. ”Smittan” bygger på att licensvillkoren i vissa open source-licenser stadgar att alla verk som är baserade på eller innehåller delar av open source-programvaran också måste distribueras under samma villkor som open source-programvaran. Det innebär typiskt sett bland annat att källkoden ska publiceras och att ändringar, kopiering samt försäljning är tillåten. Skulle det exempelvis uppdagas att Microsoft Word innehåller kodrader som lånats från ett program med en sådan licens blir resultatet att vem som helst fritt får tillgång till källkoden och därtill får sälja, kopiera och ändra inte bara de kodraderna utan hela Word.
Alla open source-licenser är emellertid inte likadana och alla open-source licenser är inte förenade med smittorisk. Det är endast en minoritet av de open source-program som finns på marknaden idag som medför sådan risk. Dessa kallas för restriktiva licenser. Motsatsen är de tillåtande licenserna, vilka innehåller mycket få restriktioner i licensvillkoren. De tillåtande licenserna behöver man i regel inte oroa sig för och det är enkelt att följa de få krav som dessa programvarors licenser kan vara förenade med.
Trenden idag går mot fler och fler tillåtande licenser efter att de restriktiva under en lång tid dominerat: enligt en undersökning år 2019 var 67 procent av open source-licenserna så kallade tillåtande licenser. Med andra ord saknas det risk för smitta för två tredjedelar av den open source-programvara som finns på marknaden idag. Alla restriktiva licenser i den sista tredjedelen innebär dock inte särskilt långtgående restriktioner. De restriktiva licenserna kan dock innehålla licensvillkor som innebär en risk för smitta. I denna artikel fokuserar vi som sagt på den mest populära och kanske också mest problematiska restriktiva licensen, GNU General Public License eller bara ”GNU GPL”, som finns i ett antal versioner. Tillsammans utgjorde de olika versionerna av GNU GPL 28 procent av de tio mest populära licenserna år 2019 och den mest utbredda av GPL-licenserna är i dag GPL v3.
GNU GPL version 3
GPL v3 innehåller licensvillkor som kan innebära ”smitta”: alla programvaror som bygger på en GPL-licensierad programvara och som sedan överförs till annan, måste också licensieras under motsvarande villkor. Det innebär i GPL v3:s fall bland annat fritt tillgänglig källkod och utan restriktioner för användningen. Följs inte detta villkor om vidarelicensiering upphör rätten att använda GPL-programmet och all användning blir då i stället ett upphovsrättsintrång.
GPL-programvara kan således smitta om (i) GPL-programmet ändras och därefter (ii) överförs till annan part.
För att förstå mer precist vilken användning som är godtagbar måste vi titta närmare på vad ändring och överföring betyder enligt GPL. Därefter går vi kort igenom vad de praktiska konsekvenserna blir av en ”smitta”. Eftersom överföringsbegreppet öppnar upp för viss användning som annars skulle vara otillåten börjar vi med det.
Vad är en överföring enligt GPL v3?
Överföring har en särskild definition i GPL v3 (”convey”), med innebörden att ett program antingen överförs till annan part eller att en annan part får möjlighet att skapa en kopia av programmet. En omedelbar slutsats av detta är att alla ändringar är godtagbara under GPL v3 så länge det ändrade programmet aldrig överförs till annan part. Intern användning inom ett företag triggar således inte en smitta. Därutöver finns det flera situationer där frågan om huruvida överföring har skett måste bedömas:
- Överföring genom en SaaS-tjänst.
- Tredjepartsutvecklare och outsourcing.
- Användning inom samma koncern.
Överföring genom en SaaS-tjänst
GPL v3 innehåller vad som av många betraktas som kryphål: det anses i GPL v3 inte utgöra en överföring att endast interagera med en programvara över ett nätverk utan att en överföring av en kopia sker. Det innebär att om ett program görs tillgängligt för användaren till exempel som en webbtjänst och inga kopior görs hos användaren, så smittar inte GPL-villkoren. Idag är tillgång via webben ett mycket vanligt distributionsalternativ och många företag som byggt delar av sin plattform på open source, däribland Google och Amazon, sägs förlita sig på just detta undantag i licensen för att inte behöva släppa sin kod fritt.
Tredjepartsutvecklare och outsourcing
Det är vanligt att outsourca driften eller utvecklingen av företagets program till en tredje part. Många företag har även sin IT-drift helt eller delvis hos Google Cloud, Microsoft Azure eller Amazon Web Services. Andra har kompletta outsourcingar till tredje parter. Det anses inte utgöra en överföring och således sker ingen smitta, så länge den part som programmet överförs till:
- a) agerar exklusivt för den överförande partens räkning vid utveckling/drift av det aktuella programmet (det utesluter inte att leverantören har andra kunder för drift och/eller utveckling av andra program);
- b) följer överförande parts instruktioner och arbetar under dennes kontroll (det finns dock inga formkrav på hur instruktionerna och kontrollen ska utformas); och
- c) förbjuds att framställa kopior av programmet utanför det aktuella uppdraget.GPL hänvisar alltså till upphovsrätten för att avgöra frågan om vad som är en ändring eller bearbetning, eftersom källkod skyddas rättsligt genom upphovsrätt.
Överföring inom en koncern
Att överföra programmet till ett bolag i samma koncern kan ibland vara nödvändigt för att nyttja det fullt ut. Enligt GPL v3 anses en överföring ske när programmet överförs till ”annan part”. I strikt mening utgör till exempel ett dotterbolag en annan part. Enligt många kommentatorer är emellertid syftet med licensen inte att hindra användning inom samma organisation och med ”annan part” avses en part utanför den egna koncernen eller organisationen. Oaktat detta saknas det grund i licensens ordalydelse att överföra programmet till ett dotterbolag. Som utgångspunkt medför således en sådan överföring till ett bolag i samma koncern smitta.
Vad är en ändring enligt GPL v3?
Om det kan konstateras att den tänkta användningen av open source-programmet kan komma att omfatta överföring enligt GPL v3 måste man därefter utvärdera om det gjorts några ändringar som kan innebära att programmet smittats av GPL-programvarans villkor.
Enligt GPL utgör det en ändring att kopiera från eller anpassa hela eller delar av verket, på ett sätt som kräver upphovsrättsligt tillstånd. GPL hänvisar alltså till upphovsrätten för att avgöra frågan om vad som är en ändring eller bearbetning, eftersom källkod skyddas rättsligt genom upphovsrätt. Vilket lands upphovsrättslag som ska tillämpas beror på omständigheterna i det enskilda fallet men typiskt sett det land i vilket intrånget begås, vilket för en svensk aktör bör bli svensk upphovsrätt.
Den gränsdragning som ska göras enligt GPL v3 vilar således på upphovsrättslagen (1960:729) 1 kap. 2 och 4 §§ och regleringen av vad som i svensk rätt kallas för ”bearbetningar” av ett verk. Utgångspunkten är att det är upphovsmannen till ett verk som har ensamrätten att göra bearbetningar av det. Om någon emellertid ”i fri anslutning till ett verk åstadkommit ett nytt och självständigt verk”, är det att betrakta som ett nytt verk som således inte gör intrång i den ursprungliga upphovsrätten.
Mot denna bakgrund kan vi föreställa oss en fallande skala av ändringar av en programvara som med lägre och lägre grad av säkerhet kan sägas vara en ”bearbetning” och mera sannolikt är ett nytt och självständigt verk.
- Kopiering. Det mest grundläggande är att endast göra mindre justeringar i källkoden till ett GPL-program. Det är tydligt att det är en bearbetning av GPL-programmet och det nya programmet ska därför omfattas av GPL-villkoren.
- Vidareutveckling. En något mera långtgående justering som görs genom att kopiera delar av källkoden och därefter lägga till en omfattande mängd kod är inte självklart en bearbetning, men sannolikt. Rör det sig om endast ett fåtal rader kod som lånats vid skapandet av ett väsentligt annorlunda program blir bedömningen mer nyanserad och det får då prövas mer noggrant om det nya programmet är så pass annorlunda att det kan anses ha skapats ”i fri anslutning” till GPL-programmet.
- Länkning. Ett annat mycket vanligt sätt att använda open source-program är genom vad som kallas länkning. Länkning är ett smidigt och vanligt sätt att bygga program. Genom att länka till exempelvis andra programvarubibliotek som innehåller färdiga verktyg, till exempel för att hantera bilder, kan man utöka ett programmeringsspråks möjligheter.
Länkningen kan vara statisk eller dynamisk. Statisk länkning är när ett program hämtar in källkod från en annan fil (i praktiken en klipp-och-klistra manöver som utförs av programmet). Dynamisk länkning kan beskrivas som att referera till och använda ett annat programs maskinkod, det vill säga källkod som kompilerats till en körbar fil.
Det råder konsensus om att statisk länkning innebär att ett bearbetat verk uppstår enligt GPL och det medför att den egna programvaran smittas. Vad gäller dynamisk länkning går emellertid åsikterna isär och rättsläget måste beskrivas som osäkert i detta avseende. Sannolikt är denna osäkerhet ett av skälen till att GNU-licenserna de senaste tio åren har tappat kraftigt i popularitet, då det ger upphov till svåra gränsdragningar. Jämförelsevis tillåter andra restriktiva licenser som CDDL och Mozilla både statisk och dynamisk länkning.
Vår uppfattning är att dynamisk länkning kan vara godtagbart även enligt GPL v3, men det beror på omständigheterna i det enskilda fallet, graden av sammankoppling mellan programmen, i vilken utsträckning det ”nya” programmet kan fungera utan den länkade koden, beroenden m.m. Frågan är såvitt vi känner till inte prövad vare sig i svenska eller utländska domstolar.
Vad innebär det att bli smittad?
GPL och alla andra open source-licenser är avtal mellan programmets upphovsman och den som använder det. Det betyder att om den som använder ett GPL-program vägrar följa villkoren måste upphovsmannen stämma i domstol för att kunna driva igenom sina krav.
När man bryter mot ett avtal kan ens avtalspart i domstol kräva två saker: fullgörelse eller skadestånd. Fullgörelse betyder att man ska utföra kontraktet så som avtalat: exempelvis kan den som sålt aktierna i ett företag av en domstol tvingas att lämna över dem till köparen i enlighet med avtalet. I ett GPL-fall skulle fullgörelsen kunna bestå i ett krav på att exempelvis publicera källkoden.
Användningen av ett open source-program i strid med villkoren ger alltså inte några automatiska effekter: det finns ingen risk att tvingas publicera sin källkod plötsligt och utan förvarning, utan för det krävs ett beslut från domstol.
Såvitt vi känner till finns det i dag ingen dom där en svensk eller utländsk domstol tvingat en part att följa villkoren i en open source-licens och publicera källkoden. Skälet till detta är sannolikt att ett krav på att publicera källkoden förutsätter att programmet består i samma skick när domen ska verkställas. Om programmet inte längre innehåller någon GPL-kod, vad är det då som ska publiceras? Det kan således vara ett försvar mot ett sådant påstående att ändra sin programvara och exkludera all GPL-kod.
På samma sätt som köparen av aktier i exemplet ovan får en besvärlig situation när säljaren av aktierna påstår att han sålt aktierna till en annan köpare är det besvärligt för en upphovsman att nå framgång med ett yrkande om att publicera källkoden till ett program. Enligt vår bedömning är det skälet till att vi ännu inte sett något sådant krav i domstol. Ett sådant ”försvar” som angetts ovan förutsätter såklart att det inom den tillgängliga tidsrymden är möjligt att ersätta de delar av programvaran som utgörs av GPL-kod: vill man fortsätta använda programmet oförändrat måste licensvillkoren följas.
Microsoft lyckades till slut komma över sin oro för att använda open source och Steve Ballmer uttalade år 2016 offentligt att han ändrat uppfattning i frågan. Vi hoppas att även du fått en tydligare bild av möjligheterna genom denna artikel. Utvecklingen på området går idag snabbt mot allt fler tillåtande licenser vilket på sikt kommer att göra frågan om smittorisk till historia. Det finns emellertid fortfarande många olika varianter och licenser som kan vara svåra att få rätsida på – tveka därför inte att kontakta oss om du har frågor kring din egen användning av open source.