Anbefalet proces for bidrag til kodebasen for OS2-produkter og -projekter
Når udviklere - hvad enten der er tale om offentlig ansatte, tekniske leverandører eller frivillige udviklere - vil foretage ændringer, bør nedenstående procedurer følges.
Udvidelser og fejlrettelser til eksisterende funktionalitet/moduler/løsning
- Lav en fork af det repository fra https://github.com/, som skal modificeres til din organisations eller din kundes profil. Direkte links til repository for et OS2-produkt eller -projekt kan findes på os2.eu.
- Ret fejlen eller commit udvidelsen i det forkede repository.
- Indsend et issue til koordinationsgruppen for produktet eller projektet enten via Jira eller direkte på mail. Beskrivelsen skal kunne forstås af udviklere såvel som af projektleder/digitaliseringskonsulent, som senere skal verificere rettelsen.
- Lav et pull request mod det originale repository.
- Såfremt produktet eller projektet har et core-team vil dettegennemgå ændringen og komme med kommentarer under pull requestet i henhold til code guidelines. Andre udviklere er velkomne til at bidrage med kommentarer. Disse vil også blive taget i betragtning. Er der ikke et core-team tilknyttet vil et pull-request blive gennemgået af den primære leverandør eller af koordinationsgruppen.
- Hvis koden accepteres, vil koden blivet merget ind i hovedsporet. Herefter vil udvidelsen eller fejlrettelsen være en del af core og medtages i kommende release.
- Hvis koden ikke accepteres vil der blive kommenteret på koden, og udviklere kan foretage de nødvendige ændringer. Herefter foretages et nyt review, og hvis koden accepteres, vil koden blive merget ind i hovedsporet.
- Hvis du har brug for at ændringen træder i kraft med det samme i dit lokale projekt, kan du referere til det forkede repository i stedet for hovedsporet. I så fald skal du være opmærksom på, at du selv er ansvarlig for at holde projektets fork opdateret, så I får efterfølgende opdateringer og fejlrettelser med.
Udvidelser i form af nye selvstændige funktioner/moduler/løsninger
Hvis myndigheder eller leverandører giver sig i kast med at udvikle ny funktionalitet eller nye moduler til et OS2-produkt eller -projekt vil koordinationsgruppen gerne bidrage med råd og vejledning så der fra start af integreres på bedst mulig måde. Det kan også være andre vil deltage i udviklingen og bidrage økonomisk.
Hvis ny funktionalitet skal indgå som en del af kernen i et OS2-produkt eller -projekt skal følgende procedure føgles:
- Lav et issue i projektets Jira, der beskriver det/de ny(e) modul(er). Beskrivelsen skal kunne forstås af udviklere såvel som af projektleder/digitaliseringskonsulent.
- Kontakt koordinationsgruppen for produktet/projektet eller OS2-sekretariatet direkte. Gerne med link til koden såfremt det er udviklet.
- Såfremt der er et core-team for OS2-produktet eller -projektet laves et fork og der foretages et review af koden og laves evt. et pull request tilbage til dit repository med ændringer og kommentar.
- Er der ikke et core-team vil koordinationsgruppen eller OS2-sekretariatet forestå beslutningsprocessen.
- Efter evt. kommentarer og kodeændringer er blevet accepter og diskuteret, vil der blive lavet et fork over i hovedsporet, hvor efter dette vil blive det nye repository for udvidelsen.
Hvis vi bliver opmærksomme på ændringer eller udvidelser foretaget i et forket repository forbeholder vi os ret til at hive kode ind under hovedsporet.
Uenigheder
Styregruppe, koordinationsgruppe, OS2-sekretarait og et eventuelt core-team beslutter suverænt, hvilke ændringer af teknisk karakter, der vil blive accepteret og hvilke der forbliver lokale ændringer.
Hvis en ændring har forretningsmæssig karakter, og der opstår uenigheder omkring en given ændring, vil spørgsmålet blive taget op med OS2s bestyrelse, som har den endelige beslutningskraft.