Source Code Hosting

Christian Külker

0.1.2

2024-02-12

Introduction

Source code hosting is a fundamental service that organizations and projects must consider for effective management. While some newer Version Control Systems (VCS), such as Git, incorporate built-in hosting features, scaling access management often requires source code servers. These servers act as intermediaries between developers and repositories. For VCS like SVN or CVS, centralized source code management was the sole option. However, Git and similar systems are decentralized. Manual management of these distributed repositories becomes overly complex as an organization or project expands. Despite Git’s decentralized nature, most organizations and projects opt for a centralized server infrastructure. The choice between onsite hosting or third-party hosting depends on the organization’s IT infrastructure and the confidentiality of the source code. Third-party hosting often involves platforms like https://github.com, though numerous solutions exist for both third-party and self-hosting as Free Open Source Software (FOSS). This document compiles Free Open Source Software options for hosting source code projects.

*VCS: Version Control Systems

*SVN: Subversion

*CVS: Concurrent Version System

*FOSS: Free Open Source Software

Overview

FOSS VCS

  • Git
  • Subversion (SVN)
  • Mercurial
  • Concurrent Version System (CVS)

FOSS Hosting Software

  • GNU Savannah
  • GitBucket
  • Gitlab
  • Gogs
  • Gitea
  • GitPrep (Github clone)
  • Kallithea [Git, Mercurial] (GPLv3)
  • TuleapL
  • Phabricator [Mercurial]
  • PROPRIETARY + Community edition: RhodeCode [SVN, Git, Mercurial]
  • Gitolite
  • Gerrit
Gitlab Gogs Gitea Gitolite
Fork of Gogs
Written in Go Go
Web interface yes yes no
Database yes yes

Gitlab

Gogs

Databases

  • mysql
  • pq
  • sqlite3
  • mssqldb

Gitea

Databases

  • MySQL (>=5.7)
  • PostgreSQL (>=10)
  • SQLite3
  • MSSQL (>=2008R2 SP3)
  • TiDB (MySQL protocol)

History

Version Date Notes
0.1.2 2024-02-12 Fix acronym definition (not supported by pandoc)
0.1.1 2024-02-04 Add project chapters
0.1.0 2022-06-21 Initial release

  • Source Code Hosting