Typy softwaru pro úložiště kódu
V procesu vývoje softwaru, jakmile váš program opustí hranice vašeho systému nebo počítače, existují obecně čtyři klíčové komponenty, které budete potřebovat pro úspěšnější vývoj vašeho výtvoru: dobře optimalizované webové stránky, plně aktivní mailing list, dobrý issue tracker a bezpečné úložiště kódu.
Přestože většina infrastruktury potřebné pro projekt vývoje softwaru již může být k dispozici ve vnitropodnikových systémech, existuje celá řada nástrojů a služeb, které mohou vývojovým týmům usnadnit jejich úsilí o udržení a zveřejnění dobře vytvořeného a úspěšného softwaru.
Existuje několik různých typů řešení pro úložiště kódu. Existuje jedno označované jako hostovaná služba – zdrojová kódová zařízení hostovaná renomovaným poskytovatelem služeb, které je známé jako institucionální úložiště – které obvykle provozuje a spravuje organizace s vlastními službami řízení verzí. Jinak existuje také typ úložiště kódu s infrastrukturou navrženou a spravovanou samotnou společností.
Hostované služby
Hostované služby jsou běžným řešením pro vývojáře softwaru pracující se spolupracovníky a revizory na složitých projektech, zejména pokud jsou tito spolupracovníci rozptýleni ve více institucích.
Některé z těchto veřejných hostovaných služeb a úložišť kódu jsou v oboru skutečně poměrně populární, což zahrnuje služby GitHub, GitLab, BitBucket, Launchpad, SourceForge, Savannah a Assembla. Ne všechna tato řešení však nabízejí úplně stejné služby. GitHub nabízí silné prostředí pro vývojáře softwaru jako služba zaměřená na vývojáře. BitBucket je služba hostovaná společností Atlassian, poskytovatelem služeb známým svými řešeními pro spolupráci, mezi něž patří Confluence a JIRA.
GitLab je naproti tomu webový správce úložiště Git, který je vybaven funkcemi wiki a sledování problémů. Služba nabízí také místní úložiště, které lze nainstalovat v rámci infrastruktury instituce nebo organizace.
SourceForge je jednou z nejstarších a nejzavedenějších hostovaných platforem pro projekty vývoje softwaru a úložiště zdrojových kódů. Poskytovatel služby nabízí většinu funkcí a možností, které lze od úložiště očekávat.
Launchpad hostuje společnost Canonical a stará se o několik známých uživatelů, jako je Ubuntu a MySQL. Součástí služby je sledování funkcí a specifikací a také správa vydání Sojuzu.
Assembla je oblíbeným poskytovatelem hostovaných služeb mezi menšími týmy a organizacemi. Nabízí rozsáhlé možnosti správy projektů i služby vývoje softwaru. Savannah se stará o většinu softwaru GNU a několik ne-GNU řešení. Platforma se zaměřuje na hostování projektů vývoje svobodného softwaru.
Instituční úložiště kódu
I přes dostupnost mnoha hostovaných služeb a webových úložišť kódu stále existuje řada společností a organizací, které provozují vlastní služby správy verzí, správce poštovních seznamů a služby.
Většinou je tento typ úložiště kódu nebo služby pro vývoj softwaru mnohem efektivnější, pokud vývojáři a revizoři přidělení k projektu sídlí v organizaci, která službu hostuje. Institucionální repozitáře jsou však schopny zvládnout i hrstku externích spolupracovníků.
Správa a provoz vlastní infrastruktury
Takže existuje hostovaná služba, institucionální repozitář a pak je tu samostatně provozovaný systém řízení revizí, jako je SVN, CVS nebo Git. K dispozici jsou také řešení, která umožňují organizacím provozovat vlastní úložiště softwaru pomocí balíků jako Trac, GitLab, Savane (který pohání SourceForge i Savannah), LibreSource, GForge a Codendi.
Tento typ řešení úložiště kódu vyžaduje seriózní nasazení, čas a úsilí na nastavení a udržování pracovního postupu a procesu vývoje. Odměnou je však to, že vývojovým týmům a společnostem poskytuje největší kontrolu nad jejich projekty a úložištěm, zejména pokud jde o přizpůsobení.