Because I thought it was worth putting somewhere more public and permanent than a Mastodon post. If you already know the deal, skip to the recipe.
So, git is currently the predominant version control system—software that lets you easily keep track of changes to files, make different versions of a project, easily incorporate other people’s changes, and so on. It’s basically a must for computer programmers. (Still mystified? Check out Julia Evans’ zine How Git Works for more.)
There are also various web-based platforms/interfaces, called “forges”, built on top of git that allow you to put your code online so people can easily look at it, copy or download it, make their own changes, file bug reports, and more. And because a website is just a bunch of code you put online, some platforms have built-in web servers so you can use them as a free website host, too.
The biggest is GitHub.com, owned by Microsoft since 2018; for many programmers, their GitHub account is basically like an artist’s portfolio. Other major ones are GitLab.com, Bitbucket.org, and SourceForge.net. All of these are owned by for-profit companies that also own and develop the software the sites run on, and they are all problematic to some degree:
- GitHub.com: owned by Microsoft, has a big contract with ICE (archive), pushing its LLM into everything.
-
GitLab.com: founder now sucking up to Elon Musk (archive).
-
Gitea.com: once considered the leading alternative, Gitea went from community-run to for-profit, a move which a lot of people dislike.
And all of them are based in the US, which many people are now trying to avoid.
So, just like Twitter, Facebook, Google, Amazon, etc., it’s another situation where it’s awfully convenient if everyone on the planet has a (conveniently free) account on the same website, and then the giant for-profit company that runs the website starts getting really evil. But if you are willing to give up that convenience, you have options!
There are basically two categories of alternatives:
- free sites other people run
- a site you run (free if it’s literally your computer, paid if you’re renting a computer from someone else)
All the sites and organizations below are based in Europe, as far as I know.
Alternatives
Other people’s sites
- Codeberg.org is run by a non-profit that also develops Forgejo, the software it runs on. (Forgejo began as a fork of Gitea when Gitea changed from a community-run model to a for-profit company.) This is where I’ve ended up putting my stuff.
-
There are more Forgejo sites you can join, including git.gay, run by a collective of queers from the fediverse.
-
Sourcehut.org is only six years old, but you could be excused for thinking it’s much older due to its bare-bones design. Its UI makes me break into hives. It’s more designed to be used via email, not the web. But hey, if that turns your crank, go for it.
The software that Gitea.com and GitLab.com run on, developed by the respective companies that own them, is free for people to download and run on their own servers. Some people want to avoid Gitea and GitLab products entirely, out of principle. But if you’re okay with the software as long as it’s not hosted by them, only developed by them:
- Framagit.org is a GitLab server hosted by Framasoft.
-
git.autonomic.zone and git.coopcloud.tech are co-operatively-run Gitea servers.
Your site
If you have a spare computer you can leave hooked up to a reliable Internet connection, there are free platforms you can install that make it really easy to add and host your own web apps/services. It does mean that if the computer breaks or your Internet goes down, your site goes down. And you have to remember to keep the base platform up-to-date. But if it’s just for you and maybe a couple friends, it’s not super critical, and you’re okay with the added responsibility, you can totally just have your own free git server. And while explaining this fully is beyond the scope of this post, due to the distributed nature of git you can still keep mirrors, backups, or other versions of your code on other sites as well.
- Yunohost offers Forgejo, Gogs, Gitea, and GitLab. You can request a free subdomain name so it’s easy to reach from anywhere.
-
Sandstorm has git’s built-in server GitWeb, Gogs, and GitLab. You get a free subdomain name here, too.
You can also rent a computer from someone else, a. k. a. a virtual private server (VPS), and install the platforms there instead. There are lots of VPS providers and which to choose is a whole other post. There are also slightly different models:
- PikaPods is very cheap per-app paid hosting and has Gitea.
If anyone knows about more sites or platforms to add, let me know! Remember, the criteria are:
- based outside the US
- free or cheap
- a platform that isn’t GitLab or Gitea is a plus
Thanks for putting this list together ! Anything that reminds people there are alternatives to GitHub is very very welcome indeed! \o/
I just wanted to add Radicle ( https://radicle.xyz/ ) to this list.
Where Radicle differs from the other forges is that rather than a self-hosted instance, it is a peer-to-peer network and it’s somewhat similar to torrents, but instead of seeding torrents, you seed git repositories.
This means there is no need to create one account for each self-hosted instance you want to log onto, rather there is a single global network of all the code being hosted there. This makes it – in my opinion – a better fit for hosting a public good such as the world’s Open Source Software.
Disclaimer: I work on Radicle. This is clearly not an unbiased opinion. ;)
Please add https://sr.ht/ to your list. It’s built mainly by Drew DeWalt, a well-known OSS fugure, and collaborators. Based in Netherlands. It offers git, hg, mailing lists, a service like GitHub pages, a service like GitHub Actions. Rather different from gitea etc. Open source, self-hostable,etc.
Not 100% free if you use their hosting, but, well, bandwidth is not free nowadays.
I did! It’s there as “Sourcehut” (I thought it best to use its full name).