Åpen kildekode

Escio AS
Escio
Published in
5 min readDec 8, 2016
PHP i HTML, et mye brukt språk.

Escio er en teknologibedrift, men vi har også en mann på laget som skal gjøre teknologi forståelig for flere. Da slipper vi ham løs på bloggen.

I denne artikkelen tar vi opp hva åpen kildekode er (og ikke er), hvorfor det benyttes og hvorfor vi bruker det.

“Åpen kildekode” viser til at koden bak et dataprogram gjøres tilgjengelig for alle, gjerne på Internett. Motsetningen er den lukkede kildekoden som er distribuert i binærform og er utilgjengelig. Eksempler på en lukket kode er Microsofts Office. Den siste tiden har imidlertid også Microsoft gjort deler av kildekoden sin tilgjengelig, blant annet regnemotoren til Excel. Svært mye av åpen kildekode har imidlertid sitt utspring i Linux-miljøene, og har til en viss grad vært en reaksjon mot Windows-plattformens lukkethet. Også Apple har vært opptatt av å holde systemene sine lukkede og proprietære.

Bakgrunnen for å benytte åpen kildekode er at man på den måten vil raskere forbedre koden, ved at feil og mangler blir oppdaget når flere får tilgang til den. Dermed vil også kvaliteten øke.

Prinsippet for åpen kildekode sier også at rettinger og forbedringer skal gjøres tilgjengelige for alle og føres tilbake til opphavet. Noen synder mot dette, men stort sett er programvareutviklere glade i å dele kode de lager.

Det finnes ulike lisenser for åpen kildekode, men vi skal ikke gå i detalj rundt disse. Den du sannsynligvis vil møte oftest, er GNU-lisensen eller Mozilla-lisensen.

Hvorfor velges åpen kildekode?

En åpenbar fordel er at feil lukes ut fortere i store “communities”, også feil som går på sikkerheten løs (mens det motsatte er tilfelle i mindre populære tilfeller). I tillegg kan programvare basert på åpen kildekode lettere tilpasses, fordi koden er tilgjengelig. Videre kan programmer basert på åpen kildekode enklere kobles sammen og snakke sammen, fordi man kjenner koden i det enkelte programmet.

Åpen kildekode åpner for bredere samarbeid for å gjøre koden god, som i seg selv bidrar til å øke kvaliteten (man får “peer review” med et langt større antall “peers”, i dette tilfellet andre programmerere), og for å ta i bruk “byggeklossene” for å bygge noe eget, fremfor å bruke store ressurser og tid på å utvikle sitt eget. Vi bør derfor regne tilgjengelig åpen kildekode-programvare som “hyllevare”, som kan bli til “skreddersydd” produkt.

Kostnad er et viktig argument for åpen kildekode. Ikke fordi det nødvendigvis er gratis å anskaffe, men fordi det korter ned på tid anvendt til utvikling.

Er åpen kildekode det samme som “gratis”? Nei. Det er det ikke, men mengder av programmer med åpen kildekode er også gratis. Som nettleseren Firefox eller bildebehandleren GIMP. Mange vil også kjenne til Linux, som er et operativsystem basert på åpen kildekode. Ut fra dette er det mange som antar at åpen kildekode og gratis programvare er to sider av samme sak. Det er det altså ikke. En grei tommelfingerregel kan være at utvikling og tilpasning tar tid, som noen igjen vil ha betalt for.

Open Source-logoen.

Så hva definerer “åpen kildekode”, da? Følgende punkter er hentet fra opensource.org og oppsummerer hva lisensen er.

  • Fri redistribusjon — lisensen skal ikke begrense muligheten til å gi videre eller selge programvaren i en pakke eller som del av et annet program.
  • Kildekode — kildekoden skal være med eller være lett tilgjengelig på et egnet sted.
  • Avledede arbeider — lisensen må tillate disse.
  • Opphavspersonens kildekodes integritet skal respekteres. Dette kan bety at modifisert kode må bære et annet navn eller versjonsnummer, blant annet.
  • Lisensen skal ikke diskriminere personer eller grupper.
  • Lisensen skal ikke diskriminere bruksområder.
  • Lisensen skal distribueres uten videre krav om ytterligere lisenser for bruk.
  • Plattform/teknologiuavhengighet. Du skal ikke tvinges inn på en bestemt plattform eller en bestemt type teknologi.

Som man kan se, er det først og fremst avgjørende at kildekoden er fritt tilgjengelig. Samtidig er åpen kildekode en del av et større bilde, hvor mange ønsker seg mer åpenhet og gjennomsiktighet i alle samfunnets prosesser.

I Escio benytter utviklerne ofte plattformer og verktøy med åpen kildekode. Dette gjør rett og slett jobben lettere og utviklingsarbeidet mer effektivt.

Hva benytter vi av programvare som er åpen kildekode? Her er noen eksempler.

  • GitHub (ikke åpen kildekode) under utviklingsarbeid, som baserer seg på Git (åpen kildekode)
  • Sphinx søkemotor for enterprise søk
  • MySQL på servere
  • Linux på servere
  • Apache på servere

Noen prosjekter der Escio har benyttet åpen kildekode:

For oss i Escio er det å være teknologiuavhengige et mål. Vi ønsker å lage best mulige løsninger for deg som kunde, og det gjør at åpen kildekode ofte er det beste valget.

Innloggingsside i TreX

Fritt, gratis, eller hva?

En viktig drivkraft bak åpen kildekode regnes for å være Richard Stallman, som i 1983 lanserte Free Software Movement. Det er i dag en ganske sterk filosofisk uenighet mellom “friprogram”-tilhengere og tilhengere av åpen kildekode, som gjerne arter seg i opphetede diskusjoner på nett om emnet.

Forskjellene i synet ligger i om hvorvidt programvare virkelig skal være helt fritt distribuerbar eller ikke. Friprogramentusiastene mener nettopp dette, og har et nokså negativt syn på tilhengerne av åpen kildekodes lefling med kapitalen. Det er verdt å merke seg at “fritt” ikke nødvendigvis betyr helt gratis, men at programvaren skal kunne brukes helt fritt. Ønsker du å hacke den, skal du kunne gjøre det.

Uenighetene og de filosofiske ulikhetene er en del av mangfoldet innen programvareutvikling, og det er lite som tyder på at alle stridsøkser vil bli begravet helt og holdent.

Samtidig er de enige om at kode bør være fritt tilgjengelig, så det er mer som forener enn som skiller de to, og de mer filosofiske disputtene er mindre utbredte i Norge enn i for eksempel USA.

En underliggende årsak til at åpen kildekode har blitt populært, er at det har åpenbare fordeler for utviklere. Det tar kortere tid å rette eventuelle feil i en eksisterende kode enn å lage “alt” fra bunnen av.

Trenden kan være en årsak til at mange programvareselskaper går bort fra lisenssalg og heller tilbyr programvare-som-en-tjeneste (SaaS). Eller dette kan være en medvirkende årsak til at åpen kildekode blir mer populært. Her er det gjensidig forsterkning ute og går, i alle fall. At også tidligere svært lukkede systemer åpnes opp, er med på å forsterke bevegelsen mot mer åpenhet.

For deg som kunde, er åpen kildekode og mer åpenhet mer eller mindre utelukkende godt nytt. Du blir mindre bundet på ben og armer ved valg av leverandør, siden åpen kildekode gjør at også andre i prinsippet kan overta jobben, dersom du er misfornøyd med din nåværende leverandør.

--

--

Escio AS
Escio
Writer for

Escio AS is a 9 man tech company in Hamar and Gjøvik, Norway, specialising in digital solutions.