xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
<root> / compare.csv (c403f2d1bf9b582026a1b4d42447118acea9bdc7) (5,596B) (mode 100644) [raw]
"[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?",,,,,,
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master