Git hosting solutions comparison
Features / ProductRocketGitGitlab CEGitHubgitolitePagure.io
Legal
LicenseAffero GPLv3+MITProprietaryGPLv2GPLv2 or later
Developers keep copyright when contributing (see 1)YesNoNoYesYes
GNU Ethical Repository Criteria Evaluations (see 4)A (-A4, +A+0, +A+1, +A+2, +A+5)CF?A?
 
Features
Easy installationYesNoYes?YesYes
SELinux policyYesNo?not needed?
Distro friendlyYesNo (see 2)No (see 2)YesYes?
Bug trackerYesYesYesNoYes
CLI commands (SSH)Yes????
APIYesYesYes?Yes
Anonymous pushYesNoNoNo?No
Languages available1??1?
IPv6Yes??YesYes
Submodules?????
Usable with lynxYesYesYesn/aYes
2fa (two-factor authentication)YesYesYes (see 3)?No
Web HooksYesYesYesNoYes
Web Hooks - provide client certsYesNoNon/a?
Web Hooks - authenticate server (CA cert)YesNoNon/a?
OpenSSH AuthorizedKeysCommandYesYesYes?No
OpenSSH filter by key type and bitsYesNo?NoNo
OpenSSH nice info about the keysYesNo?NoNo
LDAP user authenticationNoYes???
Git LFSNoYes???
Lock repo with a messageYes????
Continuous integrationYesYes???
 
Rights
Path controlYesNo?YesYes
Refs controlYesYes??Yes
IP controlYesNo??Yes?
 
Details
LanguagePHPRuby+PerlRubyPerlPython
CacheCustomRedis/0f0memcachen/aRedis
DatabasePostgreSQLMy/PostgresSQLMySQL?MySQL/MariaDB/PostgreSQL/SQLite
WebserverApacheapache/nginx??n/a
 
Notes
1) This is about contributing to the Git hosting project, not about projects hosted inside. Signing a Contributor Licence Agreement (CLA) is very bad for free software.
2) It has a not standard package manager; upgrading distro does not update the git software (pip, gem etc.). Or is a big archive including packages already found in the distribution.
3) Seems is not really secure: if key is leaking, the attacker can push.
4) Repo criteria by GNU: https://www.gnu.org/software/repo-criteria.html