Analys Av DIGG:S Policy För Utveckling Av Programvara
Total Page:16
File Type:pdf, Size:1020Kb
Professor Björn Lundell (Ph.D.) Analys av DIGG:s policy för utveckling av programvara Skövde, 20 maj 2020 Skövde University Studies in Informatics 2020:1 Lundell, B. (2020) Analys av DIGG:s policy för utveckling av programvara, version 1.0, 20 maj, Skövde University Studies in Informatics 2020:1, ISSN 1653-2325, ISBN: 978-91-983667-6-1, University of Skövde, Skövde, Sweden. Skövde University Studies in Informatics 2020:1 ISSN 1653-2325 ISBN 978-91-983667-6-1 www.his.se Utfärdare: Björn Lundell Analys av DIGG:s policy för utveckling av programvara Analys av DIGG:s policy för utveckling av programvara Professor Björn Lundell, Ph.D. Software Systems Research Group Högskolan i Skövde [email protected] Förord Denna rapport presenterar en analys av DIGG:s policy för utveckling av programvara1 (Dnr. 2019-136). Den analys som redovisas i rapporten har genomförts av Dr. Björn Lundell, professor i datavetenskap vid Högskolan i Skövde, inom ramen för ett oberoende uppdrag. Av dessa skäl ska rapportens innehåll, med alla eventuella felaktigheter och brister, inte uppfattas som något ställningstagande från DIGG. Rapporten har utvecklats inom ramen för en analys som genomförts på uppdrag av DIGG utifrån ett av DIGG identifierat behov av att sakkunniggranska den policy för utveckling av programvara som publicerades den 5 maj 2019. Rapportens innehåll är tänkt att kunna utgöra ett stöd för både DIGG och andra myndigheter som i sin myndighetsutövning, på ett eller annat sätt, har behov av att förhålla sig till programvara, vilket inkluderar såväl användning, anskaffning och utveckling (samt vidareutveckling) av programvara. De värderingar, ställningstaganden och rekommendationer som redovisas i rapporten tillskrivs författaren och ska inte uppfattas som något beslut av någon myndighet. I sammanhanget ska betonas att författaren har en lång bakgrund och erfarenhet av socio-teknisk forskning inom området datavetenskap, med betydande fokus på öppen programvara, öppna standarder och andra former av öppenhet från de senaste decenniernas forskning. Även om författaren bedrivit forskning i samverkan med juridisk expertis och från denna publicerat resultat som redovisar en rad juridiska utmaningar som relaterar öppen programvara i vetenskapliga fora, ska denna rapport inte uppfattas som en juridisk vägledning. Den analys som redovisas i denna rapport har berikats och influerats av erfarenheter från flera studier som genomförts i samverkan med flera personer inom ramen för flera forskningsprojekt som involverar internationell och nationell samverkan, däribland tidigare studier som genomförts inom ramen för tidigare uppdrag av andra myndigheter i Sverige. Utifrån detta vill författaren passa på och tacka alla personer som, på olika sätt, bidragit till att berika författarens erfarenheter och insikter som influerat viktiga utgångspunkter för den analys som redovisas i rapporten. Alla värderingar, ställningstaganden och rekommendationer som redovisas i rapporten har utvecklats utifrån författarens erfarenhet och uppfattning av underliggande utgångspunkter och behov av att kunna bedriva en tillitsfull och god förvaltning under den myndighets- utövning som genomförs inom en politiskt styrd organisation. Detta inkluderar alla typer av myndigheter, såväl stora som små, samt oavsett huruvida en myndighet betraktas som IT- intensiv och oavsett huruvida en myndighet bedriver egen utveckling av programvara. Även om de värderingar, ställningstaganden och rekommendationer som redovisas i rapporten presenteras som rekommendationer till myndigheter ska rapportens användning av begreppet ’myndighet’ tolkas inkluderande och rapportens rekommendationer riktar sig därmed till alla typer av myndigheter, vilket inkluderar såväl statligt styrda myndigheter, regioner som kommuner. Version: 1.0 1 (96) 20 maj 2020 Utfärdare: Björn Lundell Analys av DIGG:s policy för utveckling av programvara Sammanfattning Denna sammanfattning presenterar en översikt av resultat och rekommendationer från den analys som genomförts av DIGG:s policy för utveckling av programvara2 (Dnr. 2019-136). Sammanfattningen riktar sig till företrädare för DIGG och andra myndigheter som har inflytande över beslut som påverkar den egna myndighetens (och andra organisationers) policys, strategier och praktik för anskaffning, utveckling, användning, förvaltning och tillgängliggörande av programvara. DIGG:s policy hänvisar explicit till tre olika licenser för öppen programvara3: BSD 2-Clause, Apache och GPL. Det finns flera versioner av GPL som alla har olika effekter. Policyn innehåller en referens till GPL som kan uppfattas utgöra en inkluderande referens som omfattar alla versioner av licenser inom den familj av licenser som ibland, övergripande, refereras som GPL (eller som General Public License). Licenser inom GPL-familjen kan övergripande delas in i tre typer, som alla har olika effekter, när de används. Följande tre typer av licenser ur denna familj har alla olika egenskaper och effekter: LGPL (Lesser General Public License), GPL (General Public License) och AGPL (Affero General Public License). Dessutom har flera versioner av dessa licenser publicerats, däribland: LGPL version 2.1, LGPL version 3.0, GPL version 2.0, GPL version 3.0 och AGPL version 3.0. Det finns många aspekter som en myndighet behöver beakta då en myndighet, på något sätt, har behov av att engagera sig med och förhålla sig till utveckling och anskaffning av programvara. Något förenklat kan DIGG:s policy sägas identifiera två olika principiella situationer för en myndighet som behöver fatta beslut avseende utveckling och anskaffning av programvara. Den första principiella situationen där en policy kan ge viktig vägledning avser en situation då en myndighet har behov av att anskaffa eller bidra till vidareutveckling av ett redan etablerat programvaruprojekt som tillhandahåller öppen programvara. I denna situation behöver myndigheten ta ställning till en rad frågor som inkluderar analys av under vilka licenser och villkor som öppen programvara tillhandahålls av det etablerade programvaru- projektet. Denna analys behöver värdera olika möjligheter för att anskaffa och vidareutveckla en redan etablerade programvara, vilket inkluderar flera ställningstaganden avseende eventuell upphandling och utveckling. Det ska betonas att såväl upphandling som utveckling kan (helt eller delvis) genomföras i en myndighets egen regi, men även (helt eller delvis) i extern regi. Exempelvis kan en myndighet upphandla vidareutveckling av förbättringar eller anpassningar av en redan etablerad öppen programvara som genomförs av externa parter. Den andra principiella situationen där en policy kan ge betydelsefull vägledning avser en situation då en myndighet har behov av att etablera ett nytt programvaruprojekt som ska tillhandahålla öppen programvara för att tillgodose myndighetens behov. Även i denna situation behöver myndigheten ta ställning till en rad frågor som inkluderar hur programvaruprojektet ska styras, etableras och förvaltas, men också en lång rad frågor avseende under vilka villkor och licenser som öppen programvara kan och ska tillhandahållas från programvaruprojektet. Frågor att ta ställning till inkluderar i vilken utsträckning det vid etablering av nya programvaruprojekt är av vikt för en myndighet att skapa incitament för en god förvaltning och vidareutveckling av det nya projektet. Vidare är frågor om val av licens som skyddar samt stimulerar och ger incitament för fortsatt öppenhet nya och etablerade programvaruprojekt som tillhandahåller öppen programvara. Det kan noteras att den Version: 1.0 2 (96) 20 maj 2020 Utfärdare: Björn Lundell Analys av DIGG:s policy för utveckling av programvara organisation (Open Source Initiative4) som etablerat och förvaltat definitionen för öppen programvara nu rekommenderar att nya programvaruprojekt som ska tillhandahålla öppen programvara väljer en populär5 (välanvänd) licens för öppen programvara som innehåller goda patentklausuler. Det kan konstateras att patent som belastar programvara idag är ett betydligt större problem än det var under förra seklet då viktiga organisationer som i hög grad influerat hur individer och organisationer idag arbetar med programvaruutveckling etablera- des, som Free Software Foundation (etablerad 1984) och Open Source Initiative (etablerad 1998). Utifrån detta redovisar denna rapport rekommendationer som syftar till att vägleda en myndighet vid val av lämplig licens då ett nytt programvaruprojekt ska etableras där syftet är att tillhandahålla en öppen programvara. Relaterat överväganden avseende licenser identifieras ett antal frågeställningar som myndigheter behöver beakta för att kunna fatta informerade strategiska beslut. Frågor om myndighetens överväganden avseende vikten av att skydda fortsatt öppenhet för myndighetens investeringar i nyutvecklad och vidareutvecklad programvara är relevant i både det första och andra principiella scenariot. I båda dessa situationer finns det, i många fall, starka skäl att inventera om det är (tekniskt och juridiskt) möjligt att återanvända redan existerande öppen programvara. Vidare behöver en analys göra av huruvida programvaran utvecklats av ett programvaruprojekt som har en god förvaltning och där distribuerad öppen programvara håller god kvalitet. Då en myndighet vidareutvecklar ett befintligt programvaru- projekt eller etablerar ett nytt programvaruprojekt finns det, i många fall, starka skäl att återanvända redan existerande komponenter (byggblock) av redan existerande öppen programvara. Det kan många gånger vara tekniskt