"[Legal]","RocketGit","Gitlab CE","GitHub","gitolite","Pagure.io","Gogs.io","Phabricator" "License {Proprietary are bad. The ones allowing code to be made proprietary are not so good.}","Affero GPLv3+/#good","MIT/#agood","Proprietary/#bad","GPLv2/#good","GPLv2 or later/#good","MIT/#agood","Apache 2.0/#agood" "Business model","Support and sponsors/#good","Open core/#bad","Monthly fee/#bad","n/a","n/a","n/a","?" "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","Yes?","n/a/#bad","Yes","Yes","Yes?","?" "GNU Ethical Repository Criteria Evaluations ([[link https://www.gnu.org/software/repo-criteria.html]])","A (-A4, +A+0, +A+1, +A+2, +A+5)/#good","C/#bad","F/#bad","?","A?/#good","?","?" ,,,,,,, "[Features]","RocketGit","Gitlab CE","GitHub","gitolite","Pagure.io","Gogs.io","Phabricator" "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/#good","?","?","?" "Distro friendly {Is a 'yum/dnf/apt-get/etc. update' 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","?","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","?","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","Yes","?","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","Yes","Yes","?","No","No","Yes","?" "LDAP groups","No","Yes","?","?","?","?","?" "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","?","?","?","Yes" "Wiki","No","Yes","Yes","n/a","?","?","?" "User custom pages","No","Yes","Yes","n/a","?","?","?" "Artifacts","Yes","Yes","Yes","?","?","?","?" "System resource friendly? {Is it light on CPU/memory/disk?}","Yes","No","?","Yes","?","?","?" ,,,,,,, "[Rights]","RocketGit","Gitlab CE","GitHub","gitolite","Pagure.io","Gogs.io","Phabricator" "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]","RocketGit","Gitlab CE","GitHub","gitolite","Pagure.io","Gogs.io","Phabricator" "KVM image available?","Yes","?","?","not needed/#good","?","?","No" "VirtualBox image available?","Yes","?","?","not needed/#good","?","?","No" "VMWare image available?","Yes","?","?","not needed/#good","?","?","No" "Docker container available?","Yes","Yes","?","?","?","?","No" ,,,,,,, "[Details]","RocketGit","Gitlab CE","GitHub","gitolite","Pagure.io","Gogs.io","Phabricator" "Language","PHP","Ruby+Perl","Ruby","Perl","Python","Go","PHP" "Number of code lines {JavaScript not included}","38k","360k","?","?","80k","520k","?" "Cache","Custom","Redis","memcache","n/a","Redis","Custom/Redis/memcache","?" "Database","PostgreSQL","MySQL/PostgresSQL","MySQL","?","MySQL/MariaDB/PostgreSQL/SQLite","PostgreSQL/MySQL/SQLite","MySQL" "Webserver","nginx/apache","apache/nginx","?","n/a","n/a","apache/nginx/lighttpd","apache/nginx" "Size of the rpm package","500KiB/#good","287MiB/#bad","?","170KiB/#good","?","?","?" "Page speed: Mobile {Home page was tested}","100/#good","14/#bad","60/#bad","n/a","69/#bad","28/#bad","98/#good" "Page speed: Desktop {Home page was tested}","100/#good","56/#bad","97/#good","n/a","86/#agood","82/#agood","99/#good" "CSS size","9KiB/#good","415KiB/#bad","770KiB/#bad","n/a","130KiB/#good","520KiB/#bad","95KiB/#good" "JS size","0KiB/#good","3000KiB/#bad","655KiB/#bad","n/a","450KiB/#bad","350KiB/#bad","52KiB/#good" "Runtime memory footprint","~160MiB/#good","?","?","~10MiB/#good","?","?","?" ,,,,,,, "[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?",,,,,,