Features / Product | RocketGit | Gitlab CE | GitHub | gitolite | Pagure.io |
Legal |
License | Affero GPLv3+ | MIT | Proprietary | GPLv2 | GPLv2 or later |
Developers keep copyright when contributing (see 1) | Yes | No | No | Yes | Yes |
GNU Ethical Repository Criteria Evaluations (see 4) | A (-A4, +A+0, +A+1, +A+2, +A+5) | C | F | ? | A? |
|
Features |
Easy installation | Yes | No | Yes? | Yes | Yes |
SELinux policy | Yes | No | ? | not needed | ? |
Distro friendly | Yes | No (see 2) | No (see 2) | Yes | Yes? |
Bug tracker | Yes | Yes | Yes | No | Yes |
CLI commands (SSH) | Yes | ? | ? | ? | ? |
API | Yes | Yes | Yes | ? | Yes |
Anonymous push | Yes | No | No | No? | No |
Languages available | 1 | ? | ? | 1 | ? |
IPv6 | Yes | ? | ? | Yes | Yes |
Submodules | ? | ? | ? | ? | ? |
Usable with lynx | Yes | Yes | Yes | n/a | Yes |
2fa (two-factor authentication) | Yes | Yes | Yes (see 3) | ? | No |
Web Hooks | Yes | Yes | Yes | No | Yes |
Web Hooks - provide client certs | Yes | No | No | n/a | ? |
Web Hooks - authenticate server (CA cert) | Yes | No | No | n/a | ? |
OpenSSH AuthorizedKeysCommand | Yes | Yes | Yes | ? | No |
OpenSSH filter by key type and bits | Yes | No | ? | No | No |
OpenSSH nice info about the keys | Yes | No | ? | No | No |
LDAP user authentication | No | Yes | ? | ? | ? |
Git LFS | No | Yes | ? | ? | ? |
Lock repo with a message | Yes | ? | ? | ? | ? |
Continuous integration | Yes | Yes | ? | ? | ? |
|
Rights |
Path control | Yes | No | ? | Yes | Yes |
Refs control | Yes | Yes | ? | ? | Yes |
IP control | Yes | No | ? | ? | Yes? |
|
Details |
Language | PHP | Ruby+Perl | Ruby | Perl | Python |
Cache | Custom | Redis/0f0 | memcache | n/a | Redis |
Database | PostgreSQL | My/PostgresSQL | MySQL | ? | MySQL/MariaDB/PostgreSQL/SQLite |
Webserver | Apache | apache/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 |