Difference between Github, Gitlab, Forgejo ?
-
Github is basically the devil. In its current incarnation it only exists to steal the IP of programmers and lock it up in proprietary AI services controlled by Microsoft. It dominates for the same reason Facebook or Youtube dominate. It is the only platform normies know and it benefits from massive network effects. It is US owned and operated so most people outside the US except for Russia probably should consider boycotting it. Github is a proprietary platform. I believe it was originally mostly Ruby but they have likely replaced all the performance bottlenecks using other languages. I think their site is a usability nightmare.
Forejo is a fork of Gitea by Codeberg, a community run non-profit from Germany (still a liberal democracy under the rule of law) and hosted in Europe. They provide free hosting for open source projects or it is easy to self host. Gitea was a fork of Gogs. It is written in the Go language and it requires a single exe, a config file and an sql database to run making it very easy to self host even without containers.
Gitlab is a service like Github or Codeberg that can also be self hosted but it is written in Ruby, a slow and inefficient interpreted language, which like Javascript or Python has lots of crazy fragile run time dependencies. The open source project was originally a work of Dutch and Ukrainian programmers and it was a Dutch company but they took VC money and IPOed and I don't know that I would assume it is European controlled. Some open source projects like Gnome moved there as it was the main alternative to Github. Can't recommend vs Gitea/Foejo for self hosting.
For single developers, small groups, arguably all you really need is git and email if you don't need or want all the extra fluff. That can work even for large projects like the Linux kernel. Sites like github tend to serve as single points of contact for lots of projects. It is they front page, issue tracker, everything. It has Facebook-ized the code ecosystem.
-
GitHub
GitHub can selfhost, but only on enterprise. Quite a few large companies have their own just to limit what code can get out.
-
Github: Microsoft code hosting site that feeds all your code through AI training and tries to lock you in through their pull request and related machinery. Once used a motto like "social coding", but let go of that when they realized Facebook for nerds didn't sound that great. Software is mostly proprietary besides Git itself.
Gitlab: 1) a Github competitor (code hosting site with somewhat similar features; 2) the software for that site, huge and bloaty and slow, written with Ruby on Rails.
Forgejo: Git front end software, fork of Gitea and/or Gogs. Small and fast and written in Go. Fewer features than Github or Gitlab. If you want to self-host, I'd use this or some variant.
Gitweb: comes with git, pretty rudimentary but has old school attractiveness at least for me. Really just a browsing interface. No pull requests or anything like that.
Fossil: amazingly small and fast alternative to all the above (fossil-scm.org) but uses its own VCS (Fossil) that doesn't interoperate with Git. I think the author said he might convert it over sometime. It's written in C! Uses sqlite as repo backend instead of the file system like git uses. Has built in wiki, bug tracking, documentation viewer, etc. and used about 2MB of ram last time I tried it, ridiculously small (Gogs used around 40MB and Gitlab uses gigabytes).
Sourceforge (sf.net), very old school code hosting site, not of much relevance any more. They released an old old version of the software a long time ago and that got forked to become Savannah.
Savannah (savannah.gnu.org) hosting site for GNU and related software. Also savannah.nongnu.org for non-GNU stuff in the same spirit. I don't know the exact criteria for putting stuff on nongnu but I think it's on a project-approval basis, rather than letting everyone upload whatever they want.
Darcs (darcs.net), another alternative to git, better in some ways, written in Haskell, lost most of its users after a self-inflicted footbullet around 5y ago. There was a hosting site (darcsweb?) for it but that looks to be gone now.
There are a few more of them too, none of much importance these days even though some were interesting.
-
Others are posting the well written explanations, so I’ll make the short comparisons.
GitHub is like Reddit is to Lemmy. It’s the main player in source code hosting, proprietary and centralized to the profits and whims of Microsoft. But for that cost, you can easily bet a project you are looking for has a presence there, and it’s easier for a dev to pop from project to project with one account and identity.
The others are like Lemmy, meant for hosting your own GitHub-like website with all the bells and whistles on top of the standard Git codeshare. There’s a lot of feature parity, though some softwares have more than others. But it comes at the cost of obscurity, Codeberg is a big player but any instance you find is isolated, and any devs you entice to help you need to register additional accounts personal to that instance. And the hosting costs are on you, it can all vanish with an unpaid domain/server bill unlike the central giant of GitHub.
-
Another "Differences in Linux" question
Dafuq does a comparison of git hosting services got to do with Linux?
-
It isn't relevant to the Linux kernel at all. Even though Torvalds wrote git to support Linux development they operate on a different development model (email, patch sets etc). It is very relevant to the wider ecosystem (Linux distro vs Linux kernel). Most open source software development is hosted on one of these platforms and even non-developers sometimes need to interact with them. Anyone starting a project or looking to share it finds themselves asking the same questions.
I prefer this sort of engagement farming question to the ones asking which laptop to buy or which distro or desktop environment is best. Though I increasingly feel like I am filling out a captcha every time I answer such a question. It feels like something any reasonably competent human could discover trivially hitting a small number of websites and reading.
-
Why is no one mentioning the Chinese open source one? Gitee? Genuinely asking.
-
You mean Gitea? Forgejo is a fork from it, maintained by a non-profit.
-
But it comes at the cost of obscurity, Codeberg is a big player but any instance you find is isolated, and any devs you entice to help you need to register additional accounts personal to that instance.
It should be noted that Forgejo is working on implementing federation using ForgeFed, which is based on ActivityPub.
-
A lot of people discover Linux and open source software at the same time, so it's in the same ballpark.
-
First time I heard of Gitee, I don't think it's that popular. Also, their website appears to be in Chinese only.
Gitea on the other hand is pretty popular, but after some controversial decisions, Forgejo was born and it started getting a lot of traction.
-
Windows people don't even know what git is, let alone version control.
-
Don't use github/gitlab for small private repositories! use codeberg.org if you are not a developer. If you are in need for a big more jazz and looking at self-hosting go for forgejo.
-
IIRC it's just a clone of Gitea. Default interface is Chinese. Why would a non chinese person go there when Codeberg and Forgejo is available in English?
-
GitHub is a company owned by Microsoft. They allow you to host git repositories there (a git forge) and they use your code to train their AI.
GitLab is another git forge, you can also host your code there. I think it was also bought off.
Forgejo is git forge software. If you want to use a git forge that relies on Forgejo, checkout CodeBerg.
<rant>
All of these tend to offer not only a git forge but also other crap like tickets and CI/CD in what i personally see as feature creep.</rant>
-
Just adding that GitLab self-host is an absolute nightmare, if anything goes wrong you are done. They include database in their 'package', so you have limited options.
Also GitHub is usually used to distribute dependencies, so if your package gets downloaded 1M+ times, you don't have to pay for the traffic.
-
Uses sqlite as repo backend
And it's used by the SQLite project.
-
This answer is probably the best here. It's concise and answers your questions in a reasonably unbiased way.
A lot of the other answers are dripping with personal bias and a few verging on conspiracy.
-
Didn’t realize it was a clone
-
private
Just make sure to read their FAQ