Types of Code Repository Software
ソフトウェア開発プロセスにおいて、いったんプログラムが自分のシステムやマシンから離れると、一般に、自分の創作の開発をよりうまく進めるためには、次の4つの主要コンポーネントが必要になります:よく最適化されたウェブサイト、完全にアクティブなメーリングリスト、優れた課題トラッカー、安全なコード レポジトリです。
ソフトウェア開発プロジェクトに必要なインフラのほとんどは、すでに企業内のシステムで利用できるかもしれませんが、うまく構築され成功したソフトウェアを維持し公開するための努力において、開発チームを支援できるツールやサービスが幅広く存在します。 ホスト サービスと呼ばれるものがあり、評判の良いサービス プロバイダーによってホストされているソース コード施設で、これは機関リポジトリとして知られています-それは通常、独自のバージョン管理サービスを使用して組織によって実行および管理されます。 その他に、企業自身が設計し管理するインフラストラクチャを備えたコード リポジトリのタイプもあります。
Hosted Services
Hosted Services は、複雑なプロジェクトで共同作業者やコミッターと作業するソフトウェア開発者、特にそれらの共同作業者が複数の機関にまたがっている場合、共通の解決法です。
これらのパブリックなホスト サービスおよびコード リポジトリの中には、GitHub、GitLab、BitBucket、Launchpad、SourceForge、Savannah、および Assembla など、業界で実際に非常に人気のあるものがあります。 しかし、これらのソリューションのすべてが、まったく同じサービスを提供しているわけではない。 GitHubは、開発者に特化したサービスとして、ソフトウェア開発者のための強力な環境を提供しています。 BitBucket は、Confluence や JIRA などのコラボレーション ソリューションで知られるサービス プロバイダー Atlassian がホストするサービスです。
GitLab は、Wiki と課題追跡機能を備えた Web ベースの Git リポジトリ マネージャーです。 このサービスは、機関や組織のインフラストラクチャ内にインストールできるローカルリポジトリも提供します。
SourceForge は、ソフトウェア開発プロジェクトとソースコードリポジトリのための最も古く、最も確立したホストプラットフォームの1つです。 このサービス プロバイダーは、リポジトリに期待されるほとんどの機能と性能を提供しています。
Launchpad は Canonical によってホストされており、Ubuntu や MySQL などのいくつかの有名なユーザーを対象としています。 このサービスには、機能と仕様の追跡、および Soyuz リリース管理が含まれている。
Assembla は、小規模なチームや組織の間で人気のあるホスト型サービスプロバイダである。 ソフトウェア開発サービスだけでなく、広範なプロジェクト管理機能を提供します。 Savannah は GNU ソフトウェアの大部分と、少数の非 GNU ソリューションを扱っています。
Institutional Code Repositories
多くのホスティングサービスやウェブベースのコードリポジトリがあるにもかかわらず、 独自のバージョン管理サービスやメーリングリスト管理、サービスを運営している企業や組織がまだ多数存在します。
多くの場合、この種のコード リポジトリまたはソフトウェア開発サービスは、プロジェクトに割り当てられた開発者やコミッターがサービスをホストしている組織に所属していれば、より効率的になります。 しかし、機関リポジトリは、少数の外部コラボレーターを扱うこともできます。
Managing and Running Your Own Infrastructure
つまり、ホストされたサービス、機関リポジトリ、そして SVN、CVS、または Git など自分で運用する改訂管理システムがあります。 また、Trac、GitLab、Savane (Savannah と同様に SourceForge を強化)、LibreSource、GForge、および Codendi などのパッケージを使用して、組織が独自のソフトウェア リポジトリを実行できるようにするソリューションも利用できます。 しかし、その見返りは、開発チームや企業がプロジェクトやリポジトリを最もよく管理できること、特にカスタマイズする際に便利なことです。