Typer av Code Repository Software
I en mjukvaruutvecklingsprocess finns det i allmänhet fyra nyckelkomponenter som du behöver för en mer framgångsrik utveckling av din skapelse, när ditt program väl lämnar ditt system eller din maskin: en väl optimerad webbplats, en fullt aktiv sändlista, en bra issue tracker och ett säkert kodarkiv.
Även om det mesta av den infrastruktur som krävs för ett programvaruutvecklingsprojekt kanske redan finns i företagets interna system, finns det ett brett utbud av verktyg och tjänster som kan underlätta för utvecklingsteam i deras arbete med att underhålla och publicera en välbyggd och framgångsrik programvara.
Det finns några olika typer av lösningar för kodförvaring. Det finns en som kallas värdtjänst – källkodsfaciliteter som är värd hos en välrenommerad tjänsteleverantör, som är känd som ett institutionellt arkiv – som vanligtvis drivs och förvaltas av organisationen med egna versionskontrolltjänster. Annars finns det också den typ av kodförråd med en infrastruktur som utformas och förvaltas av företaget självt.
Hostade tjänster
Hostade tjänster är en vanlig lösning för programvaruutvecklare som arbetar med medarbetare och committers i komplexa projekt, särskilt när dessa medarbetare är spridda över flera institutioner.
En del av dessa offentliga värdtjänster och kodförråd är faktiskt ganska populära i branschen, vilket inkluderar GitHub, GitLab, BitBucket, Launchpad, SourceForge, Savannah och Assembla. Alla dessa lösningar erbjuder dock inte exakt samma tjänster. GitHub erbjuder en stark miljö för programvaruutvecklare som en tjänst med fokus på utvecklare. BitBucket är en tjänst som drivs av Atlassian, en tjänsteleverantör som är känd för sina samarbetslösningar, bland annat Confluence och JIRA.
GitLab, å andra sidan, är en webbaserad Git-förvaringshanterare som kommer med funktioner för wiki och problemspårning. Tjänsten erbjuder också ett lokalt arkiv som kan installeras i institutionens eller organisationens infrastruktur.
SourceForge är en av de äldsta och mest etablerade värdplattformarna för programvaruutvecklingsprojekt och källkodsarkiv. Tjänsteleverantören erbjuder majoriteten av de funktioner och möjligheter man kan förvänta sig av ett arkiv.
Launchpad är värd för Canonical och vänder sig till flera välkända användare som Ubuntu och MySQL. Tjänsten levereras med spårning av funktioner och specifikationer samt Soyuz release management.
Assembla är en populär värdtjänstleverantör bland mindre team och organisationer. Den erbjuder omfattande projektledningsmöjligheter samt tjänster för programvaruutveckling. Savannah tillgodoser majoriteten av GNU-programvara och några få icke-GNU-lösningar. Plattformen fokuserar på att vara värd för projekt för utveckling av fri programvara.
Institutionella kodförråd
Trots tillgången till en mängd värdtjänster och webbaserade kodförråd finns det fortfarande ett antal företag och organisationer som driver sina egna versionskontrolltjänster, e-postlistehanterare och tjänster.
Ftast är denna typ av kodförråd eller programvaruutvecklingstjänst mycket effektivare om de utvecklare och committers som tilldelas projektet är baserade på den organisation som är värd för tjänsten. Institutionella arkiv kan dock också hantera en handfull externa medarbetare.
Hantera och driva din egen infrastruktur
Det finns alltså en värdtjänst, ett institutionellt arkiv och sedan finns det ett eget revisionskontrollsystem som SVN, CVS eller Git. Det finns också lösningar som gör det möjligt för organisationer att driva sitt eget programvaruarkiv med hjälp av paket som Trac, GitLab, Savane (som driver SourceForge samt Savannah), LibreSource, GForge och Codendi.
Den här typen av kodförvarslösning kräver ett seriöst engagemang, tid och ansträngning för att sätta upp och underhålla arbetsflödet och utvecklingsprocessen. Men vinsten är att den ger utvecklingsteam och företag den största kontrollen över sina projekt och sitt arkiv, särskilt när det gäller anpassningar.