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 (6ae9158d019f8075b0e0cb5b5b18a783b3a10fbf) (3,907B) (mode 100644) [raw]
"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","No","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, push will 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","Yes","No","?","No","No","Yes"
"OpenSSH nice info about the keys","Yes","No","?","No","No","?"
"LDAP user authentication","No","Yes","?","No","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","?","?","?"
"Wiki","No","Yes","Yes","n/a","?","?"
"Resource usage {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?","?"
,,,,,,
"[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","32/90","67/96","n/a","54/67","32/72"
"Page speed: Desktop",96,"?",81,"n/a",64,26
"CSS size","9KiB","250KiB","560KiB","n/a","130KiB","520KiB"
"JS size","0KiB","1170KiB","670KiB","n/a","450KiB","350KiB"
,,,,,,
"[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",,,,,
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