Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

 

 

 

 

    

 

 

 

 

 

Öppen källkod

 

Version 2.0.2

ARK_0008

 

2016-11-16

 

...

Denna anvisning en del av Regelverk för Interoperabilitet inom Vård och omsorg (RIV) [R1], och är framtagen för att tillämpas av samtliga nationella system- och programutvecklingsprojekt inom området. Anvisningen ägs och förvaltas av Inera Arkitektur & Regelverk med huvudsyftet att kunna användas som checklista vid granskning av projekt. 

Anvisningen består av en generell del som omfattar alla typer av projekt, och mer specifika delar för olika typer av projekt. Dessa olika typer av projekt baserar sig på en modell som klassificerar projekt med avseende på graden av öppenhet.

 

 


2         Direktiv

Projekten klassificeras i olika typer baserat på graden av öppenhet. Modellen i Figur 1 nedan har använts som utgångspunkt i denna anvisning, och för att kunna refereras har de olika typerna av projekt har namngivits från A till F.

 

 

Image Added

Figure 1, Typer av projekt med avseende på graden av öppenhet

Nedan anges ett antal direktiv där vart och ett har en unik identitet som består av ett grupprefix och ett löpnummer. Dels finns en grupp med generella direktiv som således gäller för samtliga typer av projekt och dels så finns det specifika direktiv för varje enskild typ av projekt. Det bör poängteras att den kommersiella problematiken för projekt typ A och B inte är en del av denna anvisning 

 

2.1         Generella direktiv för samtliga projekt (A-F)

...

Följande direktiv gäller för samtliga projekt (A-F).

 

 


Projektetablering

 

 

GEN-01   Projektet ska under etableringen fastställa vilken typ (A, B, C, D, E, eller F) som gäller för projektet.

...

 

Programvara och innehåll

 

 

GEN-07   Digitala verk oavsett format, såsom dokument, ljud, bild, video, källkod, analysmodeller och övrigt, ska så långt som möjligt vara baserade på öppna standarder [1].

...

GEN-22   Förteckningen över inkluderad programvara ska tillhandahållas i en textfil med namnet NOTICE.txt [13]. Denna textfil ska oavsett typen av paketering distribueras med programvaran och då vara placerad i roten av filträdet när programvaran packats upp eller på annat sätt installerats.

 

 

 

 


2.2        Direktiv för projekttyp A

Följande direktiv gäller för projekt med kommersiell licens och proprietär källkod.

 

 

PMA-01   För programvara som distribueras ska det säkerställas att inga beroenden finns till

...

PMA-02  För programvara som kommer att användas som webbtjänst ska det säkerställas att inga beroenden finns till Affero AGPL [9] licensierad programvara. 

2.3        Direktiv för projekttyp B

 

Följande direktiv gäller för projekt med kommersiell licens och delad källkod.

 

 

PMBPMB-01    Samtliga direktiv från projekttyp A gäller.

...

2.4        Direktiv för projekttyp C

...

Följande direktiv gäller för projekt med öppen licens och öppen källkod.

 

 

PMC-01   Om projektet baseras på källkod från externa bidrag måste motsvarande bidragsavtal

...

2.5         Direktiv för projekttyp D

...

Följande direktiv gäller för projekt med öppen licens, öppen källkod, och öppen kommunikation. 

 

PMD-01  Samtliga direktiv från projekttyp C gäller.

...

2.6        Direktiv för projekttyp E

...

Följande direktiv gäller för projekt med öppen licens, öppen källkod, öppen kommunikation, och öppet deltagande. 

PME-01   Samtliga direktiv från projekttyp D gäller.

...

2.7         Direktiv för projekttyp F

...

Följande direktiv gäller för projekt med öppen licens, öppen källkod, öppen kommunikation, öppet deltagande, och öppet beslutsforum.

 

PMF-01  Samtliga direktiv från projekttyp E gäller.

...

PMF-03 Samtliga beslut ska journalföras och redovisas på den officiella projektplatsen. 

 


3         Rekommendationer

3.1         Projektplats

 

Rekommenderad projektplats är för närvarande Bitbucket [R2].

...

3.2        Källkodslicenser

 

Rekommendationen är att man först och främst använder sig av Apache License [11] om det är möjligt. Alternativet är någon av GNU General Public License versionerna som mer utförligt beskrivs nedan. 

Generellt beror valet av källkodslicens på hur mycket man värnar om att bevara öppenheten för framtida verk som bygger vidare på programvaran ifråga. Men valet styrs också i hög grad av de eventuella verk som programvaran bygger vidare på och den licensform som gäller för dessa. Det rekommenderas att man håller sig till någon av 2 olika grundtyper av licenser nämligen GNU General Public License (GPL) och Apache License där 2 ytterligare varianter från GPL nämligen AGPL och LGPL måste tas under beaktande: 

•    Apache-2.0 [11] för att minimera kraven på framtida verks öppenhet och användning.

•    GPL-3.0 [8] för att säkerställa maximal öppenhet för programvara som distribueras.

    Inkluderar alla framtida derivat av programvaran.

•      AGPL-3.0 [9] för att säkerställa maximal öppenhet för programvara som körs som webbtjänst. Inkluderar alla framtida derivat av programvaran.

•      LGPL-3.0 [10] för att säkerställa öppenhet vad gäller t.ex. en Web applikation (WAR arkiv) eller ett bibliotek (JAR arkiv), men tillåta att programvaran används i ett system av proprietär karaktär som distribueras under kommersiell licens. Inkluderar alla framtida derivat av programvaran.

 

 

Det är inte möjligt att inkludera verk med starkare licenser avseende öppenhet än den som man valt för sitt projekt, dvs. en programvara som är licensierad under den starkare GPL kan inte under några omständigheter användas och distribueras i en programvara som licensieras under LGPL eller Apache och då självfallet inte heller i en proprietär lösning.

 

3.3        Licenser för övriga verk

...

Det rekommenderas att licensformen Creative Commons CC-BY-SA [6] används för övrigt media och innehåll som inte är rena källkodsverk såsom hemsidor, dokumentation, och bilder mm. 

3.4        Licens för bidragsgivare

...

För att förhindra komplexiteten kring ägarskapet i öppna källkodsprojekt så bör man skriva särskilda avtal med bidragsgivare (contributors). Dessa avtal berör framför allt ägarskapet och upphovsrätten till källkoden, men även patent och supportfrågor klargörs. Det rekommenderas att licenser för bidragsgivare bygger vidare på Apache Individual Contributor License Agreement för individer och Software Grant and Corporate Contributor License Agreement för företag och organisationer [7]. 

3.5         Projektägare

Det rekommenderas att projektägarskapet för öppen källkodsprojekt och därmed upphovsrätten tillhör en organisation som har förmåga att utveckla och förvalta programvaruprojektet, som Inera AB. Notera att med projekt avses det öppna källkodsprojektet  och inte enstaka utvecklingsprojekt  inom ramarna för detta. Dvs ett öppet källkodsprojekt är i enlighet med gängse nomenklatur snarare att jämföra med ett program.

 

3.6        Projekttyp

Det rekommenderas att man så långt som möjligt utvecklar i öppen källkodsprojekt, och i praktiken innebär detta i de allra flesta fall projekttyp C eller D. Vilken av dessa är beroende på hur mycket kommunikation projektet har med externa intressenter. I fallet nationella tjänstekontrakt så är bör projekttyp D föredras då det finns flera externa intressenter som förväntas realisera dessa.

 

 

 


4         Förtydliganden

 

...