Fri programvare med åpen kildekode

Introduksjon

Dette dokumentet er ment å være en ressurs for å få en enkel innføring og forståelse for hva programvare med åpen kildekode (Open Source Software) er, og motivasjonen bak å bruke det, og å utvikle det. Spesielt blir det fokusert på bruk i offentlig sektor der programvare blir utviklet med statlige midler og produktet ofte ikke blir laget med tanke på at det en dag skal kunne selges, og hemmeliggjøring av kildekoden ikke vil ha noe økonomisk insentiv for brukeren av systemet.

Hva er programvare?

Programvare er her ment som en norsk betegnelse på det engelske ordet Software, som beskriver abstrakt funksjonalitet implementert på elektronikk-baserte platformer som populært blir kalt datamaskiner. Denne funksjonaliteten kommer gjerne i en populær form som i dag blir kalt for applikasjoner eller programmer, og den tillater i bunn og grunn en bruker en enkel måte å kontrollere og manipulere elektrisitet, som for eksempel ved å sende en elektronisk melding til en annen i form av forskjellige grensesnitt. For denne typen mekanisme finnes det i dag mange forskjellige grensesnitt som brukere vil kjenne som e-mail, Facebook meldinger, SMS, samt mange andre metoder. Merk at noen av disse opererer ved forskjellige abstraksjonsnivåer da både e-mail og Facebook meldinger opererer over platformen Internet, mens SMS er uavhengig av Internet.

Programvare kan ta mange former, og kan være så enkel og spesifikk som i at den er spesifikt laget for å drive klokken i en mikrobølgeovn. Det kan være et dataspill som kan kjøres på en datamaskin for underholding, og det kan være en platform på Internet som tillater brukere å se på og dele videoer. Uansett formen den tar er det alltid en ting som er til felles, og det er at den er basert på kode, som blir kjørt av en datamaskin for å produsere den funksjonaliteten produsenten av koden har spesifisert. I tillegg kan det være verdt å nevne at programvare kan i motsetning til de fleste andre typer varer bli reprodusert uten kostnad, utover den elektrisiteten som er nødvendig for å kopiere den.

Hva er Open Source Software?

Programvare (Software) er basert på kildekode

Måten et program blir laget på er at oppførselen til programmet blir definert av en person som skriver kode (Det finnes i dag programmer som er designet for å skrive kode, men i bunn og grunn er det fremdeles en person som har definert koden. Det er mye forskning som foregår innen utvikling av intelligente datamaskiner, men vi er ikke kommet så langt enda at man kan si at en datamaskin egentlig skriver kode.). Hvordan et program opererer er i bunn og grunn på den måten at kode blir lest av datamaskiner via elektriske signaler som fungerer ved å enten være av eller på i små pulser, litt som morse-kode, som er hvor vi får den populære beskrivelsen 0 og 1 fra. En datamaskin kan i dag lese mer enn hundre-tusenvis av slike 0 og 1 signlaer per sekund, mens mennesker derimot kan lese mindre enn tusen. Dessuten fungerer menneskehjerner på en veldig annen måte, så å skrive og lese kode direkte via 0 og 1 er ikke spesielt praktisk. Det som derimot er populært er å bruke en teknologi som kalles programmeringsspråk, der programmer kan bli definert på en oversiktlig måte for mennesker, som så blir oversatt til disse 0 og 1-erne (populært blir kalt maskin-kode). Denne oversettingen kalles for å "kompilere" et program, og det er nettopp på den måten en .exe fil gjerne blir produsert.

Hvem lager programmer og hvor kommer kildekode fra?

