Forgejo vs. Gitea

Forgejo und Gitea sehen fast identisch aus, wenn du sie öffnest. Gleiches Layout, gleicher Arbeitsablauf, weitgehend dieselbe API. Das ist kein Zufall: Forgejo startete im Dezember 2022 als Fork von Gitea und blieb über ein Jahr lang nah am Original.

Die Frage lautet deshalb selten, welches der beiden ein bestimmtes Feature hat. Sondern: von welchem Projekt willst du die nächsten fünf Jahre abhängen? Und das ist eine Frage nach Governance, Lizenz und Entscheidungsgewalt.

Wenn du auch GitHub oder GitLab in Betracht ziehst, findest du sie im Vier-Wege-Vergleich. Diese Seite behandelt nur die beiden Forges, die sich eine Codebasis teilen.

Auf einen Blick

Forgejo Gitea
Start Dezember 2022, Fork von Gitea 2016, Fork von Gogs
Trägerschaft Codeberg e.V., demokratischer Non-Profit Gitea Ltd, gewinnorientiertes Unternehmen
Lizenz GPL v3+ ab v9.0 (MIT bis v8.0) MIT
Rechteübertragung Keine nötig Copyright Assignment verlangt
Kommerzielles Modell Keine proprietäre Edition Open Core mit kostenpflichtigen Editionen
Security-Meldungen Vorlauf für alle Vorlauf für Kundschaft
Föderation In aktiver Entwicklung Nicht in Arbeit
Entwickelt auf Forgejo und Forgejo Actions GitHub und GitHub Actions
Migration dazwischen Direkt, über den Upgrade-Pfad Direkt, über den Upgrade-Pfad

Jetzt starten

Woher beide Projekte kommen

Gogs begann 2014 als leichtgewichtiger, selbst gehosteter Git-Dienst in Go. Er fand sein Publikum, weil er auf Hardware lief, auf der GitLab nicht mehr lief.

Gitea entstand 2016 als Fork von Gogs, nachdem Mitwirkende zum Schluss kamen, dass das Gogs-Projekt zu wenig Beiträge von aussen aufnahm. Mehr Maintainer, schnellere Releases, breitere Verwendung.

Forgejo entstand im Dezember 2022 als Fork von Gitea. Das Projekt selbst schreibt, es sei gestartet als Reaktion darauf, dass der Community die Kontrolle über Gitea durch die neu gegründete, gewinnorientierte Gitea Ltd ohne vorherige Absprache entzogen wurde, nachdem ein offener Brief an die Eigentümer unbeantwortet blieb.

Das Muster wiederholt sich, weil sich die Spannung wiederholt: Ein Projekt wird populär, die Leute mit den Namensrechten und die Leute mit dem Code sind nicht mehr dieselbe Gruppe, und der Code wird geforkt.

Was sich heute tatsächlich unterscheidet

2023 war Forgejo ein Soft Fork und blieb nah an Gitea. Anfang 2024 wurde daraus ein Hard Fork, seither driften die Codebasen auseinander. Die relevanten Unterschiede sind heute eher struktureller als funktionaler Natur.

Wer entscheidet

Gitea wird von der Gitea Ltd kontrolliert. Forgejo steht unter dem Dach von Codeberg e.V., einem eingetragenen deutschen Non-Profit, der die Domainnamen und Marken des Projekts hält. Codeberg betreibt seine eigene öffentliche Forge auf Forgejo, die Trägerin ist also selbst intensive Nutzerin.

Das ist der Kern des Forks. Ob es für dich zählt, hängt davon ab, ob dir schon einmal eine Abhängigkeit den Besitzer gewechselt hat.

Lizenz, und warum sie wechselte

Gitea steht unter MIT. Forgejo ebenfalls, bis und mit v8.0, und wechselte ab v9.0 auf GPL v3+.

Das ist eine echte Weggabelung. MIT erlaubt es, den Code zu nehmen, zu ändern und das Ergebnis auszuliefern, ohne die Änderungen zu veröffentlichen. GPL v3+ verlangt, dass Änderungen unter denselben Bedingungen veröffentlicht werden. Wenn du Gewissheit willst, dass Verbesserungen allen zur Verfügung stehen, ist GPL die stärkere Garantie. Wenn du ein proprietäres Produkt auf dem Code bauen willst, ist MIT die permissive Option, und Forgejo ab v9.0 ist es nicht.

Gitea verlangt zudem eine Rechteübertragung von Mitwirkenden, auch für MIT-lizenzierte Beiträge, und betreibt ein Open-Core-Modell mit kostenpflichtigen Editionen neben der freien. Forgejo verlangt keine Übertragung und liefert keine proprietäre Edition.

Umgang mit Sicherheitslücken

