
Git Forge
A Git forge is a web platform where programming teams jointly store their code, discuss changes, and manage bugs. The best-known examples are GitHub, GitLab, and Codeberg.
Software rarely comes from a single person. Often dozens of people work on the same text files that contain the program code. To make sure nothing gets lost in the process, they use Git: a program that records every change to the code along with date and author. A Git forge is a website that adds to this Git everything that collaboration needs. It hosts a shared copy of the code, plus bug reports, discussions, and permission management. The English word “forge” refers to a smithy — the workshop in which software is forged.
Why software today lives on forges
Before forges existed, developers exchanged changes by email. Anyone who wanted to contribute had to know the mailing lists and merge files by hand. Today, a browser and an account are enough. This low barrier to entry is the main reason for the success of open-source software, meaning software whose code anyone is allowed to read and modify.
For companies, the forge is also a memory. For any line of code, one can look up who wrote it, when, and for what reason. If a bug shows up years later, the related discussion can be found again. Without this traceability, large software would hardly be maintainable.
This also has consequences for AI. The publicly visible code on forges is the most important training material for coding assistants. Models like GitHub Copilot learned their abilities from millions of freely accessible projects. Whoever controls a forge thus sits on one of the industry’s most valuable troves of data.
Repositories, issues, and merge requests
The basic unit of a forge is the repository, or repo for short. This is a project folder along with its complete history of changes. Anyone who wants to contribute downloads their own copy, works on it locally, and sends their changes back. The forge then shows, line by line, what has changed.
Proposals from outside go through what are called pull requests, called merge requests on GitLab. At its core, this is a request: “Please accept my change.” Others on the team read the proposal, comment on individual lines, and request revisions. Only after that is the change merged into the main version. This four-eyes principle is the most important quality filter in software development.
In addition, there are issues, i.e., numbered entries for bugs and feature requests. An issue is a discussion thread and a task note in one. Many forges also automatically run tests with every change. If a test fails, the proposal is marked red and not merged. This automation is called continuous integration.
GitHub, GitLab, and the question of dependency
The largest forge is GitHub, with over a hundred million accounts. Microsoft bought it in 2018 for 7.5 billion dollars. The second major platform is GitLab, which companies can also run on their own servers. Smaller alternatives such as Codeberg or Forgejo are run by nonprofit associations and place value on independence.
In the news, forges usually come up in two contexts. First, in security incidents: anyone who accidentally uploads credentials into a public repo publishes them to the entire world. Second, in disputes over training data, because developers don’t want their code to appear in AI models without being asked.
A common misconception is treating Git and GitHub as the same thing. Git is the free tool on one’s own machine and works perfectly well without the internet. The forge is merely the shared meeting point built around it. One can move to a different forge at any time — the entire history of changes comes along. Comments and issues, however, are often left behind, and that is exactly what creates dependency.