Hvem som helst kan skrive kildekode så lenge man har evnen til det, og hvem som helst kan enkelt kompilere denne kildekoden om til et kjørbart program (merk at .exe er en forkortelse for executable, som nemlig betyr å kjøre, eller utføre). Man kan kompilere slike .exe filer så mange ganger man vil, og når disse .exe filene har blitt kompilert kan de også bli kopiert og kjørt andre steder. Merk at .exe kun er en type kjørbar programtype som er populær på det populære operativsystemet Windows, mens det finnes mange andre typer. Det dette betyr er at det er nesten helt gratis å replikere et program så snart det har blitt definert (eller skrevet som mange kaller det), mens den reelle kostnaden ligger i den faktiske produksjonen av koden. Akkurat som en film som for en seer kanskje tar halvannen time å se, kan det ta en koder, eller et team av kodere flere år å skrive et program. Et dataspill kan være et godt eksempel på dette der produsentene består av titalls mennesker som jobber over flere år, mens brukeren til slutt spiller spillet kanskje bare et par timer før det er fullført. På grunn av dette er det mange produsenter av kildekode som gjerne vil holde koden sin hemmelig, og kontrollere distribusjonen av sin programvare på en slik måte at de kan ta betalt for det, istedenfor å dele ut koden, eller den kompilerte formen gratis. Det finnes mange også som deler ut den kompilerte formen gratis da det finnes forretningsmodeller der en kan tjene penger på brukere selv om de bruker systemet gratis, mens kildekoden kan være kompleks i måten den får dette til slik at det kan være ønskelig å holde den hemmelig for konkurrenter. Slik kildekode som ikke blir gitt ut kalles populært for proprietær kildekode. Samtidig finnes det prosjekter der kildekode blir gitt ut og delt offentlig til alles innsyn og reproduksjon. Det siste er det som på engelsk blir kalt Open Source Software.

Populære eksempler på Open Source Software-prosjekter

Mesteparten av programvaren de fleste vil være kjent med er proprietær, mens noen få av de populære programmene folk flest bruker muligens vil være Open Source. Det mest kjente som noen kan ha hørt om uten å egentlig vite helt hva det er er operativsystemet Linux (Merk at Linux kun egentlig er en del i selve operativsystemet som egentlig heter GNU/Linux, men det er ikke viktig å gå i altfor stor detalj her, selv om leseren oppfordres til å undersøke dette temaet på egenhånd). Linux er et alternativ til Windows og Mac som en liten prosentandel av datamaskinbrukere bruker i dag. Et annen eksempel er den populære blogg-platformen WordPress, som er et program som kan drifte en nettbasert blogg-nettside. Det er mange som ikke vet det, men WordPress er et program som kan bli installert på hvilken som helst datamaskin, slik at den datamaskinen drifter en WordPress-nettside. Det kreves noe teknisk bakgrunn for å gjøre dette, i tillegg til at datamaskinen alltid må være på, så de fleste benytter seg av tjenestene til en annen som kjører det på sin datamaskin for en (de kjører dette da på deres server). Har du ikke hørt om noen av de to har du kanskje hørt om det som i de siste årene kanskje har blitt det mest kjente Open Source Software-prosjektet, nemlig den elektroniske valutateknologien Bitcoin.

Dette er kun eksempler på Open Source Software-prosjekter som er kjent, mens det i tillegg finnes andre prosjekter så mange at det kan være vanskelig å telle. De fleste programmer en er kjent med har gjerne et alternativ eller flere som er Open Source, men som også gjerne er mindre kjent, og som også gjerne har noe dårligere funksjonalitet, eller i beste fall bare er litt vanskeligere å bruke. I visse tilfeller begynner dette å snu da i de siste årene operativsystemet Linux har blitt så bra at selv en person som så vidt klarer å sende en e-post vil klare å bruke det. Det finnes mange forskjellige video-redigeringsprogrammer, bilderedigeringsprogrammer, osv. osv.

Hva er motivasjonen for å bruke åpen kildekode programvare?

Det er flere motivasjoner for å bruke Open Source Software. Noen av de følger.

Redusert kostnad

Den mest åpenbare er muligens at det som regel er gratis (innenfor Open Source Software finnes det forskjellige lisenser og forretningsmodeller som definerer graden av hvor fri en bruker er til å bruke kildekoden eller dens kompilerte form, men for enkelthets skyld kan vi her anta at Open Source Software er gratis og til fri bruk og kopiering).

Sikkerhet

