6 Github alternatives that are open source and self-hosted

Posted on in Categories Open Source last updated June 6, 2018

Git is a version control system. Linus Torvalds created Git in 2005 for development of the Linux kernel. Git is mainly used for software source code management. However, it can be used to keep track of any set of files such as HTML or CSS or a tutorial written in the markup language. Git is a Distributed Version Control Systems. A dedicated Git server helps to manage access control, show contents of a Git repository via the web and manage multiple repositories. In a Git, clients do not just check out the latest snapshots of the files. They entirely mirror the repository including history.

Microsoft to acquire Github

It is official now. Microsoft announced an agreement to acquire GitHub, the world’s leading software development platform. I think it is a wake-up call for open source projects. So much of open source code hosted on Github. I twitted this other day:


Some of us working in IT for a long time. We have not forgotten big evil Microsoft. Microsoft is the same company that was behind the SCO Lawsuit against Linux and called open source cancer. It actively follows a policy of Embrace, Extend, Extinguish. Microsoft is also known for its abuse of patents (see Netscape and Microsoft is generating $2 billion per year in revenue from Android patent royalties) and the recent Windows 10 Telemetry privacy issues. The list is endless. One should be a cautious trusting company that has a strong history of abuse towards open source communities and Linux operating system. Hence, installing your Git server is the best policy.
Open Source GitHub Alternatives

Various implementations of Git and Github alternatives

There is a number of implementations of Git server:

  1. Proprietory (e.g. Bitbucket)
  2. Git as service (e.g. GitHub)
  3. Open source (e.g. gitolite, Gerrit)

Let us see six open source Github alternatives that you can host on your own server.

1. GitLab – a web-based Git-repository manager with wiki, issue-tracking features and more

GitLab is a free, open source and a web-based Git-repository manager software. It has a wiki, issue tracking, and other features. The code was originally written in Ruby, with some parts later rewritten in Golang. GitLab Community Edition (CE) is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab CE on your own servers, in a container, or on a cloud provider.

GitLab is Github alternative self hosted open source software
Manager: GitLab B.V. Netherlands.
Server side free software: Partial [GitLab Community Edition (CE)]
Client side free software: Yes
Code review: Yes
Bug tracking: Yes
Web hosting: Yes
Wiki: Yes
Private branch: Yes
Personal branch: Yes
Build system: Yes
Release binary: Yes
Self hosting: Yes
Version control system: Git
License: MIT Expat
Commercial support: Yes
Operating system/stack support: Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby, Redis, PostgreSQL/MySQL, and Git
Download: https://gitlab.com/gitlab-org/gitlab-ce

2. Gitea – Git with a cup of tea

It is a painless self-hosted Git service. Gitea is a community fork of Gogs software. It is lightweight code hosting solution written in Golang and released under the MIT license. It works on Windows, macOS, Linux, ARM and more.

Gita Github alternatives open source and self hosted software
Manager: The Gitea Authors.
Server side free software: Yes
Client side free software: Yes
Code review: Yes
Bug tracking: Yes
Web hosting: Yes
Wiki: Yes
Private branch: Yes
Personal branch: Yes
Build system: No
Release binary: No
Self hosting: Yes
Version control system: Git
License: MIT
Commercial support: N/A
Operating system/stack support: Linux/Unix/Windows (anything that can run Golang), PostgreSQL/MySQL database
Download: https://gitea.io

3. GNU Savannah

GNU Savannah is a free and open source software from the Free Software Foundation. It currently offers CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, mailing list, web hosting, file hosting, and bug tracking services. However, this software is not for new users. It takes a little time to setup and masters everything about it.

GNU Savannah Self Hosted Github alternatives
Manager: Free Software Foundation, Inc. .
Server side free software: Yes
Client side free software: Yes
Code review: Yes
Bug tracking: Yes
Web hosting: Yes
Wiki: No
Private branch: No
Personal branch: No
Build system: No
Release binary: N/A
Self hosting: Yes
Version control system: Git, CVS, HG, SVN, BZR
License: MIT Expat
Commercial support: Yes
Operating system/stack support: Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby, Redis, PostgreSQL/MySQL, and Git
Download: http://savannah.gnu.org/projects/administration

4. GitBucket – Open source GitHub clone written with Scala

Gitbucket is a Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility. It provides GitHub like user interface (UI) and features such as Git repository hosting via HTTP/HTTPS and SSH, repository viewer, issues, wiki and pull request.

GitBicket Github Alternatives Open Source Software
Manager: The Gogs Authors.
Server side free software: Yes
Client side free software: Yes
Code review: Unknown
Bug tracking: Unknown
Web hosting: Yes
Wiki: Yes
Private branch: Yes
Personal branch: Unknown
Build system: No
Release binary: No
Self hosting: Yes
Version control system: Git
License: Apache License 2.0
Commercial support: Unknown
Operating system/stack support: Java 8 (Linux/Unix/Windows)
Download: https://github.com/gitbucket/gitbucket

5. Gogs – A painless self-hosted Git service

The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done with an independent binary distribution across ALL platforms that Go supports, including Linux, Mac OS X, Windows and ARM.

Googs Github Alternatives Open Source Software
Manager: The Gogs Authors.
Server side free software: Yes
Client side free software: Yes
Code review: Yes
Bug tracking: Yes
Web hosting: Yes
Wiki: Yes
Private branch: Yes
Personal branch: Yes
Build system: No
Release binary: No
Self hosting: Yes
Version control system: Git
License: MIT
Commercial support: N/A
Operating system/stack support: Linux/Unix/Windows (anything that can run Golang), MySQL/PostgreSQL/MSSQL/TiDB database
Download: https://gogs.io/

6. Other Github alternatives options

Here are few more alternatives to GitHub for all platforms with Open Source License:

GitPrep

It is Github clone. You can install portable github system into unix/linux. You can create users and repositories without limitation. This is free software.

Kallithea

Kallithea, a member project of Software Freedom Conservancy, is a GPLv3’d, Free Software source code management system that supports two leading version control systems, Mercurial and Git, and has a web interface that is easy to use for users and admins. You can install Kallithea on your own server and host repositories for the version control system of your choice.

TuleapL

Tuleap is a project management system for managing application lifecycles, Agile development and design projects, V-model, Requirement Management, IT Services Management, and so on. Tuleap integrates forge system functionalities that enables teams to manage software sources (using Subversion, Git or CVS); share technical or project documentations; track bugs; consolidate communications with customers, developers or third parties.

Phabricator

Phabricator is a collection of web applications which help software companies build better software. It is a set of tools for developing software. It includes applications for code review, repository hosting, git, bug tracking, project management, and more.

Conclusion

And there you have it, six Github alternatives that you can host on your Linux or Unix server. No need to depend on the cloud or worry about Microsoft looking into your codebase. If I miss any other well know the FOSS-based Git server, please add in the comments section below.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 1 comments/add one below):

Join the discussion at www.nixcraft.com