Hvad er open source?

Af Weapp · Opdateret

Open source er software hvis kildekode alle frit kan læse, bruge og videreudvikle på de vilkår en licens fastsætter. Det er det fundament næsten al moderne udvikling hviler på. Frit betyder dog ikke uden krav: Licenserne er forskellige, og med styrken i gennemsyn og community følger at ansvaret for vedligeholdelsen bliver jeres eget.

Open source er en af de bærende idéer i moderne software, og samtidig et begreb der let bliver misforstået. Mange hører “gratis” og stopper der, men billedet er mere nuanceret end som så. Her er hvad open source faktisk er, hvorfor det som regel er en styrke og hvad du bør holde øje med.

Definitionen

Open source (åben kildekode) er software hvis kildekode alle frit kan læse, bruge og videreudvikle i overensstemmelse med vilkårene i en licens. I stedet for kun at få det færdige, forseglede produkt får alle adgang til selve byggetegningen og retten til at bygge videre på den.

Det står i kontrast til lukket, proprietær software, hvor koden er en forretningshemmelighed og du kun ser slutresultatet. Open source er i praksis det fundament som næsten al moderne udvikling står på: styresystemer, programmeringssprog, databaser og utallige byggeklodser som udviklere verden over deler, gennemgår og forbedrer sammen. Næsten hvert eneste system der bygges i dag, hviler på lag af åben kode.

Gratis er ikke uden krav

Den mest udbredte misforståelse er at open source ganske enkelt er gratis, punktum. Det er rigtigt at man som regel slipper for licensgebyr, men det er ikke det samme som at alt er tilladt uden betingelser.

Hvert open source-projekt kommer med en licens, og licenserne er forskellige. Nogle er meget tilladende og lader dig gøre stort set hvad du vil. Andre stiller betingelser: Den mest kendte slags, copyleft, kan kræve at også din egen kode skal gøres åben hvis du bygger videre på koden og distribuerer resultatet. For et kommercielt system kan det få store konsekvenser. At forstå hvilken licens en komponent har, er derfor ingen formalitet, men et spørgsmål der kan påvirke hele forretningen.

Hvorfor det som regel er en styrke

Trods betingelserne er open source i langt de fleste tilfælde et klogt valg, af flere grunde.

  • Gennemsyn. Når koden er åben, kan mange uafhængige øjne læse og gennemgå den. Fejl og sårbarheder bliver ofte fundet og rettet hurtigere end i lukket kode, som kun leverandøren kan se ind i.
  • Community. Populære projekter bæres af store fællesskaber der udvikler, dokumenterer og svarer på spørgsmål. Viden er tilgængelig for alle i stedet for at være låst inde hos én enkelt leverandør.
  • Ingen leverandørlåsning. Med åben kode er du ikke prisgivet et enkelt firmas prisliste, roadmap eller overlevelse. Går et projekt i stå, kan andre tage over fordi koden er fri.

Derfor er spørgsmålet sjældent om man skal bruge open source, men hvad og hvordan.

Et konkret eksempel

Lad os sige at I bygger en ny webtjeneste. I stedet for at skrive alt fra bunden hviler den på åbne byggeklodser: et framework til selve applikationen, et bibliotek til login, en database. Det hele er open source, frit at bruge, og det sparer jer for måneders arbejde.

Men med det følger et ansvar. Hver af komponenterne bliver opdateret løbende, ofte netop for at lukke opdagede sikkerhedshuller. Hvis ingen holder dem opdaterede, sidder I efter et stykke tid med gammel kode med kendte sårbarheder: en åben dør for den der leder efter en. Fordelen ved open source er altså reel, men den kommer med et vedligeholdelsesansvar.

Ansvaret for vedligeholdelsen bliver jeres

Det er den vigtigste pointe at tage med sig. I modsætning til et købt produkt med en supportaftale er der ingen leverandør der automatisk har ansvaret for en åben komponent. Ansvaret for at holde den opdateret og sikker ligger hos den der bruger den: jer eller jeres udviklingspartner.

Det er intet argument imod open source; fordelene vejer næsten altid tungest. Men det bør være et bevidst valg, med nogen der holder styr på hvilke komponenter systemet hviler på, og sørger for at de bliver vedligeholdt. Vil I have hjælp til at gennemgå hvad jeres system bygger på og hvordan det holdes sikkert over tid? Kontakt os, så kigger vi på det sammen.

Ofte stillede spørgsmål

Hvad er open source, forklaret enkelt?

Det er software hvor selve kildekoden, altså byggetegningen, er åben, og hvor alle må læse, bruge og bygge videre på den. Det modsatte er lukket kode, hvor du kun får det færdige produkt og ikke kan se hvordan det virker indeni. Open source er byggeklodser som udviklere verden over deler og forbedrer sammen, og som ligger til grund for det meste der bygges i dag.

Betyder open source at det er gratis?

Som regel kan det bruges uden licensgebyr, men gratis er ikke det samme som uden krav. Hvert projekt kommer med en licens der bestemmer hvad du må og ikke må. Nogle er meget tilladende, andre stiller betingelser, f.eks. at din egen kode også skal gøres åben hvis du bygger videre. Udgiften ligger sjældent i licensen, men i drift og vedligeholdelse.

Er open source sikkert at bruge?

Som regel er det en styrke. At koden er åben, betyder at mange øjne kan gennemgå den og finde fejl, i modsætning til lukket kode som kun leverandøren ser. Populære projekter er ofte meget grundigt gennemlyst. Men åbenheden passer ikke sig selv: Man skal holde komponenterne opdaterede fordi kendte sårbarheder i gammel kode ellers bliver en vej ind.

Hvad vil det sige at vælge den forkerte licens?

Open source-licenser er forskellige i hvad de kræver. En permissiv licens lader dig bruge koden frit mens en såkaldt copyleft-licens kan kræve at det du bygger oven på koden, også bliver åbent. Bruger et kommercielt projekt sådan en komponent uden at forstå vilkårene, kan I blive tvunget til at åbne jeres egen kode. Derfor er licensspørgsmålet værd at tage alvorligt.

Hvem har ansvaret for den open source vi bruger i vores system?

I selv. Der står ingen leverandør med en supportaftale bag en åben komponent: Ansvaret for at holde den opdateret og sikker ligger hos den der bruger den, altså jer eller jeres udviklingspartner. Det er ikke et argument imod open source, men det bør være et bevidst valg, med nogen der holder øje med opdateringer og sårbarheder over tid.