Kildekode
Kildekode er den tekst af instruktioner, som en programmør skriver i et programmeringssprog for at fortælle en computer, hvad den skal gøre. Koden er som udgangspunkt skrevet, så mennesker kan læse og forstå den, og den udgør selve grundlaget for et computerprogram, en app eller en hjemmeside. Uden kildekode findes der intet program at oversætte, køre eller senere rette i.
Man kan sammenligne kildekode med en detaljeret opskrift: ligesom en kok følger trinene i en opskrift for at lave en ret, følger computeren de instruktioner, der står i koden, når programmet bliver kørt. Skriver en udvikler for eksempel nogle få linjer, der lægger to tal sammen og skriver resultatet på skærmen, er de linjer allerede kildekode – uanset om de er skrevet i Python, JavaScript eller et helt tredje sprog.
Programmeringssprog og oversættelse af kildekode
Kildekode skrives i et programmeringssprog, og valget af sprog afhænger typisk af, hvad softwaren skal bruges til. Nogle af de mest udbredte sprog er Python, Java, C, C++ og JavaScript, og hvert sprog har sin egen syntaks – altså sine egne regler for, hvordan koden skal skrives, for at computeren kan forstå den. En computer kan dog ikke eksekvere kildekode direkte; den skal først oversættes, og det sker på en af to måder. En compiler oversætter hele kildekoden til maskinkode, før programmet overhovedet køres, mens en fortolker (interpreter) oversætter og udfører koden linje for linje, mens programmet kører. Sprog som C og C++ bruger typisk en compiler, mens sprog som Python og JavaScript ofte fortolkes.
Kildekode, objektkode og maskinkode
Når kildekode bliver kompileret, opstår der som regel en ny fil kaldet objektkode, som senere kan kobles sammen til en eksekverbar fil. Denne fil består i vid udstrækning af binær kode – altså rækker af et-taller og nuller – og kan ikke umiddelbart læses eller forstås af mennesker. Det er derfor en vigtig skelnen: kildekoden er den menneskelæsbare version af programmet, mens maskinkoden er den version, som computerens processor rent faktisk udfører.
Markup-sprog: kildekode uden et selvstændigt program
Ikke al kode resulterer i et kørbart program. Markup-sprog som HTML og XML bruges i stedet til at strukturere indhold, typisk på hjemmesider, og betragtes også som en form for kildekode, selvom de ikke i sig selv udgør et program. En HTML-fil kan for eksempel indeholde både strukturen på en webside og indlejrede scripts, der rent faktisk udfører handlinger.
Hvem ejer kildekoden?
Kildekode er beskyttet af ophavsretsloven på linje med andre kreative og tekniske værker. Det betyder, at det som udgangspunkt er ulovligt at distribuere, kopiere eller ændre en andens kildekode uden tilladelse fra rettighedshaveren. I en virksomhed vil det typisk være arbejdsgiveren, der ejer den kildekode, som ansatte udvikler i deres arbejdstid, mens eksterne udviklere ofte skal aftale ejerskab og rettigheder i en kontrakt, før arbejdet går i gang.
Åben og lukket kildekode
En central skelnen inden for software er, om kildekoden er åben eller lukket. Med lukket (proprietær) kildekode har kun rettighedshaveren og udvalgte medarbejdere adgang til at se og ændre koden – det gælder for eksempel de fleste kommercielle programmer, hvor brugeren kun får adgang til den færdige, kompilerede software. Det ses ofte, når software leveres som SaaS (Software as a Service), hvor brugeren tilgår funktionerne gennem en browser eller app uden nogensinde at se selve kildekoden bagved. Open source er den modsatte tilgang: her gøres kildekoden frit tilgængelig, så alle kan læse, ændre og bidrage til den, typisk under en åben licens. Linux-kernen og webbrowseren Firefox er kendte eksempler på open source-projekter, hvor udviklere fra hele verden samarbejder om at forbedre koden.
Kildekode i praksis: versionsstyring og nye værktøjer
Fordi kildekode løbende ændres og udbygges, bruger de fleste udviklerteam et versionsstyringssystem som Git til at holde styr på, hvem der har rettet hvad, og til at kunne vende tilbage til tidligere udgaver af koden. Kildekoden bliver desuden ofte organiseret, så dele af den kan tilgås af andre systemer – for eksempel gennem et REST API, som lader et program dele udvalgte funktioner uden at afsløre den underliggende kode. De senere år er der også kommet AI-baserede værktøjer som Claude Code, der kan læse, generere og rette i kildekode som en del af udviklerens arbejdsgang, men det er stadig udvikleren, der har ansvaret for, at koden fungerer korrekt og er sikker.