En annen grunn kan være sikkerhet. Når en person skriver kildekode og kompilerer koden og gir den ut i kjørbart format, kan ikke brukeren vite om det ble skrevet kode som kan være til brukerens disfavør. Dette er populært hvordan virus-programmer blir distribuert, da et program tilsynelatende ser ut som det gjør en ting, mens den i realiteten gjør noe annet i bakgrunnen og kanskje stjeler og sender bruker-sensitiv informasjon tilbake til produsenten, eller bruker noe av datamaskinkapasiteten til virusmakerens formål. Programmer kan for eksempel lages på den måten at passordene til en bruker blir lagret idet de blir skrevet inn, og så sendt tilbake til en eller annen kriminell aktør. På nasjonsnivå kan dette være interessant for å stjele informasjon som kan bli brukt i internasjonal krigføring via informasjonslekking og misbruk, og det kan bli brukt for å skaffe tilgang til sensitiv informasjon ved å stjele passordene til intetanende tjenestepersonell. Dette har vært en sak som har blitt tatt opp i forbindelse med å bruke kinesisk-produserte telefoner som for eksempel Huawei, da de har blitt anklaget for å legge inn det som kalles "bakdører", som gir produsentene tilgang til å styre telefonene utenfra. Det samme vil potensielt kunne være et problem med alle bilprodusenter som produserer biler som har datamaskiner som styrer systemene deres, og som er tilkoblet til Internet.

Evnen til å ha tilgang til å styre programvare utenfra kan både være en eksplisitt funksjonalitet produsenten har lagt inn med vilje, men det kan også være et resultat av dårlig programvare-design. Hacking, som de fleste kjenner til som når en slem datamaskin-kriminell tar kontroll over et datasystem uten å egentlig skulle ha det skjer ofte ved å utnytte dårlig programvare-design, noe de fleste vil være kjent med som en "bug". Hacking kan også gjerne skje ved hjelp av såkalt social-engineering der man lurer noen til å gi en passordet sitt, eller ved at brukere rett og slett har så dårlige passord at man lett kan gjette de.

I begge disse tilfellene, enten det det skyldes eksplisitt kriminell oppførsel eller inkompetanse hos koderen, kan offentliggjøring (Open Sourcing) av kildekode fungere som en måte å forsikre seg om at slik sikkerhetshull ikke finnes i programmene en kjører.

Kode-kvalitet

Deling av kildekode kan også fungere som en måte for å be om tilbakemelding på koden, og kan i mange tilfeller føre til at man kan ende opp med bedre kode. Jobber en person kun på egenhånd, eller et team jobber kun på egenhånd kan det være fort gjort å ta snarveier eller gjøre feil en ikke ser selv, som en person utenfra kan se og gi tilbakemelding på. Dette var motivasjonen til at Linus Torvalds originalt delte kildekoden til Linux, da han bare ville ha noen andre til å se og kommentere på koden.

Det vil altså være lettere å tette alle sikkerhetshull da de allerede til å begynne med vil være tilgjengelig for angrep og gjerne vil bli funnet fortere enn i proprietære systemer, der sikkerhetshull kan eksistere i årevis helt til de en dag blir oppdaget av en utforskende hacker.

Samarbeid

Open Source Software er spesielt populært i akademiske sammenhenger der produsentene kun er ute etter å lage det beste mulige programmet for en gitt funksjonalitet, uten å nødvendigvis være ute etter å selge det. I disse sammenhengene arbeider folk ofte med lite økonomiske midler, og da kan det gi mening å gi ut koden sin i håp om at noen andre også kan ha bruk for den, og ha midler til å bidra med oppdateringer. I slike sammenhenger jobber man ofte betalt med offentlige midler, og på en måten vil det kunne gi mening for koderen å gi ut koden offentlig siden personen ikke har noen rett til å eie koden selv.

Slik Open Sourcing kan også fungere som en slags oppfordring til bruk av andre, da andre brukere ikke vil trenge å ta stilling til eierskap til koden. Proprietær programvare kan plutselig bli tatt av markedet av produsenten, så å basere et produkt på en proprietær software-platform kan bli ansett som risikabelt da en aldri kan vite om programmet som ble brukt til å lage produktet vil være tilgjengelig på samme måte i fremtiden.

