Open Source
Open source er en betegnelse for software, hvor kildekoden er frit tilgængelig, så alle kan se, bruge, ændre og videredistribuere den. Det står i modsætning til closed source (lukket kildekode), hvor kun producenten har adgang til den underliggende kode, og hvor man som bruger alene betaler for retten til at anvende det færdige program uden indsigt i, hvordan det er bygget. Betegnelsen dækker både over en udviklingsmetode, hvor mange bidragydere arbejder sammen om samme kodebase, og over de licenser, der juridisk fastlægger, hvad man må gøre med koden.
Forskellen kan illustreres med to udbredte styresystemer: Microsoft Windows er closed source, så man kun kan bruge det færdige program uden at kunne se koden bag, mens man med Linux-kernen frit kan hente, læse og ændre selve kildekoden, fordi det udvikles som open source. Den samme adskillelse går igen på tværs af næsten alle typer software, fra webbrowsere og webservere til programmeringssprog og administrative systemer.
Forskellen på open source og closed source
Ved closed source, også kaldet proprietær software, ejer og kontrollerer producenten kildekoden fuldt ud. Brugeren køber eller abonnerer på retten til at anvende programmet, men kan hverken læse, ændre eller videregive den underliggende kode. Det giver producenten kontrol over produktets retning og en indtægtskilde gennem licenser, men det betyder samtidig, at kunden er afhængig af netop den ene leverandør for opdateringer, rettelser og videreudvikling.
Ved open source er kildekoden derimod offentligt tilgængelig. Det betyder ikke nødvendigvis, at softwaren er gratis i alle sammenhænge, men at man som minimum har ret til at se, hvordan programmet fungerer indeni, og som oftest også ret til at ændre og genudgive det, forudsat at man overholder den tilhørende licens.
Licenser og de grundlæggende principper
Hvorvidt et stykke software må kalde sig open source, afgøres i praksis af, om det udgives under en licens, som er godkendt af den internationale organisation Open Source Initiative (OSI). Organisationen har opstillet en række kriterier, som blandt andet kræver fri distribution, adgang til kildekoden, ret til at lave og distribuere ændrede versioner samt ligebehandling af alle brugere uanset formål. Der findes i dag omkring 80 forskellige OSI-godkendte licenser, der alle skal leve op til disse kriterier.
Licenserne deles typisk op i to hovedfamilier. Permissive (liberale) licenser som MIT, BSD og Apache stiller få krav til, hvordan man må videredistribuere koden, og tillader ofte, at ændringer indbygges i lukket, kommerciel software. Copyleft-licenser som GNU GPL kræver derimod, at enhver videreudviklet version også udgives som open source under samme licensvilkår. Beslægtet med open source er begrebet fri software (free software), som Free Software Foundation definerer ud fra fire friheder: friheden til at bruge, undersøge, ændre og dele softwaren videre. De to begreber overlapper i høj grad, men fri software lægger mere vægt på et etisk og politisk standpunkt, mens open source primært beskrives som en udviklingsmetode.
Fordele ved open source
Fordi kildekoden ligger åbent fremme, kan fejl og sikkerhedshuller i princippet opdages og rettes af hele det tilknyttede fællesskab og ikke kun af én producent. Det bidrager i mange tilfælde til hurtigere rettelser og en vis grad af gennemsigtighed, som er svær at opnå med closed source. Samarbejdet mellem mange uafhængige bidragydere kan desuden fremme innovation og korte udviklingstiden ned, fordi man ikke behøver at opfinde alt fra bunden.
Andre fordele knytter sig til fleksibilitet og uafhængighed. Man kan tilpasse koden præcist til egne behov, og man er ikke bundet til én bestemt leverandør, hvilket mindsker risikoen for det, der kaldes vendor lock-in. Den samlede omkostning over tid (total cost of ownership) er ofte lavere end ved tilsvarende closed source-løsninger, selvom open source sjældent er helt uden omkostninger, når man medregner drift, tilpasning og vedligeholdelse.
Ulemper og udfordringer
Open source er ikke uden ulemper. Fordi mange projekter drives af frivillige eller mindre teams, kan kvaliteten og vedligeholdelsen svinge meget fra projekt til projekt, og nogle projekter bliver opgivet undervejs uden varsel. Der følger typisk hverken garanti eller et fast supportberedskab med koden, så virksomheder må selv stå for eller købe sig til drift, opdateringer og fejlretning.
Den åbne adgang til koden kan også udnyttes i ond hensigt. Fordi hvem som helst kan studere kildekoden, kan sårbarheder i teorien findes og udnyttes af andre end dem, der retter dem først, og der er set eksempler på, at ondsindet kode er blevet sneget ind i ellers troværdige open source-biblioteker på samme måde som en trojansk hest gemmer skadelig funktionalitet i et tilsyneladende uskadeligt program. Bliver en sådan sårbarhed i et udbredt open source-bibliotek ikke opdaget og rettet i tide, kan den i værste fald udnyttes til at inddrage enheder i et botnet. Endelig kan mangfoldigheden af licenser gøre det vanskeligt for virksomheder at holde styr på, hvilke regler der gælder for de mange forskellige open source-komponenter, som indgår i et moderne softwareprodukt.
Hvem udgiver open source, og hvem kan bruge det?
Open source udgives af en bred vifte af aktører. Det spænder fra enkeltpersoner og frivillige fællesskaber, over non-profit-organisationer som Mozilla og Free Software Foundation, til store kommercielle virksomheder som Red Hat, Google og Microsoft, der alle bidrager til og udgiver open source-projekter som en del af deres forretning. Også den offentlige sektor har taget open source til sig, blandt andet fordi det kan give myndigheder større uafhængighed af enkeltleverandører og mulighed for at dele udviklingsomkostninger med andre offentlige parter.
Der er som udgangspunkt ingen begrænsning på, hvem der kan bruge open source-software: private brugere, udviklere, virksomheder og offentlige institutioner kan alle installere og anvende det, så længe de overholder betingelserne i den konkrete licens. Kendte eksempler på udbredt open source omfatter styresystemet Linux, webbrowseren Firefox, indholdssystemet WordPress og webserveren Apache, der ifølge nogle opgørelser driver over halvdelen af alle websteder på internettet. Mange virksomheder vælger dog i stedet en færdig, driftsklar løsning i form af SaaS (Software as a Service), hvor leverandøren står for hosting og vedligeholdelse mod et abonnement, men hvor man til gengæld ikke har adgang til den underliggende kildekode.