This short article covers resources and helps to people who want to quit MS GitHub and move away to a better one --ethical, Free Software-based and user-controlled--. This includes examples of popular projects already moved, alternatives you could choose, self-host solutions, repository transfer guides, our community services, and further information, all presented in short format. In this article of course I mentioned several names like GitLab and Kallithea as alternatives and GNOME and Trisquel projects as examples. I hope this simple article could lighten your burdens in migrating away your source code repository. Happy hacking!
Subscribe to UbuntuBuzz Telegram Channel to get article updates directly.
About This Article
I believe it is needed to help people to leave GitHub especially for those with intention but experienced difficulties. I believe that intention is good and I completely support it. This article is for those people with my good wish and good luck for them.
Story
There were great free software projects already quit GitHub or do not use it before us:
- GNOME Moves to GitLab (2018)
- KDE Adopts GitLab (2019)
- Inkscape Moves to GitLab (2017)
- Drupal Moves to GitLab (2018)
- Reasons in Why Moving from GitHub to GitLab
- Why Projects Moving to GitLab from GitHub after Microsoft's Deal
- FreeBSD, NetBSD, and OpenBSD even do not use git so no GitHub since long time
(NetBSD free operating system is an example of a successful software project which do not use GitHub at all)
Between Software and Service
Read this article to distinguish between these two things. Then you can easily understand things as this article you are reading mentioned names a lot in which requires recognition whether each of them is software or service.
Alternatives You Should Know, and Who Use Them
Talking about software behind GitHub server, there are already many alternatives you can study:
- GitLab Community Edition, used by GNOME and Trisquel GNU/Linux
- Gogs, used by Notabug
- Gitea, used by Codeberg
- Kallithea, used by Software Freedom Conservancy
- sr.ht, the new interesting challenger
- Phabricator, used by Purism and KDE
- Allura, used by Apache Software Foundation
- [more]
Talking about services that resemble GitHub, there are also many alternatives you can sign up to:
- GitLab.com, used by GitLab C.E., Inkscape, and F-Droid
- Framagit, used by PeerTube and Hubzilla
- Codeberg, used by FreeCAD and Gadgetbridge
- Savannah, used by GNU Project and non-GNU projects
- Sourcehut, see Hacker News and this self-review
- Launchpad, used by Ubuntu operating system
- Sourceforge, the biggest before GitHub and used by many such as Scribus, 7-Zip and XAMPP
- OSDN, new challenger and used by MinGW and Manjaro
- Notabug, used by Trisquel
- Tuxfamily, since 1999 serving projects adhere to software freedom
- [more]
Continue using online service
This is you first choice. This means simply replacing GitHub with another existing GitHub-like alternative. It is okay if the online service is trustworthy, so that you do build your own server, which in turn time-saving and cost-saving and effort-saving. However, by replacing here I mean either fully or partially, as a migration is sometimes can be done completely (delete GitHub), and sometimes else can be done bit by bit (no delete GitHub). If you feel difficult to choose one among choices above, I suggest you to start signing up on Codeberg.org.
(Left: a repository in Codeberg: Invidition | Right: a repository in Savannah: GNU C Library)
Host your own GitHub-like server
This is your second choice. Big free software projects do self-hosting, for example, GNU and Debian and KDE. If you prefer this, you must saw how important independence is. If you wish to do so, there are plenty things you could choose to do starting with the easiest one:
- Freedombone - a compact GNU/Linux OS with Gogs.
- Turnkey - similar to Freedombone with GitLab Community Edition: install this and you get a working GitLab.
- GitStorage - a portable mini-computer with GNU/Linux OS inside that serves GitHub-like functionality.
- Cloudron - this is a self-hosting helper, install this easily to your blank server and then install easily a GitHub-like software such as GitLab in reliable and automatic ways. Try the awesome demo first.
- Gogs Self-Host Guide - follow this to install a local Gogs server.
- Gitea Self-Host Guide - to build your own Gitea instance.
- Phabricator Self-Host Guide - to built your own Phabricator instance.
- GitLab Self-Host Guide - to built your own GitLab instance.
(Left: a complete GitLab instance: Trisquel GNU/Linux | Right: a complete Phabricator instance: PureOS from Purism)
(With Cloudron, it is easy to setup and manage many server applications like GitLab and Nextcloud in your server)
(The software is freely licensed here, and the service (the App Store where we get apps and updates from) is paid with gratis trial and no credit card required: see DigitalOcean's tutorial)
Friends Help Friends
Fortunately, there are many friends in our Free Software Community right now trying their best to give us trustworthy GitHub-like alternatives. Among them are Librehost and Chatons communities and alike. These are aside from those name mentioned above. This kind of solidarity is unique to our community only, I am sure. All in all, they even give these services for free. See them below:
I wish you dear readers would love to help me spread this info to people.
Transferring
You will need these tutorials in order to quickly copy your source code repository away from GitHub to other alternatives:
More Resources
You have many friends! I am not alone in making this kind of articles to support you as there were many people already caring with better (a lot better) ways like below:
- [Cybercity] 6 Github alternatives - a good looking article conveying GitLab etc.
- [Tecmint] Migrating from GitHub to GitLab
- [Marhee] Migrating from GitHub to Gitea
- [Jan-Piet] Mirroring GitHub to Gitea
- [Jonas ]Complete Migration from GitHub to Gitea
Why Quitting?
To sum them up, as far as I know it is because of the software is proprietary --not controlled by the user-- and the service itself is now owned by Microsoft --proprietary software company that is the biggest opponent to software freedom--. There are possible many other technical reasons. However, GitHub is very popular and the discussions about quitting it are visible in many places on the internet:
- [Reddit] Microsoft Acquires GitHub in 2018
- [VICE] 13000 projects moved in one day from GitHub to GitLab
- [Reddit] After GitHub, Microsoft Acquired NPM JavaScript Platform in 2020
- [Techrights] Dr. Roy's summary of MS GitHub's problem over free software community
Further Readings
- Comparison of source code hosting facilities (Wikipedia)
- An Important Lesson from Kallithea's Birth
- FSF Ethical Source Code Hosting Criteria and The Evaluation
This article is licensed under CC BY-SA 3.0.