Unngå å lage det samme igjen og igjen

Noe som ofte er tilfelle i Software-bransjen er at mange ønsker den samme funksjonaliteten. Det som også ofte desverre skjer er at den samme funksjonaliteten blir laget på nytt flere ganger, uten at man ser på eller har tilgang til de tidligere implementasjonene. Det kan være flere grunner til dette. En av de er at det ikke finnes noen eksisterende Open Source-løsning, så man vil i beste fall være nødt til å kjøpe rettigheter til et eksisterende produkt av noen andre, og så jobbe videre på det. En annen grunn bygger videre på den ideen, som nettopp er den at det vil lønne seg mer på sikt å lage sitt eget produkt som man igjen på sikt kan håpe på å selge til andre. Dette gir åpenbart mening fra et business-perspektiv, mens det fra et brukerståsted kan gi mindre mening. Som bruker kan man ønske i fremtiden å oppdatere systemet sitt, men dersom man ikke har passet på i kontrakten å be om å få utlevert koden er det fremdeles selskapet man ansatte til å begynne med som har enestående rett til å videreutvikle det. Ber man om å få koden kan man ansette hvem som helst andre til å gjøre det. I tillegg, dersom man ikke har noen tanker om at man ønsker å selge systemet videre kan man like gjerne gjøre systemet Open Source i håp om at noen andre også tar det i bruk, og muligens lager nye oppdateringer til det.

Unngå en vendor lock-In

Open Source-løsninger er ofte i motsetning til proprietære løsninger designet for å kunne fungere enkelt sammen med andre løsninger. Proprietære teknologiprodusenter har et insentiv for å tvinge kundene sine til å måtte bruke deres løsninger via manglende interoperabilitet, da de vil kunne tjene mer penger og selge mer av sine andre produkter dersom du allerede eier et annet produkt de har laget som kun fungerer med deres produkter. Et eksempel på dette som har fått mye kritikk er det amerikanske selskapet Apple, viss produkter har en tendens til kun å fungere med andre Apple-produkter. Leseren oppfordres til å lese mer om temaet selv, men enkelt fortalt handler en vendor lock-in om at en produsent av produkter gjerne vil prøve å gjøre kunden sin avhengig av sine produkter på den måten at å bytte teknologi vil koste så mye at det lønner seg å fortsette å bruke deres produkter, selv om man også må betale videre for det. Disse selskapene er også i mange tilfeller avhengige av å måtte selge nye produkter for å kunne fortsette å tjene penger, så produktene blir i tilfeller produsert på den måten at de vil slutte å fungere etter en gitt periode. Dette er populært i mange industrifelter og har fått navnet "Planned Obsolescence". I programvarebransjen kan det fungere på den måten at man vil være avhengig av å kjøpe en ny oppdatering, eller at maskinvare i seg selv slutter å fungere etter en gitt tidsperiode. Apple har for eksempel vært involvert i søksmål der de har blitt anklaget for å designe telefoner og "iPod"er viss batteri går i stykker etter bare noen få år, eller på en eller annen måte begynner å oppføre seg tregere. Samtidig finnes det visse restriksjoner på hvordan rettigheter man har til å reparere disse enhetene på egenhånd som gjør brukeren nødt til å fortsette å betale for løsningen da det nå som brukeren har blitt locked-in og har så mye basert på deres systemer vil være billigere enn å bytte ut hele systemet.

Open Source-løsninger har ikke dette samme insentivet siden de ikke har kunder på samme måte, så resulterende programmer blir som regel ikke produsert for å gjøre brukeren avhengig. Open Source-software blir derimot ofte laget på den måten at gammel og dårligere hardware fremdeles kan bli tatt i bruk på grunn av optimaliseringer og innovasjon i koden. Dette er for eksempel populært ved at gamle Android-telefoner som produsentene har sluttet å gi oppdateringer til får oppdateringer av frivillige. Deler av Android-operativsystemer er nemlig også Open Source.

Motivasjon for bruk av Open Source Software i offentlig sektor

