コードベース
たとえば、Linuxカーネルは、アーキテクチャ的には単一のモノリシックカーネルだが、個別のバイナリ(ロード可能なコンポーネント)で構成され、複数の分散リポジトリで開発されている。
分散コードベースと比較した場合、モノリシックコードベースには長所と短所の両方がある。 最も単純には、モノリシックコードベースは統合が簡単である。異なる構成要素に対する変更やコンポーネント間のコードのリファクタリングを容易かつアトミックに行うことができる。そして全体のコードベースを横断した操作が可能であるが、より大きなリポジトリが必要となる。
個別のコードベースまたは分散コードベースは、個々のリポジトリをより小さく、より管理しやすくし、コンポーネント間の分離が可能になる。一方、コードベース間の統合(またはメインリポジトリとの統合)が必要になり、複数のコードベースにまたがる変更を複雑にする。
標準に関して、複数のコードベースが「別個」であるとは、ソースコードの共有がない独立した実装であり、歴史的に、これらの実装は共通のプロジェクトから発展しなかったことを意味する特定の標準を実装する2つの独立したソフトウェアにより、相互運用性を実証することができる。