Fri programvare i offentlig sektor bare vokser og vokser, men hva blir gjort for å bedre samarbeidet om kildekoden i prosjektene? Historisk sett har offentlig sektor kun vært konsumenter av fri programvare, men nå er det også flere kommuner og statlige instanser som utvikler programvare selv.
Jeg har blitt involvert i et veldig spennende prosjekt som Thomas Naper i Porsgrunn kommune har utviklet, og som de har valgt å dele. MinGate er en portal hvor innbyggerne kan registrere feil på kommunale anlegg og veier. Siden er skrevet i PHP med en MySQL-database for lagring av data, og Kongsvinger kommune har planer om å ha en side i produksjon i løpet av juni.
Men selv om kildekoden er åpen er det ikke implisitt at man får et godt samarbeid om videreutvikling. Alle fri programvare-prosjekter med respekt for seg selv bør ha et felles depot hvor man kan kan bidra med og dele kode. Bugs og innspill til forbedringer bør også ligge offentlig tilgjengelig. På den måten kan alle som bruker produktet dra nytte av forbedringene som blir gjort.
Delingsbazaren, som Friprogsenteret har satt opp, er en side for deling av programvare i offentlig sektor, men de hoster ikke kildekoden til prosjektene. Så hvordan bør offentlig sektor legge ut kildekoden? Trenger vi egentlig en felles database for hosting av kildekode, eller bør vi bruke eksisterende løsninger som Sourceforge eller GitHub? Bør alle ha mulighet til å bidra med kode, eller kun utviklere i offentlig sektor? Og ikke minst, hvilken lisens bør man bruke?
Denne bloggposten er også publisert på http://hvordan.kongsvinger.no/.