Open Source Software kan argumenteres for å være en god ide i offentlig sektor av flere grunner. For det første blir det brukt offentlige midler til å produsere koden, så derfor kunne det også tenkes at skattebetalerne vil ha interesse av å vite hva slags kode som kjøres. I visse tilfeller er det også programmer som brukere i et land er nødt til å bruke, som for eksempel portalen Altinn, hvor brukere kan ha grunn til å vite og ha innsyn i hvordan fungerer.

Private selskaper lager offentlige tjenester

I en del tilfeller blir det ansatt private selskaper og konsulenter til å produsere disse tjenestene. I mange av tilfellene blir antakeligvis kildekoden gitt til den entiteten som ansetter selskapet, mens i andre tilfeller, antakeligvis i mindre sammenhenger forblir produsenten eieren av kildekoden, mens det offentlige organet får en kompilert versjon, også gjerne som det private selskapet drifter. Brukere som ansetter software-produsenter har gjerne veldig liten forståelse for hvordan produksjon av software fungerer, så for de er det kanskje ikke så lett å komme på tanken av å be om eller ikke be om kildekoden, mens dersom man ansetter noen til å lage et system som man ikke har noen planer om å selge videre kan det lønne seg å be om å få koden og å gjøre den Open Source av grunnene beskrevet tidligere i dette dokumentet. I motsetning kan det hende at man ender opp med å betale for at et privat selskap produserer et system som man får en kopi av, men som selskapet etter oppdraget er ferdig nå eier.

Mange problemstillinger blir gjentatt i det offentlige

I offentlig sektor er det mange datasystemer som løser liknende problemer, for eksempel i skole-sammenhenger, og i helse og omsorg, så det vil kunne gi mening å ha et visst samarbeid og gjenbruk av disse systemene, istedenfor å ansette nye selskaper til å lage nye løsninger hver gang noe trengs. Det kan også være en ide å kunne basere seg på tidligere løsninger når man etter hvert skal videreutvikle systemer, og da gjør det saken enklere at kildekoden allerede er åpent tilgjengelig. Her kan det være snakk om systemer som løser det samme problemet på forskjellige måter over hele landet, som gjerne kunne blitt standardisert og samarbeidet om. Dette kan også spre seg videre utover i Skandinavia og til syvende og sist hele verden, selv om visse deler av skolesystemet opererer på forskjellige måter desto lenger av gårde en drar. Likevel vil det kunne være nok likhetstrekk til at man burde ta det med i beregningen om man skulle kunne tjene på et slikt samarbeid både økonomisk, men også på en måte at man kan finne en best mulig løsning via dialog.

Et annet argument for å bruke Open Source-løsninger i skolen er at man kan bruke sine egne løsninger som læringsverktøy for å lære å kode, samtidig som at man lar elevene jobbe med noe faktisk meningsfylt, selv om dette i mange tilfeller kun vil være en realitet for de spesielt begavede og interesserte.

Vanlige misforståelser innenfor Open Source Software og programvare generelt

Denne seksjonen er ment som en måte å argumentere mot misforståelser forbundet med Open Source Software

Open source er bare sosialistisk idealisme og er basert på en naiv godhetsdogme som ikke holder stand i den virkelige verden der vi trenger de beste verktøyene

Dette stemmer ikke og det har blitt gjort argumentasjoner mot dette tidligere i dokumentet som snakker om at motivasjon bak Open Sourcing gjerne kommer av et ønske om økt kodekvalitet og sikkerhet. Det som desverre er sant er at Open Source prosjekter gjerne har hatt mindre midler og derfor har blitt mindre utviklet, men dersom alle pengene som ble brukt på lisenser til proprietær programvare fra aktører som aldri ønsker å selge produktet videre hadde brukt pengene på å ansette utviklere som jobbet på åpne løsninger kunne det motsatte vært sant.

Videre er det også viktig å forstå at selv om det for vanlige brukere ikke er vanlig å bruke Open Source-løsninger, er en rekke Open Source-løsninger standarden i industrien bak kulissene på et mer teknisk nivå, hvor disse er ansett som å være av svært høy kvalitet.

Open Source software er vanskelige å bruke eller har mangler

