"Features / Product","RocketGit","Gitlab CE","GitHub","gitolite","Pagure.io","Gogs.io" "[Legal]",,,,,, "License","Affero GPLv3+/#0f0","MIT/#0f0","Proprietary/#f00","GPLv2/#0f0","GPLv2 or later/#0f0","MIT/#0f0" "Developers keep copyright when contributing {This is about contributing to the Git hosting project, not about projects hosted inside. Signing/agreeing a Contributor Licence Agreement (CLA) is very bad for free software.}","Yes","No","n/a/#f00","Yes","Yes","?" "GNU Ethical Repository Criteria Evaluations (see 3)","A (-A4, +A+0, +A+1, +A+2, +A+5)/#0f0","C/#f00","F/#f00","?","A?/#0f0","?" ,,,,,, "[Features]",,,,,, "Easy installation {How easy can you install the software on your server?}","Yes","Yes","Yes?","Yes","Yes","Yes" "SELinux policy {SELinux is an application firewall used to improve the security}","Yes","No","?","not needed/#0f0","?","?" "Distro friendly {Is a 'yum/dnf/apt-get/etc. update' is enough to update the software? Is it free of a inner package manager?}","Yes","No (see 1)","No (see 1)","Yes","Yes?","Yes?" "Bug tracker","Yes","Yes","Yes","No","Yes","?" "CLI commands (SSH) {Allow SSH commands to show the list of repositories show a repo status etc.}","Yes","No","?","?","?","?" "API","Yes","Yes","Yes","?","Yes","?" "Anonymous push {With no user created, clone, make changes, will push result in a merge request, making it super easy to contribute to a project?}","Yes","No","No","No?","No","?" "Languages available (i18n)",1,"?","?",1,"?",14 "IPv6","Yes","Yes","?","Yes","Yes","?" "Submodules {Are Git submodules supported?}","?","?","?","?","?","?" "Usable with lynx","Yes","Yes","Yes","n/a","Yes","Yes" "2fa (two-factor authentication)","Yes","Yes","Yes (see 2)","Yes","No","?" "Web Hooks","Yes","Yes","Yes","No","Yes","Yes" "Web Hooks - provide client certs","Yes","No","No","n/a","?","No" "Web Hooks - authenticate server (CA cert)","Yes","No","No","n/a","?","No" "OpenSSH AuthorizedKeysCommand","Yes","Yes","Yes","?","No","?" "OpenSSH filter by key type and bits {Can it disable the keys based on types and number of bits?}","Yes","No","?","No","No","Yes" "Detailed info about the SSH keys {Can it show: type, number of bits, when it was uploaded, when it was first/last used, how many times was used and last command?}","Yes","No","?","No","No","?" "LDAP user authentication","No","Yes","?","No","No","Yes" "LDAP groups","No","?","?","?","?","?" "PAM user authentication","No","?","?","?","?","Yes" "Git LFS","No","Yes","Yes","Yes","No","No" "Lock repo with a message","Yes","?","?","?","?","?" "Continuous integration","Yes","Yes","?","?","?","?" "Code review","No","Yes","Yes","?","?","?" "Wiki","No","Yes","Yes","n/a","?","?" "System resource friendly? {Is it light on CPU/memory/disk?}","Yes","No","?","Yes","?","?" ,,,,,, "[Rights]",,,,,, "Path control {Can it control which files are pushed with some regex?}","Yes","No","?","Yes","Yes","?" "Refs control {Can it control with a regex what branches you fetch/push?}","Yes","Yes","?","?","Yes","?" "IP control {Can it control from what IPs you can fetch/push?}","Yes","No","?","?","Yes?","?" ,,,,,, "[Product distribution/evaluation]",,,,,, "KVM image available?","Yes","?","?","not needed/#0f0","?","?" "VirtualBox image available?","Yes","?","?","not needed/#0f0","?","?" "VMWare image available?","Yes","?","?","not needed/#0f0","?","?" "Docker container available?","Yes","?","?","?","?","?" ,,,,,, "[Details]",,,,,, "Language","PHP","Ruby+Perl","Ruby","Perl","Python","Go" "Cache","Custom","Redis","memcache","n/a","Redis","Custom/Redis/memcache" "Database","PostgreSQL","My/PostgresSQL","MySQL","?","MySQL/MariaDB/PostgreSQL/SQLite","PostgreSQL/MySQL/SQLite" "Webserver","apache","apache/nginx","?","?","n/a","apache/nginx/lighttpd" "Size of the rpm package","380KiB/#0f0","287MiB/#f00","?","170KiB/#0f0","?","?" "Page speed: Mobile (speed/user experience)","90/96/#0f0","32/90/#f00","67/96/#f00","n/a","54/67/#f00","32/72/#f00" "Page speed: Desktop","96/#0f0","?","81/#0f0","n/a","64/#f00","26/#f00" "CSS size","9KiB/#0f0","250KiB/#f00","560KiB/#f00","n/a","130KiB/#0f0","520KiB/#f00" "JS size","0KiB/#0f0","1170KiB/#f00","670KiB/#f00","n/a","450KiB/#f00","350KiB/#f00" ,,,,,, "[Notes]",,,,,, "*","1) 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.",,,,, "*","2) Seems is not really secure: if key is leaking, the attacker can push.",,,,, "*","3) Repo criteria by GNU: https://www.gnu.org/software/repo-criteria.html",,,,,