Forgejo kündigt Security-Releases allen vorab an. Gitea kündigt sie seiner Kundschaft vorab an. Wenn du selbst hostest und keinen Gitea-Vertrag hast, ist das der Unterschied zwischen patchen am Tag der Offenlegung und patchen danach.

Tests und Föderation

Forgejo betreibt End-to-End-, Upgrade- und Browser-Tests, die Gitea nicht hat. Gerade Upgrade-Tests zählen bei einer Forge, die du jahrelang behalten willst, denn das Risiko liegt selten bei der Installation, sondern beim vierzehnten Upgrade.

Forgejo implementiert ausserdem Föderation zwischen Forges, damit Issues und Pull Requests Instanzgrenzen überschreiten können, und berichtet monatlich über den Fortschritt. Gitea arbeitet nicht daran.

Entwicklungswerkzeuge

Forgejo wird auf Forgejo entwickelt, mit Forgejo Actions, die Lokalisierung läuft über Weblate. Gitea wird auf GitHub entwickelt, mit GitHub Actions und Crowdin. Für ein Projekt, dessen Versprechen die selbst gehostete Unabhängigkeit von GitHub ist, finden das manche aufschlussreich. Es ist ein Signal über Prioritäten, kein Feature, das dir im Alltag auffällt.

Was gleich bleibt

Vieles, und das gehört klar gesagt, statt die Unterschiede zu überhöhen.

Repositories, Issues, Pull Requests, Code Review, Wikis, Kanban-Boards, Zeiterfassung und Package Registries funktionieren in beiden gleich. Forgejo Actions und Gitea Actions sind beide kompatibel mit GitHub Actions, Workflow-Dateien wandern in der Regel unverändert hinüber. Beide laufen auf bescheidener Hardware. Beide sind im Kern echte freie Software.

Wenn du heute Gitea betreibst und es läuft, ist nichts davon ein Notfall.

Migration von Gitea zu Forgejo

Die Migration ist ein Versions-Upgrade, kein Datenexport. Forgejo ist darauf ausgelegt, eine bestehende Gitea-Installation an Ort und Stelle zu übernehmen: Du richtest Forgejo auf dieselbe Datenbank und dasselbe Datenverzeichnis, und es macht dort weiter, wo Gitea aufgehört hat. Forgejo behält die Binärdatei sogar unter dem Namen gitea, mit symbolischen Links, damit bestehende Service-Dateien und Skripte weiterlaufen.

Die praktischen Einschränkungen sind die üblichen. Prüfe vorher, welche Versionen zueinander passen, denn nur zwischen kompatiblen Versionen lässt sich wechseln. Lege ein Backup an, dessen Rückspielung du wirklich getestet hast. Plane den Weg als Einbahnstrasse: zurück zu Gitea, nachdem Forgejo die Datenbank migriert hat, ist kein unterstützter Pfad.

Wann Gitea die richtige Antwort ist

Wann Forgejo die richtige Antwort ist

Wann Managed Forgejo die richtige Antwort ist

Alles bisher setzt voraus, dass du die Forge selbst betreibst. Beide selbst zu hosten heisst: Backups, Upgrades, Verfügbarkeit und Sicherheitspatches verantworten, dazu Monitoring und eine Wiederherstellung, die du getestet hast, dazu jemanden, der erreichbar ist, wenn der Host zur Unzeit ausfällt.

Codey ist eine dedizierte Forgejo-Instanz, betrieben von VSHN in der Schweiz, ab CHF/EUR 39 pro Monat. Keine geteilte Umgebung: deine eigene Instanz, mit vollem Admin-Zugriff, Forgejo Actions CI/CD, Package Hosting und Backups inklusive. Du behältst die Offenheit und den Ausstiegspfad und gibst den Pager ab.

Wenn du ohnehin von Gitea weg willst, kostet der Wechsel auf eine gemanagte Instanz etwa gleich viel Aufwand wie der auf eine selbst gehostete.

Nächste Schritte

Ziehst du GitHub und GitLab ebenfalls in Betracht? Lies den vollständigen Vergleich. Bereit für den Wechsel? Jetzt starten mit Codey ab CHF/EUR 39 pro Monat, oder frag uns zur Migration einer bestehenden Gitea-Instanz.

Fragen zu Codey?

Hast du Fragen zu Codey oder brauchst einen individuellen Plan? Fülle das Formular aus und wir melden uns bei dir. Um sofort loszulegen, registriere dich unter portal.servala.com und bestelle dort deine Codey-Instanz. Brauchst du ein massgeschneidertes Enterprise-Setup, On-Premises-Forgejo oder eine Migration von GitHub oder GitLab? Siehe forgejo.ch für Enterprise-Beratung und Managed Services.

Kostenloses Gespräch buchen

Oder stelle deine Frage