Dette stemmer også fremdeles i mange tilfeller. For eksempel bilderedigeringsprogrammet Adobe Photoshop sitt mest populære Open Source-alternativ GNU Image Manipulation Program (GIMP), begynner å bli veldig bra, men er fremdeles vanskelig å bruke og har visse mangler i forhold til Adobe Photoshop.

Det samme gjelder ikke nødvendigvis for operativsystemet Ubuntu, som er et Linux-basert operativsystem, eller Microsoft Office sitt mest populære alternativ "LibreOffice". For en ekstremt avansert bruker vil LibreOffice i visse tilfeller kunne ha noen mangler i forhold til Microsoft Office, i alle fall i form av hvor enkelt det er å bruke, men for de aller aller fleste som bare skal bruke det til å lage enkle Power-Point presentasjoner, eller Excel-spreadsheets, eller såkalte "Word-dokumenter" vil det være like enkelt. Til og med for avansert bruk vil de kunne konkurrere, selv om det i visse tilfeller vil kunne være noe vanskeligere.

I tillegg kan slike mangler bli misforstått som mangel på funksjonalitet, siden visse ting kan hende blir gjort på en annen måte i en Open Source-løsning. Når en person er vandt med å bruke et Microsoft-basert system og så går over til å bruke et annet vil det i mange tilfeller være en viss motstandsperiode der brukeren må vende seg til noe annet, som i utgangspunktet kan bli sett på som en mangel, men som etter hvert vil vise seg å være en alternativ løsning på et problem.

Når det kommer til å bruke et Linux-operativsystem som Ubuntu, vil et av problemene i transisjonsfasen være at visse programmer ikke fungerer på Ubuntu, nettopp fordi de er basert på Microsoft-platformen Windows. Dette vil være et reelt problem i noen tilfeller, men for de aller fleste er ikke dette et problem da man fremdeles vil kunne bruke de vanligste kontorverktøyene via LibreOffice, og programmer som man bruker via nettleseren som for eksempel e-post vil fungere på samme måte. I tillegg har en rekke proprietære programmer som for eksempel Spotify, Skype, og Dropbox blitt utviklet med støtte for å kjøre på et Linux-system.

Er det ikke farlig at andre har innsyn i kildekoden? Kan det være et problem for brukersikkerhet og privacy?

En viktig forskjell å forstå når det kommer til datasystemer er forskjellen på kildekode og brukergenerert data. Selv om kildekoden er åpen, kan den sensitive brukerinformasjonen være lagret på en lukket server som har alle vanlige tilgangskontroller og sikkerhetsrutiner rundt seg.

Forkasting av eksisterende system og det å lage et nytt system heller enn å bygge videre på det som eksisterer fra før av er alltid løsningen

Når et datasystem skal utvikles er det i visse tilfeller for å erstatte eller oppdatere en tidligere versjon av et datasystem. Når dette skjer har utvikleren to valg: videreutvikle det eksisterende systemet, eller forkast det gamle systemet helt og lag et nytt fra bunnen av. Begge disse kan argumenteres for å være den riktige løsningen basert på hvordan situasjonen ser ut. Noen ganger er det gamle systemet såpass utdatert, eller laget på en så dårlig måte at man like gjerne kan starte på nytt, og noen ganger er det gamle systemet laget på en slik måte at det fint kan oppdateres. I en perfekt verden hadde det alltid vært det siste som var tilfelle, men det er desverre ikke alltid slik. Det er antakeligvis de færreste tilfellene hvor det er slik, samtidig som det ikke nødvendigvis alltid er helt sånn at det gamle systemet er helt forferdelig og burde forkastes. Mest sannsynlig er det noe midt i mellom, og utvikleren må ta et valg.

