Kort fortalt
Open source kræver ikke nødvendigvis en intern udviklingsafdeling. Det kræver derimod tydeligt systemejerskab, dokumenteret konfiguration, aftalt hosting og support, leverandørstyring, licensoverblik, sikkerhedsopdateringer og en realistisk plan for exit eller fork.
Kort fortalt
Open source kræver ikke nødvendigvis, at organisationen har egne programmører. Mange organisationer kan bruge open source som driftet ydelse, med ekstern hosting, supportaftale, specialistleverandør og tydeligt internt systemejerskab.
Men open source kræver stadig styring. Koden kan være åben, mens organisationen stadig kan blive afhængig af én leverandør, én hostingplatform, én konfiguration eller én nøgleperson. Den afgørende ledelsesopgave er derfor ikke at “have udviklere”, men at eje beslutningerne om drift, support, konfiguration, sikkerhedsopdateringer, data, exit og eventuel fork.
Artiklens anbefaling er at behandle open source som en drifts- og governance-model: internt ansvar for systemets formål og risikotolerance, eksternt ansvar for drift og teknisk vedligehold, dokumenteret ejerskab over konfiguration og en klar plan for, hvad der sker, hvis den valgte leverandør eller det valgte open source-projekt ikke længere passer til organisationens behov.
Beslutningen artiklen hjælper med
Artiklen hjælper ledelse, indkøb, systemejere og mindre IT-funktioner med at beslutte, om en open source-løsning er realistisk uden en intern udviklingsafdeling.
Den konkrete beslutning er ikke, om open source generelt er godt eller dårligt. Beslutningen er:
- hvilke roller organisationen selv skal eje
- hvilke opgaver der trygt kan købes hos eksterne partnere
- hvilke krav der skal stilles til hosting, support, sikkerhed og dokumentation
- hvornår en løsning kræver egentlig udviklingskapacitet
- hvordan organisationen undgår at bytte proprietær lock-in ud med leverandør- eller konfigurations-lock-in
Konklusionen er enkel, men krævende: En organisation kan godt bruge open source uden egne udviklere, hvis den ikke samtidig outsourcer sit ansvar for systemejerskab.
Først: hvad open source betyder og ikke betyder
Open source er ikke bare software, hvor man kan se kildekoden. Open Source Initiative beskriver open source som licensvilkår, der blandt andet skal tillade adgang til kildekode, ændringer og videre distribution uden diskrimination mod personer, grupper eller anvendelsesområder. Det er en licens- og rettighedsmodel, ikke en garanti for gratis drift, modenhed, sikkerhed eller support. Open Source Initiative: The Open Source Definition
Det har tre praktiske konsekvenser.
For det første kan en løsning være “source available” uden at være open source efter OSI’s definition. Det er relevant i indkøb, fordi adgang til kildekode ikke nødvendigvis giver ret til at ændre, videreføre eller drive løsningen på egne vilkår.
For det andet betyder open source ikke, at organisationen skal modificere koden. Mange organisationer bør helst lade være med at lave egne ændringer, hvis standardfunktionalitet, konfiguration eller upstream-bidrag kan løse behovet.
For det tredje betyder open source ikke, at leverandørafhængighed forsvinder. Afhængigheden flytter ofte fra licensrettigheder til drift, konfiguration, opdateringer, integrationer, supportkompetence og projektets sundhed.
Denne artikel er generel beslutningsstøtte. Licensvalg, copyleft-forpligtelser, distribution, databehandling og offentlige udbud kan kræve særskilt juridisk vurdering.
Den grundlæggende organisationsmodel
En ikke-udviklerorganisation bør se open source som et samarbejde mellem fem roller.
| Rolle | Primært ansvar | Må ikke være uklart |
|---|---|---|
| Intern systemejer | Formål, budget, risikotolerance, datakrav, brugerbehov og beslutninger | Hvem kan godkende ændringer, opgraderinger, leverandørskift og afvigelser? |
| Driftspartner | Hosting, backup, overvågning, patching, adgangsstyring og beredskab | Hvad er SLA, gendannelsespunkt, logadgang, sikkerhedsopdateringer og exit-proces? |
| Supportleverandør | Fejlhjælp, brugerstøtte, konfigurationsrådgivning og prioritering af tickets | Hvad er inkluderet support, responstid, eskalation og kendt grænse mellem brugerfejl og udviklingsarbejde? |
| Specialistudvikler | Tilpasninger, integrationer, upstream-bidrag, sikkerhedsrettelser og fork-arbejde | Hvem ejer ændringerne, hvor dokumenteres de, og kan en anden overtage dem? |
| Open source-projektet | Kildekode, roadmap, releases, sikkerhedsrettelser, community og licens | Hvem følger projektets sundhed, udgivelser, sårbarheder og større ændringer? |
Den interne systemejer er ikke programmør. Rollen minder mere om produktansvar, kontraktejer og risikoejer. Systemejerens vigtigste opgave er at sikre, at eksterne parter arbejder efter organisationens behov, ikke kun efter teknisk bekvemmelighed.
Hvad organisationen selv bør eje
Selv uden udviklere bør organisationen eje seks ting.
1. Formål og beslutningskriterier
Organisationen skal kunne forklare, hvorfor løsningen er valgt. Er målet lavere licensbinding, bedre datakontrol, mulighed for lokal drift, større gennemsigtighed, bedre integration eller adgang til et bredere leverandørmarked?
Hvis open source kun vælges, fordi det lyder billigere, er beslutningen for tynd. Omkostningerne ligger ofte i drift, rådgivning, migration, brugertræning, dokumentation, integrationer og governance.
2. Konfiguration
Konfiguration er ofte den reelle forretningslogik. Den kan omfatte roller, rettigheder, workflows, felter, rapporter, skabeloner, integrationer, plugins, datamodeller, sikkerhedsindstillinger og mailopsætning.
Organisationen bør derfor eje en opdateret konfigurationspakke:
- beskrivelse af miljøer, versioner og moduler
- administratorroller og nødadgang
- eksport af konfiguration, hvor løsningen understøtter det
- liste over plugins, udvidelser og integrationer
- dokumentation af afvigelser fra standard
- beslutningslog for større ændringer
- kontaktpunkter hos drift, support og specialistleverandør
Pointen er ikke, at organisationen selv skal kunne ændre alt. Pointen er, at en ny leverandør skal kunne forstå, hvad der er bygget.
3. Data og backup
Open source gør ikke data flytbare af sig selv. Data kan stadig ligge i komplekse databaser, filstrukturer, plugins eller proprietære hosted services.
Organisationen bør kræve:
- regelmæssig dataeksport i dokumenterede formater
- backup af både data, filer og konfiguration
- testet gendannelse, ikke kun løfte om backup
- dokumenteret adgang til logs, hvor de er nødvendige for drift og compliance
- klar proces for dataudlevering ved leverandørskift
NTIA beskriver en SBOM som en formel optegnelse over komponenter og relationer i software. For en almindelig indkøbsorganisation er pointen bredere: man skal kende de byggesten, man er afhængig af. NTIA: The Minimum Elements For a Software Bill of Materials
4. Licens- og komponentoverblik
Organisationen behøver ikke have en intern licensjurist til alle open source-spørgsmål. Men den bør kræve, at leverandører kan dokumentere centrale komponenter og licenser.
SPDX er relevant, fordi det giver standardiserede måder at identificere softwarekomponenter og licenser på, herunder en licensliste med korte identifikatorer og permanente URL’er. SPDX SPDX License List
I praksis bør kritiske løsninger have mindst:
- liste over hovedkomponenter og væsentlige plugins
- licensidentifikation med standardnavne eller SPDX-identifikatorer, hvor muligt
- afklaring af egen distribution, hosted service, ændringer og tredjepartskomponenter
- proces for nye plugins og komponenter
- ansvar for at reagere på sårbarheder i afhængigheder
Det er især vigtigt, hvis organisationen selv distribuerer software videre, får specialudviklet funktionalitet eller bruger copyleft-licenser. Her bør juridisk rådgivning inddrages.
5. Leverandørstyring
Open source kan give flere leverandørmuligheder, men kun hvis organisationen holder løsningen overtagelig. Hvis al viden ligger hos én driftspartner, er markedet teoretisk.
Leverandørstyring bør derfor måle på overtagelighed:
- Kan en anden leverandør få adgang til dokumentation, miljøbeskrivelse og konfiguration?
- Er adgang og ejerskab placeret hos organisationen, ikke kun leverandøren?
- Kan supporthistorik, tickets og beslutningslog eksporteres?
- Er specialtilpasninger dokumenteret og versionsstyret?
- Er der klare grænser mellem standarddrift, support, rådgivning og udvikling?
6. Exit og fork
Open source giver principielt mulighed for at videreføre kode, men en fork er sjældent det første eller billigste svar. En fork betyder, at en variant af projektet vedligeholdes separat. Det kræver teknisk kompetence, sikkerhedsopdateringer, test, dokumentation og ansvar for fremtidige ændringer.
For de fleste ikke-udviklerorganisationer bør fork-strategien derfor være en trappe:
| Trin | Beslutning | Hvornår det passer |
|---|---|---|
| 1. Standard | Brug upstream uden egne kodeændringer | Behov kan løses med konfiguration eller almindelige plugins |
| 2. Bidrag upstream | Finansier eller bestil ændring, der kan indgå i projektet | Behov er generelt nok til at gavne andre og accepteres af projektet |
| 3. Midlertidig patch | Brug en begrænset ændring, mens upstream-proces eller alternativ vurderes | Sikkerhed, compliance eller drift kræver hurtig handling |
| 4. Leverandørvedligeholdt variant | Betal specialist for at vedligeholde afvigelse | Behov er vigtigt, men ikke egnet til upstream |
| 5. Strategisk fork | Etabler særskilt vedligehold med budget, test, releaseproces og ansvar | Projektet er kritisk, upstream kan ikke bruges, og alternativer er dårligere |
En moden fork-strategi er ikke “vi kan altid forke”. Den er en dokumenteret beslutning om, hvornår organisationen vil betale for at bære et udviklingsansvar, den normalt har valgt fra.
Fire realistiske driftsmodeller
Open source uden intern udviklingsafdeling kan organiseres på flere måder.
| Model | Passer bedst når | Største risiko | Nøglekrav |
|---|---|---|---|
| Driftet open source-ydelse | Organisationen vil købe funktionalitet og support som service | Leverandøren gør løsningen svær at overtage | Kontraktkrav til data, konfiguration, eksport, backup og exit |
| Ekstern hosting plus særskilt support | Organisationen vil skille drift og faglig support ad | Ansvar falder mellem to leverandører | Klar eskalation, hændelsesansvar og fælles dokumentation |
| Lokal driftspartner med specialistbagland | Organisationen ønsker tæt dialog og dansk/europæisk leverandørmarked | Én lokal partner bliver eneste videnspunkt | Dokumentation, adgangsejerskab og mulighed for sekundær specialist |
| Intern drift uden udviklere | Organisationen har teknisk drift, men ikke softwareudvikling | Patching, opgraderinger og integrationer undervurderes | Fast supportaftale, opgraderingsplan, testmiljø og beredskab |
Ingen model er automatisk bedst. Driftet ydelse kan være den mest realistiske model for en lille organisation. Særskilt hosting og support kan give bedre leverandørkontrol, men kræver mere koordination. Intern drift kan give kontrol, men kan være svagere, hvis organisationen mangler erfaring med sikkerhedsopdateringer og incident response.
Supportaftalen er ikke en formalitet
Mange open source-projekter har aktivt community, men community er ikke det samme som driftsansvar. En organisation uden intern udviklingsafdeling bør købe eller aftale support, hvis systemet er vigtigt.
En god supportaftale bør svare på:
| Område | Spørgsmål |
|---|---|
| Omfang | Dækker support brugerfejl, konfiguration, integrationer, performance, sikkerhed og opgraderinger? |
| Responstid | Hvad er responstid ved kritiske fejl, og hvordan defineres kritisk? |
| Eskalation | Hvornår går en sag fra support til driftspartner, specialistudvikler eller upstream-projekt? |
| Sårbarheder | Hvem overvåger CVE’er, advisories og projektets release-kanaler? |
| Patching | Hvem vurderer, tester og installerer sikkerhedsopdateringer? |
| Opgraderinger | Hvor ofte opgraderes løsningen, og hvordan testes ændringer før produktion? |
| Dokumentation | Hvilke ændringer dokumenteres, og hvor ligger dokumentationen? |
| Exit | Hvad udleveres ved ophør: data, konfiguration, scripts, dokumentation, logs og supporthistorik? |
NIST’s Secure Software Development Framework er skrevet til softwareproducenter, men NIST fremhæver også, at rammen kan bruges af softwarekøbere og -forbrugere som fælles sprog i leverandørdialog og anskaffelse. Det er netop værdien for en ikke-udviklerorganisation: kravene skal kunne stilles til leverandøren, selv om organisationen ikke selv skriver koden. NIST SP 800-218
Projektets sundhed skal vurderes
Open source giver adgang til kode, men projektets sundhed afgør, om koden er en levende platform eller en risiko, der langsomt vokser.
Vurder mindst:
- Hvor ofte udkommer vedligeholdelses- og sikkerhedsopdateringer?
- Er der flere aktive maintainere eller kun få nøglepersoner?
- Er security policy, release notes og changelog tydelige?
- Håndteres fejlrapporter og pull requests?
- Har projektet dokumentation for installation, opgradering, backup og drift?
- Findes der flere leverandører, der kan supportere løsningen?
- Er licensen stabil og forstået af leverandør og organisation?
- Er de vigtigste plugins eller udvidelser lige så vedligeholdte som hovedprojektet?
OpenSSF publicerer vejledninger om open source-sikkerhed, herunder materialer om SBOM-data, komponentopdateringer og sikker udviklingspraksis. Det understøtter en vigtig pointe: risikoen ligger ikke kun i hovedsystemet, men også i afhængigheder, opdateringsprocesser og leverandørens evne til at reagere. OpenSSF Guides
Governance-matrix: hvem gør hvad?
Brug denne matrix som minimumsmodel ved kritiske open source-løsninger.
| Aktivitet | Intern systemejer | Driftspartner | Supportleverandør | Specialistudvikler |
|---|---|---|---|---|
| Godkende formål, budget og risikotolerance | Ansvarlig | Input | Input | Input |
| Drive hosting, backup og overvågning | Beslutter krav | Ansvarlig | Informeres | Input ved ændringer |
| Håndtere brugersupport og konfiguration | Prioriterer | Input | Ansvarlig | Input ved fejl i kode |
| Overvåge sikkerhedsopdateringer | Sikrer proces | Ansvarlig for driftspakker | Input om applikation | Input om kode og afhængigheder |
| Dokumentere konfiguration og ændringer | Ejer krav | Bidrager | Bidrager | Bidrager |
| Vurdere nye plugins eller moduler | Godkender | Vurderer drift | Vurderer support | Vurderer kode og licens |
| Teste dataeksport og restore | Godkender test | Ansvarlig for restore | Input om funktion | Input ved migration |
| Kontakte upstream eller bidrage kode | Beslutter finansiering | Input | Input | Ansvarlig teknisk |
| Beslutte fork eller alternativ | Ansvarlig ledelsesbeslutning | Input | Input | Estimerer og udfører |
Matrixen kan virke administrativ, men den løser et praktisk problem: open source-projekter fejler sjældent i organisationer, fordi ingen kan læse kode. De fejler oftere, fordi ingen ved, hvem der ejer ændringer, opgraderinger, konfiguration, fejlprioritering og exit.
Indkøbskrav til en open source-løsning
Ved indkøb eller fornyelse bør organisationen stille krav, der kan besvares skriftligt.
Krav til løsning og licens
- Hvilken open source-licens gælder for hovedproduktet?
- Hvilke væsentlige plugins, udvidelser og komponenter indgår?
- Kan leverandøren levere licens- og komponentoversigt, gerne med SPDX-identifikatorer hvor relevant?
- Er der dele af ydelsen, der ikke er open source, for eksempel hosted service, proprietære plugins eller supportværktøjer?
- Hvilke rettigheder har organisationen til specialtilpasninger?
Krav til drift og sikkerhed
- Hvem har ansvar for patching af applikation, operativsystem, database, runtime og plugins?
- Hvor hurtigt vurderes og håndteres kritiske sårbarheder?
- Findes der testmiljø før opgradering?
- Hvordan håndteres backup, restore-test, logs, overvågning og hændelser?
- Hvordan kontrolleres administratoradgang og nødadgang?
Krav til konfiguration og exit
- Kan organisationen få komplet konfigurationsdokumentation?
- Kan data, filer, konfiguration, brugerroller og relevante logs eksporteres?
- Hvad sker der ved ophør, og hvor lang tid tager udlevering?
- Hvilken bistand ydes ved leverandørskift?
- Må en anden leverandør overtage drift og support uden tekniske eller kontraktuelle hindringer?
Krav til governance
- Hvem følger upstream-releases og sikkerhedsmeddelelser?
- Hvordan besluttes større opgraderinger?
- Hvordan vurderes nye plugins?
- Hvordan dokumenteres ændringer?
- Hvordan eskaleres fejl, der kræver kodeændring?
Disse krav er ikke en garanti for succes. De gør derimod forskellen mellem “vi bruger open source” og “vi kan styre den open source-løsning, vi er afhængige af”.
Worked example: fagsystem uden egne udviklere
Forestil dig en organisation med 120 medarbejdere, begrænset intern IT og et fagsystem baseret på open source. Organisationen vælger en driftet løsning hos en ekstern partner, support hos en specialist og en intern systemejer i fagområdet.
Første udkast til ansvar ser sådan ud:
| Område | Beslutning |
|---|---|
| Systemejer | Fagchefen ejer prioritering, budget og risikotolerance. IT-koordinator er teknisk kontakt. |
| Hosting | Driftspartner leverer hosting, backup, overvågning, patching og restore-test. |
| Support | Supportleverandør håndterer brugersager, opsætning og eskalation. |
| Konfiguration | Alle ændringer dokumenteres i en fælles ændringslog og eksporteres kvartalsvist, hvor muligt. |
| Plugins | Nye plugins kræver vurdering af vedligehold, licens, dataadgang og opgraderingsrisiko. |
| Sikkerhed | Kritiske sikkerhedsopdateringer vurderes inden for aftalt responstid og testes før produktion, med nødprocedure for hastesager. |
| Data | Der gennemføres halvårlig eksporttest og årlig restore-test. |
| Fork | Fork er ikke standardmulighed. Førstevalg er upstream-bidrag eller alternativ leverandør. |
Efter tre måneder opdager organisationen, at den vigtigste risiko ikke er manglende udviklere. Risikoen er, at supportleverandøren kender konfigurationen, driftspartneren kender infrastrukturen, og systemejeren kender forretningsbehovet, men ingen har samlet dokumentationen.
Den modne handling er ikke at ansætte en programmør med det samme. Den modne handling er at etablere et konfigurationsregister, en fælles ændringsproces, en opgraderingskalender, en restore-test og en leverandørworkshop om exit.
Hvornår open source uden udviklere ikke passer
Modellen har klare grænser.
Open source uden intern udviklingskapacitet passer dårligere, når:
- løsningen kræver omfattende specialkode for at fungere
- projektet er umodent, sjældent vedligeholdt eller afhængigt af få ukendte maintainere
- der ikke findes realistiske support- eller driftspartnere
- sikkerhedsopdateringer kræver hurtige kodeændringer, som ingen har ansvar for
- organisationen har meget specielle integrationer uden dokumentation
- licensvilkår eller distribution skaber juridisk usikkerhed, som ikke bliver afklaret
- ledelsen ønsker kontrol, men ikke vil betale for dokumentation, test, support og governance
Det sidste punkt er ofte det vigtigste. Open source kan reducere nogle bindinger, men det fjerner ikke behovet for budget og ansvar.
Afvejninger: hvad man vinder og hvad man overtager
Open source kan give organisationen stærkere handlefrihed, fordi kildekode, licensrettigheder og flere potentielle leverandører kan gøre exit mere realistisk end ved helt lukkede løsninger.
Men gevinsten kommer kun, hvis organisationen styrer de nye ansvar:
| Mulig gevinst | Ny opgave |
|---|---|
| Mere gennemsigtighed | Nogen skal vurdere projektets sundhed og komponenter |
| Flere leverandører | Dokumentation skal gøre løsningen overtagelig |
| Mulighed for lokal eller alternativ drift | Backup, restore, patching og adgang skal testes |
| Mulighed for tilpasning | Tilpasninger skal ejes, dokumenteres og vedligeholdes |
| Mindre licensbinding | Support, drift og kompetence skal budgetteres |
Derfor er open source ikke en genvej væk fra governance. Det er en mulighed for bedre governance, hvis organisationen bruger åbenheden aktivt.
90-dages plan for ikke-udviklerorganisationen
En realistisk opstart kan gøres i fire spor.
Dag 0-30: placer ansvar
- Udpeg intern systemejer og kontraktejer.
- Beskriv hvad løsningen er kritisk for.
- Aftal hvem der ejer drift, support, sikkerhedsopdateringer og konfiguration.
- Lav liste over datatyper, integrationer, plugins og administratorroller.
Dag 30-60: få dokumentationen på plads
- Indhent miljøbeskrivelse, versionsoversigt og komponentliste.
- Dokumentér konfiguration, brugerroller, integrationer og afvigelser fra standard.
- Aftal opgraderingskalender og sårbarhedsproces.
- Afklar licens- og komponentoverblik med leverandør.
Dag 60-90: test at modellen virker
- Gennemfør begrænset dataeksport.
- Gennemfør restore-test for udvalgte data og konfiguration.
- Test eskalation mellem support, drift og specialist.
- Lav exit-notat: hvad skal en ny leverandør bruge for at overtage?
Efter 90 dage: beslut næste niveau
Ledelsen bør derefter beslutte, om løsningen kan fortsætte som almindelig driftet open source-ydelse, om governance skal styrkes, om der er brug for en specialistudviklingsaftale, eller om afhængigheden er for høj.
Spørgsmål til første leverandørmøde
Brug disse spørgsmål som mødedagsorden:
- Hvilke dele af løsningen er open source, og hvilke dele er leverandørspecifikke?
- Hvilken licens gælder for hovedprodukt, plugins og specialtilpasninger?
- Hvordan får vi data, filer og konfiguration ud ved leverandørskift?
- Hvem følger sikkerhedsmeddelelser og upstream-releases?
- Hvordan håndteres kritiske sårbarheder uden for normal opgraderingsplan?
- Hvilken dokumentation modtager vi løbende?
- Kan en anden leverandør overtage drift og support, hvis aftalen ophører?
- Hvilke ændringer bør sendes upstream i stedet for at blive lokale specialtilpasninger?
- Hvad er de tre største driftsrisici i løsningen i dag?
- Hvilke beslutninger kræver intern systemejer, før leverandøren handler?
Hvis leverandøren ikke kan svare på disse spørgsmål, er det ikke nødvendigvis et tegn på dårlig vilje. Men det er et tegn på, at organisationen endnu ikke har et tilstrækkeligt beslutningsgrundlag.
Kilder
- Open Source Initiative: The Open Source Definition
- SPDX: The System Package Data Exchange
- SPDX License List
- NTIA: The Minimum Elements For a Software Bill of Materials (SBOM)
- NIST SP 800-218: Secure Software Development Framework (SSDF) Version 1.1
- OpenSSF Guides
Dette er generel information og ikke juridisk rådgivning.