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 (77a327099015419dca440728067f71b107849330) (2,086B) (mode 100644) [raw]
Features / Product,RocketGit,Gitlab CE,GitHub,gitolite,Pagure.io
[Legal],,,,,
License,Affero GPLv3+/#0f0,MIT/#0f0,Proprietary/#f00,GPLv2/#0f0,GPLv2 or later/#0f0
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)/#0f0",C/#f00,F/#f00,?,A?/#0f0
,,,,,
[Features],,,,,
Easy installation,Yes,No,Yes?,Yes,Yes
SELinux policy,Yes,No,?,not needed/#0f0,?
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/#0f0,Redis/0f0,memcache/#0f0,n/a,Redis/#0f0
Database,PostgreSQL,My/PostgresSQL,MySQL,?,MySQL/MariaDB/PostgreSQL/SQLite/#0f0
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,,,,
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