Det vil i mange tilfeller være enklere og mer tilfredstillende for en ny utvikler å kunne begynne helt fra bunnen av. Dette er fordi det gamle systemet kan ha basert seg på teknologi som ikke nødvendigvis er den aller nyeste, eller at den nye utvikleren ikke er enig i valgene som ble gjort i det forrige systemet. Det kan også være basert på en egoistisk motivasjon, der utvikleren ikke har lyst til å jobbe med den tidligere koden og heller vil lage sin egen nye versjon. Uansett hvor dårlig det tidligere prosjektet er, så er det mest sannsynlig noen deler av det som kan komme til nytte og som man kan tjene på å videreutvikle istedenfor å forkaste helt og så utvikle helt på nytt. Bruken av Open Source Software og utviklingen av den kan gjøre det enklere å argumentere for videreutvikling på grunn av tilgjengeligheten, og at arbeid på Open Source Software prosjekter har en tendens til å tvinge utvikleren til å være noe mer bevisst på valgene som blir tatt i utviklingen, da andre enkelt kan se på og kritisere koden dersom man gjør dårlige valg.

Et annet utsagn i forbindelse med dette er at teknologi utvikler seg så fort at det alt er utdatert etter bare noen få år, og som kan brukes som argument for å forkaste gamle prosjekter. Selv om dette kan stemme i visse tilfeller, er det heller ingen absolutt sannhet, og det er mange tilfeller der en løsning kan fortsette å være relevant i mange år. Det kan komme oppdateringer til rammeverket det har blitt laget i, for eksempel hvis det har blitt skrevet i Java, men selv om det har kommet mange oppdateringer i løpet av for eksempel 5 år, vil fundamentet være det samme og fungere på samme måte.

Dataprosjekter er ofte så spesialiserte at det ikke er vits å gjøre de Open Source, fordi ingen andre vil ha bruk for vår use-case.

Et viktig prinsipp innenfor datateknologi er modularisering. Dette handler om at man til størst mulig grad skal dele opp problemstillingene og løsningene slik at de helt enkelt gjør den ene tingen de gjør, og at de enkelt skal kunne byttes ut. Dette gjelder på alle nivåer, helt ned til det nivået som oversetter fra maskinkode til menneskekode, og opp til nivået av store applikasjoner som web-portaler som brukes i industrier og andre profesjonelle settinger. Slike moduler skal kunne kobles sammen enkelt, for eksempel i en Web-Portal for en bedrift eller annen type organisasjon, der brukeren ser det som èn nettside, mens det bak kullisene egentlig består av mange forskjellige moduler som tar seg av for eksempel timeføring og lønn, nyheter relatert til organisasjonen, annen person-informasjon, og annen type informasjon. På denne måten kan det være at selv om kanskje én av disse modulene i en organisasjon aldri vil bli brukt av noen andre, så vil alle de andre det, eller noen av de andre, og da vil de kunne tjene på å være del av Open Soure miljøet.

Eksempler på Open Source alternativer til offentlig sektor:

Allerede finnes det mange Open Source prosjekter som tar for seg skolesystemer. Her er en liste med noen av de som eksempler. Ingen av disse er nødvendigvis helt perfekte og vil passe helt til en gitt situasjon, men siden det er Open Source vil man kunne kopiere kildekoden og legge til det som eventuelt mangler, og fjerne det som ikke trengs. Noen av disse prosjektene tilbyr også i tillegg til den delen som er Open Source en betalt versjon, eller de tilbyr å drifte systemet mot betaling, men denne driftingen kan man gjøre på egenhånd, eller ansette noen andre til å gjøre. Prosjektene følger i ingen spesifikk rekkefølge:

https://gibbonedu.org

https://projectfedena.org

https://www.opensis.com

http://schooltool.org

Mer informasjon om fri programvare og open source

Er du mer interessert anbefales det å besøke nettsiden til Free Software Foundation på https://www.fsf.org til å begynne med, og så ta det videre derfra.

Copyright © 2018 Simernes

Denne siden er lisensiert under et Creative Commons Attribution-NoDerivatives 4.0 International lisens.

Dersom du ønsker å legge til noe eller rette på noe blir det satt pris på om du sender en e-mail til contact@simernes.com, eller legger inn en pull request på https://www.github.com/simernes/open-source-info-norsk.

En rekke antakelser har blitt tatt i dokumentet som lett kan bli verifisert via noen søk på nettet, men pålitelige kilder er alltid det beste, så det er en del av forbedringspotensialet.