Ikke finn opp hjulet på nytt, bruk eksisterende, er min tanke. Da kan man også tiltrekke seg andre enn kommuner, det kan jo hende disse har både nytte av og mulighet til å bidra tilbake.
Lisens, tja, er det GPL er vel ikke private, komersielle aktører så interesserte i å bidra, men på den annen side vil jeg si at BSD-type lisenser kan bli litt «for fritt», all den tid det er skatetpenger som er brukt for å utvikle ville jeg som skattebetaler satt pris på en GPL-lisens..
Så: bruk eksisterende, la alle få bidra med kode og velg en GPL-lisens (mest usikker på punkt 3)
20. mai, 2010 @ 10:49
Eksisterende løsninger som Sourceforge eller Google Code synes jeg er en god ide, men det krever vel at man tar backup innimellom for å ikke være i lomma på tjenestetilbyderen.
Jeg synes alle bør ha mulighet til å bidra med kode -men det forutsetter nok en viss kvalitetssikring.
Kanskje det er passende med GPL for offentlig sektor? Det kan da kanskje være hensiktsmessig om kommersielle aktører får mulighet til å kjøpe en annen type lisens.
20. mai, 2010 @ 11:11
Mange takk for gode svar.
Den som forvalter lisensen har vel mulighet til å distribuere koden under andre lisenser selv om den er GPL? Så velger vi GPL og noen andre ønsker å bruke det i kommersielle produkter, så har vi vel mulighet til å gi det bort under andre vilkår også?
Jeg kjenner funksjonaliteten i SVN og Git repositories på nett svært dårlig. Er det noen som er å foretrekke fremfor andre?
20. mai, 2010 @ 14:09
Et interessant innlegg.
Liberale lisenser som BSD fremsetter kun krav om at den opprinnelige utvikleren nevnes der kildekoden eventuelt benyttes («attribution»). Restriktive lisenser som GPL har delingsforpliktelser, men kan vel også føre til at kommersielle aktører styrer unna bruk av kildekoden, som den første kommentaren nevner.
En to-lisens modell, slik Audun skisserer i kommentaren over, har vært benyttet med suksess i prosjekter som MySQL og Qt (Trolltech/Nokia). Fordelen er her at man har en fri og åpen versjon som hvem som helst kan benytte seg av, og at man samtidig beholder en mulighet for at kommersielle aktører vil være interesserte i å investere i løsningen (evt. gi inntekter som forvalteren av den frie løsningen kan benytte til videreutvikling). En slik modell vil likevel føre til at man får flere brancher av programvaren, hvorav kun den åpent lisensierte (som f.eks. en GPL-variant) vil være under den offentlige virksomhetens kontroll, siden de som velger den kommersielle lisensen ikke har noen plikt til å dele tilbake.
Ønsker offentlige utviklede prosjekter å dra nytte av utviklerkompetanse fra kommersielle aktører, bør det kanskje derfor være krav om at visse ting uansett må deles tilbake (fritt)? Eks. ting som berører kjernefunksjonalitet. Men, så blir også dette nok en vurdering…
Jeg kan ikke se at dette er så enkelt som å velge én enkelt lisens for offentlig sektor. Øke innovasjon gjennom å frigi alt? Jo, takk. Men, innovasjon skjer vel oftest hos kommersielle aktører. Og disse trenger (økonomiske?) incentiver for at de skal ville investere (og innovere). Samtidig ønsker man at denne innovasjonen skal komme flest mulig til gode (sikres gjennom en delingsforpliktelse).
20. mai, 2010 @ 20:49
Offentlig sektor har midler til å finansiere mange prosjekter selv. Kommuner spesielt har veldig like behov, så går mange kommuner sammen, blir kostnaden lav for hver av dem. Mange løsninger ville blitt betraktelig billigere dersom kommersielle løsninger hadde blitt byttet ut med kode forvaltet av det offentlige.
Ikke jeg heller. Lisenser har et formål, og formålet med et stykke kode i offentlig sektor kan være ganske forskjellig. Blant annet finnes det mye programvare som er totalt uinteressant for andre enn kommuner. Valg av lisens bør med andre ord vurderes individuelt.
Likevel tror jeg offentlig sektor kan ha noen prinsipper og kanskje et knippe prefererte lisenser. Jeg ser jo at mange offentlige instanser har laget sine helt egne betingelser for bruk, blant annet Statens Kartverk. Det er et minefelt jeg mener vi må holde oss langt unna.
Juridisk sett er lisenser på programvare et mareritt, og det er veldig greit å ha en kjent lisens med velkjente, store aktører å lene seg på. FLOSS Weekly episode 117 og Jacobsen v. Katzer-saken viser tydelig dette.
21. mai, 2010 @ 9:42
Aller først må jeg si at jeg gleder meg over å lese denne bloggposten. Dere har kommet langt og er blant de som har kommet lengst i tankegangen om hvorfor og hvordan offentlig sektor bør dele, gjenbruke og samarbeide om IT-løsninger. Dere ser åpenbart alle gevinstene og jeg håper dere lykkes i å synliggjøre dem også oppover i beslutningshierarkiet.
Å besvare spørsmålene du søker svar på blir dessverre litt vanskelig å gjøre i en kommentar, da det er mange forhold som påvirker hvert spørsmål. Eksempelvis vil grad av eierskap, ønsker om tilgang til ny funksjonalitet påvirke valg av lisens, hvorvidt man skal velge en liberal eller restriktiv fri lisens.
Som du påpeker er Delingsbazaren ikke et sted for drift av kildekode. Det har med Friprogsenterets ansvar til løsningene som publiseres å gjøre. Kanskje kommer det på sikt, men ikke på nåværende tidspunkt. Delingsbazaren fungerer således kun som en fasilitator for informasjon om eksisterende løsninger og hvor de befinner seg. Det skal også sies at vi arbeider med videreutvikling av Delingsbazaren.
Mitt tips er å publisere på store, kjente nettsteder og heller drive trafikk til de gjennom f.eks. Delingsbazaren. Da vil man kunne tilrettelegge for et godt, teknisk community, versjonshåndtering, tilgang til ny kildekode, ønsker om ny funksjonalitet og alt det som trengs for å drive et utviklingsprosjekt.
Skulle det være aktuelt og ønskelig, vet du hvor du finner oss. Vi bistår selvfølgelig med det vi kan og vet.
Martin Bekkelund
Utviklingsleder
Friprogsenteret
21. mai, 2010 @ 11:17
Det skjønner jeg veldig godt, og som Atle og Petter er inne på, finnes det helt anvendelige løsninger fra før som fint kan benyttes.
Det vil jeg gjerne høre mer om.
Jeg kommer til å foreslå det for Porsgrunn, så da vil prosjektet sannsynligvis dukke opp der etter hvert, kanskje også med offentlig tilgjengelig kildekode.
Det setter vi stor pris på. Dere gjør en kjempejobb!
21. mai, 2010 @ 12:08
Enig med deg. Kommuner og andre offentlige virksomheter har selvfølgelig ikke det samme utgangspunktet i forhold til utvikling av programvare, som kommersielle aktører har. De skal jo ikke tjene penger, men man vil vel gjerne spare penger (skattepenger).
Poenget med å få med kommersielle aktører på laget, er at disse ville kunne bidra i et utviklingsfellesskap. Dette betyr også at det blir større konkurranse om videreutvikling = bedre vilkår for kunden (eks. kommunen). Det er dog et godt poeng som du sier at kommunene kan samarbeide om dette, for å gjøre det billigere (eks. FriKomPort).
Når det gjelder programvare som kun er interessant for kommuner, så er det vel også et poeng med tilleggsprogramvare (moduler, utvidelser, m.m.) og relaterte tjenester. Lisenser som åpner for at man kan tjene penger på slike ting, bør føre til at leverandørene også vil være interesserte i å videreutvikle hovedprogramvaren, siden denne vil kunne øke kvaliteten på tilleggsprogramvaren de selger/utvikler. Jeg tror dette kalles differensiering; og er grunnen til at store leverandører som IBM eller Sun/Oracle velger å investere i utvikling av fri programvare. Eks. vil leverandører av databaser være interesserte i å investere i et fri programvare operativsystem, siden dette ikke skiller dem fra deres konkurrenter uansett, men kan øk kvaliteten på deres databaseløsning.
Jeg synes det er et godt poeng å styre unna å lage sine egne betingelser ala. Statens Kartverk. For å sikre at kildekode fra offentlig utviklet fri programvare skal kunne spres og benyttes, virker det fornuftig å velge en lisens som er kompatibel med de mest populære, og som samtidig følger de prinsippene man har (å dele, skape konkurranse, skape innovasjon, etc.). Jeg regner med det var dette du mente med valg av lisens med velkjente, store aktører bak seg?
Er enig i at lisensvalg ligner et mareritt; man bør jo f.eks. også ta stilling til hvordan dynamisk linking av kode skal håndteres. Slik jeg har forstått løser f.eks. ikke GPL dette problemet. Det er for lett å bare si «vi velger GPL», uten å tenke over hvilken fremtidig situasjon man ønsker at programvaren skal havne i.
21. mai, 2010 @ 12:13
Det var ikke meningen å dra dette for langt inn i en debatt om valg av lisenser, men jeg mener det får visse følger for deling av kildekode (hosting og forvaltning).
21. mai, 2010 @ 12:21
Det er kanskje den viktigste debatten av de spørsmålene jeg har tatt opp, så det er bare å kjøre på
Ja, det var en av de tingene jeg hadde i tankene som kan påvirke hvilken lisens man bør velge. Man kan jo også se for seg at programvare kan skrives om med få grep for helt andre formål. MinGate kan for eksempel enkelt skrives om for andre geolok-løsninger.
Ja, det er en del av det. Men det kan fort skje at man trår på noe tær når det gjelder patenter, merkevarer og opphavsrettslig beskyttet materiale. Mange organisasjoner har egeninteresser i å bistå prosjekter som er underlagt åpne lisenser både juridisk og økonomisk, noe som blant annet skjedde i Jacobsen v. Katzer-saken som jeg henviser til over. Free Software Foundation var tungt inne i den saken, hvis jeg ikke husker feil, og Jacobsen hadde neppe vunnet i saken uten deres bistand.
Sant. Man skulle kanskje hatt en veiviser for valg av lisens i offentlig sektor, noe ala John Cowens License Selection Wizard?
21. mai, 2010 @ 15:32
Se forresten også «HOWTO: Pick an open source license»
21. mai, 2010 @ 15:39
Hiver meg med i debatten, siden jeg er utvikler av MinGate, og har startet ønsket om å dele denne tjenesten med andre kommuner. Porsgrunn har vedtatt at alt vi lager av tjenester for våre nettsider kan deles med andre. MinGate er første prosjekt ut, mens ‘Finn dine tjenestesoner’ og ‘Finn din eiendomsskatt’ nå er klare for deling. E-initiativ kommer snart.
Og vi deler gladelig kodene for hvordan en kan legge edialog24 og video fra Bystyremøter på facebook…
Det er en styrke for oss å få med Kongsvinger i en videre utvikling av dette prosjektet. Personlig synes jeg delingskulturen er bra, men det eneste jeg finner er blogger som skriver om hvor fint det er å dele. Noe de fleste av oss lærte som barn.. Hvor finner jeg det som deles? Eller er det bare prat og fine ord? Jeg vil ha noe jeg kan ta i bruk. Laste det ned og implementere det på våre nettsider. Men det finner jeg dessverre lite av.
Håper derfor at dette blir et prosjekt som tar delingskulturen ett steg opp og en tjeneste som andre lett kan ta i bruk. Og ikke minst at det kan bidra til at andre også deler sine tjenester og kommer med innspill på allerede eksisterende tjenester slik at disse kan bli enda bedre.
25. mai, 2010 @ 10:21
Flott kommentar. Det er altså ikke delingsviljen det står på, noe Thomas fra Porsgrunn kommune bekrefter!
Skyldes mangelen på delte løsninger at man ikke vet hvordan man skal gå fram? Mangler man de rette «verktøyene»? Det være seg kunnskap om lisenser, en plattform for deling, økonomi, integrasjonsmuligheter, m.m.? Er det juridiske spørsmål som må avklares?
MinGate er et flott initiativ, og jeg håper man samtidig dokumenterer de erfaringer man gjør seg i forhold til det ovennevnte. Jeg tror det er minst like viktig som det at selve løsningen kan deles (fordi den er fri programvare).
25. mai, 2010 @ 12:36
Veldig bra at du kaster deg på, Thomas.
Jeg stiller gladelig opp for å gjøre koden tilgjengelig på nett, og jeg kan godt hjelpe til å dokumentere den også. Jeg har allerede begynt å rydde litt i koden for å gjøre den «delbar». Det er på en måte ikke åpent før det ligger noe der ute man kan ta i bruk.
En lisens hadde imidlertid vært en fordel å ha først, og det er dere i Porsgrunn som er opphavsmennene til koden. Som nevnt tror jeg det er en fordel å velge en av de kjente lisensene slik at man har noe solid å støtte seg til.
Når det gjelder repository for kildekoden, så er kanskje ikke det så viktig, for det kan enkelt flyttes senere. Men det er kanskje noen utviklere der ute som kan argumenter for og imot de forskjellige løsningene som finnes? I så fall, kast dere inn i debatten!
25. mai, 2010 @ 18:51
Hei!
Vet ikke om du husker meg, men jeg laget en liten «fork» på MinGate. Sendte jeg deg egentlig kildekoden til denne?
24. jul, 2010 @ 19:19
Ja, det gjorde du. Et glimrende stykke arbeid.
Jeg jobber med å lage en admin-del til den i samme stil, og legger den ut når den er klar. Begynner å jobbe igjen til uka, så da blir det nok litt mer fart i sakene.
24. jul, 2010 @ 20:59
Nå begynner jeg snart på skolen igjen, og ut i jobb, men kan gjerne delta i arbeidet om det behøves. Ingenting er bedre er pro bono!
25. jul, 2010 @ 14:27
Jeg oppdaterer Git-repositoriet fortløpende, så du får bare holde øye med det. Ellers kan du gjerne oppgi meg som referanse når du skal ut i jobb, så skal jeg skryte av jobben du har gjort
26. jul, 2010 @ 13:32