Schema einer Git Forge: links der Rechner eines Entwicklers mit lokaler Kopie, in der Mitte die Forge mit den Bausteinen Repository, Issues, Pull Request und automatischen Tests, rechts weitere Teammitglieder; Pfeile zeigen den Weg einer Änderung vom lokalen Rechner über die Prüfung bis in die Hauptversion.

Git Forge

Eine Git Forge ist eine Webplattform, auf der Programmierteams ihren Programmcode gemeinsam speichern, Änderungen besprechen und Fehler verwalten. Die bekanntesten Beispiele sind GitHub, GitLab und Codeberg.

Software entsteht selten von einer einzelnen Person. Oft arbeiten Dutzende Leute an denselben Textdateien, die den Programmcode enthalten. Damit dabei nichts verloren geht, benutzen sie Git: ein Programm, das jede Änderung am Code mit Datum und Urheber festhält. Eine Git Forge ist eine Webseite, die dieses Git um alles ergänzt, was Zusammenarbeit braucht. Dort liegt eine gemeinsame Kopie des Codes, dazu Fehlermeldungen, Diskussionen und Rechteverwaltung. Der englische Begriff « forge » heißt Schmiede — gemeint ist die Werkstatt, in der Software geschmiedet wird.

Warum Software heute auf Forges lebt

Vor den Forges tauschten Entwickler Änderungen per E-Mail aus. Wer mitarbeiten wollte, musste Mailinglisten kennen und Dateien von Hand zusammenfügen. Heute reichen ein Browser und ein Konto. Diese niedrige Einstiegshürde ist der Hauptgrund für den Erfolg von quelloffener Software, also Software, deren Code jeder lesen und verändern darf.

Für Unternehmen ist die Forge außerdem ein Gedächtnis. Zu jeder Zeile Code lässt sich nachschlagen, wer sie wann und mit welcher Begründung geschrieben hat. Wenn Jahre später ein Fehler auftaucht, findet man die zugehörige Diskussion wieder. Ohne diese Nachvollziehbarkeit wäre große Software kaum wartbar.

Auch für KI hat das Folgen. Der öffentlich sichtbare Code auf Forges ist das wichtigste Trainingsmaterial für Programmierassistenten. Modelle wie GitHub Copilot haben ihre Fähigkeiten aus Millionen frei zugänglicher Projekte gelernt. Wer eine Forge kontrolliert, sitzt damit auf einem der wertvollsten Datenschätze der Branche.

Repositories, Issues und Merge Requests

Die Grundeinheit einer Forge ist das Repository, kurz Repo. Das ist ein Projektordner samt seiner vollständigen Änderungsgeschichte. Wer mitarbeiten will, lädt sich eine eigene Kopie herunter, arbeitet lokal und schickt seine Änderungen zurück. Die Forge zeigt dann Zeile für Zeile an, was sich geändert hat.

Vorschläge von außen laufen über sogenannte Pull Requests, bei GitLab Merge Requests genannt. Das ist im Kern die Bitte: « Bitte übernimm meine Änderung. » Andere im Team lesen den Vorschlag, kommentieren einzelne Zeilen und fordern Nachbesserungen. Erst danach wird die Änderung in die Hauptversion eingefügt. Dieses Vier-Augen-Prinzip ist der wichtigste Qualitätsfilter in der Softwareentwicklung.

Dazu kommen Issues, also nummerierte Einträge für Fehler und Wünsche. Ein Issue ist Diskussionsfaden und Aufgabenzettel in einem. Viele Forges lassen außerdem bei jeder Änderung automatisch Tests laufen. Schlägt ein Test fehl, wird der Vorschlag rot markiert und nicht übernommen. Diese Automatik nennt man Continuous Integration.

GitHub, GitLab und die Frage der Abhängigkeit

Die größte Forge ist GitHub mit über hundert Millionen Konten. Microsoft kaufte sie 2018 für 7,5 Milliarden Dollar. Die zweite große Plattform ist GitLab, die Firmen auch auf eigenen Servern betreiben können. Kleinere Alternativen wie Codeberg oder Forgejo werden von Vereinen getragen und legen Wert auf Unabhängigkeit.

In den Nachrichten tauchen Forges meist in zwei Zusammenhängen auf. Erstens bei Sicherheitsvorfällen: Wer Zugangsdaten versehentlich in ein öffentliches Repo hochlädt, veröffentlicht sie weltweit. Zweitens bei Streit über Trainingsdaten, weil Entwickler ihren Code nicht ungefragt in KI-Modellen sehen wollen.

Ein häufiger Irrtum ist, Git und GitHub für dasselbe zu halten. Git ist das freie Werkzeug auf dem eigenen Rechner und funktioniert auch ganz ohne Internet. Die Forge ist nur der gemeinsame Treffpunkt darum herum. Man kann jederzeit zu einer anderen Forge umziehen — die gesamte Änderungsgeschichte kommt mit. Kommentare und Issues bleiben dagegen oft zurück, und genau das erzeugt Abhängigkeit.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.