5 Punkte von GN⁺ 2025-01-20 | 1 Kommentare | Auf WhatsApp teilen
  • Forgejo ist eine leichtgewichtige selbst gehostete Software-Schmiede für Teams, die ihre Entwicklungsplattform selbst betreiben möchten, und legt den Schwerpunkt darauf, den Aufwand für Installation und Wartung zu senken
  • Es wird von einer Community unter dem Dach von Codeberg e.V. betrieben, und sowohl die Projekte als auch der Entwicklungsprozess bleiben vollständig auf Freier Software basiert
  • Es bietet eine Umgebung, in die Nutzer mit GitHub-Erfahrung leicht wechseln können, und ist zugleich so konzipiert, dass Nutzer die Eigentümerschaft an der Plattform und die Produktivität der Zusammenarbeit selbst kontrollieren
  • Es bietet einen großen Funktionsumfang und hält zugleich niedrige Serveranforderungen aufrecht; nach eigener Aussage benötigt es im Vergleich zu anderen Schmieden um eine Größenordnung weniger Ressourcen
  • Mit Fokus auf Sicherheit, Skalierbarkeit, Föderation und Datenschutz zielt es auf verteilte kollaborative Entwicklung ab

Stellung und Betriebsmodell von Forgejo

  • Forgejo ist eine leichtgewichtige selbst gehostete Software-Schmiede, mit der sich eine Software-Entwicklungsplattform auf dem eigenen Server betreiben lässt
    • Ziel sind eine einfache Installation und Wartung bei geringem Administrationsaufwand
    • Man kann ein Konto bei Codeberg oder einer anderen öffentlichen Instanz anlegen oder Forgejo direkt herunterladen und selbst hosten
  • Betrieben wird es von einer inklusiven Community unter dem Dach von Codeberg e.V.
    • Codeberg e.V. wird als demokratische Non-Profit-Organisation beschrieben
    • Forgejo erklärt, dass es als ausschließlich Freie Software vertrauenswürdig ist
  • Der Produktfokus liegt auf Sicherheit, Skalierbarkeit, Föderation und Datenschutz
    • Die Unterschiede zu anderen Software-Schmieden lassen sich auf der Vergleichsseite nachlesen

Funktionsausrichtung und Mitwirkungsbereiche

  • Forgejo verfolgt das Ziel, die Kontrolle über den Software-Entwicklungsprozess zurückzugewinnen, Projekte selbst zu hosten und Beteiligten zu helfen, sich gemeinsam auf die Bereitstellung hochwertiger Software zu konzentrieren
  • Benutzerfreundlichkeit und Betriebsaufwand

    • Es wirbt mit einfacher Projektverwaltung und legt Wert auf eine Nutzererfahrung für Zusammenarbeit und Produktivität
    • Es bietet GitHub-Nutzern eine vertraute Umgebung, damit sie auf eine Plattform wechseln können, die sie selbst besitzen
    • Es senkt den Aufwand für Installation und Wartung, damit auch ohne Spezialkenntnisse eine eigene Software-Schmiede betrieben werden kann
  • Freie Software und verteilte Zusammenarbeit

    • Es bietet viele Funktionen und behält zugleich ein niedriges Serverprofil bei
    • Sowohl Forgejo selbst als auch der Projektentwicklungsprozess nutzen Freie Software
    • Es zeigt eine Richtung auf, in der kollaborative Software-Entwicklung über eine verteilte Plattform möglich wird
  • Bereiche, in denen man beitragen kann

1 Kommentare

 
GN⁺ 2025-01-20
Meinungen auf Hacker News
  • Laut FAQ wird es forˈd͡ʒe.jo ausgesprochen; für Ohren aus dem Mittleren Westen der USA klingt es wie „4 Jay yo“. Auf Esperanto soll es „Forge“ bedeuten.
    Es ist zwar ein Fork von Gitea, wird aber gemeinnützig betrieben und steht ohne Premium-Upsell vollständig unter einer freien Lizenz (GPL), was positiv ist. Mir gefällt auch, dass die Community-Kommunikation über Matrix und Mastodon läuft.
    Codeberg scheint das zu verwenden, und äußerlich wirkt es wie Gitea/GitHub, was kein Problem ist. Den Quellcode findet man über das kleine Branch-Icon oben rechts; er wird auf Codeberg gehostet. Was ich heute gelernt habe: Codeberg selbst ist eine Forgejo-Instanz.
    https://forgejo.org/2024-02-forking-forward/
    https://v10.next.forgejo.org/explore/repos
    https://codeberg.org/forgejo/forgejo

    • Bei „kein Premium-Upsell“ würde ich meinen, dass das doch auch für Gitea gilt.
      Soweit ich es verstehe, entstand der Fork, weil Gitea ein Unternehmen gegründet hat, das auf Anfrage von Firmen maßgeschneiderte Funktionen entwickelt; es gab nicht viele Anzeichen für so etwas wie einen Lizenzwechsel.
    • So wie kafejo auf Esperanto „Kaffee-Ort“, also Café, bedeutet, ist forgejo eher ein „Forge-Ort“.
    • Tatsächlich dachte man wohl, das Esperanto-Wort für „forge“ sei forgejo. Als jemand darauf hinwies, dass forgejo als „fora gejo“, also weit entfernter schwuler Mensch, interpretiert werden könnte, war es schon zu spät. Deshalb erklärt man es heute offenbar als inspiriert von forĝejo, dem Esperanto-Wort für Forge.
    • Da sich Gitea und Forgejo schon vor einiger Zeit getrennt haben, fragte ich mich, was derzeit die wichtigsten Unterschiede sind, konnte aber kaum direkte Vergleichsmaterialien finden.
  • Das Fedora Project soll gerade dorthin wechseln: https://fedoramagazine.org/fedora-moves-towards-forgejo-a-unified-decision/

  • Ich habe nachgeschaut, warum Forgejo sich von Gitea abgespalten hat, und es wirkt wieder einmal wie ein Fall, in dem mittellose freie Open-Source-Schöpfer/-Maintainer von oben – und vielleicht auch von unten – unter die Räder geraten
    Wenn man sich die Ankündigung zur Firmengründung von Gitea ansieht, konnten die Kosten offenbar nicht allein durch freie Open Source gedeckt werden, und es gab wohl wohlhabende Trittbrettfahrer, die die MIT-Lizenz ermöglichte
    Entscheidend ist die Passage: „Über Jahre hinweg haben wir verschiedene Wege ausprobiert, um Maintainer und das Projekt zu unterstützen – Bounties, direkte Förderung, Zuschüsse und mehr. Viele großartige Einzelpersonen und einige Unternehmen waren sehr großzügig, aber manche Unternehmen erzielten Umsätze, die größer sind als das BIP mancher Länder, nutzten Gitea in Kernprodukten und gaben ihre Verbesserungen nicht zurück.“
    Ich bin kein Fan von Bruce Perens, aber seine Aussage trifft das Problem genau: „Wir haben ein großartiges Unternehmenswohlfahrtsprogramm, und seine Nutzer sind die reichsten Unternehmen der Welt. Umgekehrt werden Entwickler kaum vergütet, wenn sie nicht für diese Unternehmen arbeiten.“
    Umgekehrt regte sich die Community auf, als die Gründer ein Unternehmen gründeten; angeblich ging es weniger um die Firmengründung an sich, sondern darum, dass dieses Unternehmen Domain und Marke besaß. Das wirkt wie ein kleiner Grund, aber die Details kenne ich nicht
    Jedenfalls sieht es außerhalb von Hobbyentwicklern und FAANG wie Beispiel #187 für das Scheitern von FOSS aus

    • FOSS ist kein Geschäftsmodell. War es früher nicht und wird es auch künftig nicht sein
      Freie Software war ursprünglich eine ethische Bewegung und musste Einnahmequellen nicht priorisieren. Das Ziel war nicht nachhaltige Entwicklung, sondern die Freiheit der Nutzer. In der Aussage „Nutzer sollen die Freiheit haben, mit Software zu tun, was sie wollen“ steht nirgends „und einige Entwickler, die für dieses ethische Ziel arbeiten, müssen davon ein Gehalt beziehen können“
      Laut der eigenen Geschichte der OSI begannen Menschen irgendwann zu glauben, dass ein offenes Entwicklungsmodell auch für Unternehmen grundsätzlich gut sei; Netscape stieg ein, und einige kamen zusammen, um freie Software als Open Source neu zu branden
      http://web.archive.org/web/20071115150105/https://opensource.org/history/
      Der Begriff FOSS fühlt sich ähnlich an wie amerikanischer Unternehmens-Buddhismus. So wie Achtsamkeit und Meditation aus ihrem ursprünglichen tiefen religiösen Kontext herausgelöst und zu Selbstoptimierungsprogrammen wurden, ist daraus etwas geworden, das die ursprünglichen Praktizierenden kaum wiedererkennen würden. Bei freier Software ging es nicht um nachhaltige Entwicklung, sondern darum, mit Nutzerfreiheit das Richtige zu tun; alles andere war ein Mittel zu diesem Zweck. Irgendwann wurde jedoch das Mittel zum Zweck, und nun wundert man sich, warum FOSS nicht selbstverständlich die Kosten deckt
    • Viele Open-Source-Entwickler missverstehen die Lage immer noch so, als wäre sie wie vor 15 bis 20 Jahren: Im Zentrum stünde Software, die Hobbyentwickler mit guten Tagesjobs um des Ruhms willen bauen
      Wer die Entwicklung richtig gelesen hat, ist GitLab. Das Unternehmen hat einen Gleichgewichtspunkt gefunden, an dem es sein Produkt auf Open-Source-Art anbietet und trotzdem die Betriebskosten deckt; es hat sowohl Vertrauen als auch Umsatz gewonnen, also gut gemacht
      Wenn man von Open-Source-Arbeit leben will, muss man sie wie ein Geschäft betreiben und geeignete geschäftliche Instrumente nutzen. Sonst kann die eigene Arbeit irgendwann wie Ausbeutung auf einen selbst zurückfallen. Ich unterstelle keine böse Absicht, aber Fairness ist eine Frage des Gleichgewichts; wenn harte Arbeit einen selbst nicht angemessen behandelt, ist auch das unfair
    • Copyleft-Lizenzen sind doch dazu da, solches Trittbrettfahren bis zu einem gewissen Grad zu verhindern, aber sie scheinen inzwischen nicht mehr „in Mode“ zu sein
      Es ist schwer nachvollziehbar, wenn man zusätzliche Copyleft-Bedingungen in der Lizenz ablehnt und am Ende darauf hofft, dass Unternehmen aus gutem Willen so handeln, als gäbe es diese Bedingungen
      Unternehmen wie Google mögen permissive Lizenzen und finanzieren sogar MIT/BSD-lizenzierte Alternativen zu verbreiteten Komponenten, etwa toybox
      Forgejo ab v9 scheint tatsächlich unter der GPL zu stehen
    • Ich weiß nicht, wie diese Logik hier genau greift. Was ist mit „Unternehmenswohlfahrt“ hier gemeint? Es gibt kaum jemanden, der mit Gitea Gewinne macht, und Big Tech schon gar nicht
      Das Big-Tech-Schreckgespenst ist nützlich, wenn Open-Source-Projekte einen Lizenzwechsel rechtfertigen wollen, aber hier passt es nicht. Selbst normalerweise ist das schon wenig überzeugend, doch in diesem Fall scheinen nicht einmal die Maintainer selbst so etwas gesagt zu haben
      Projekte wie MongoDB, ElasticSearch und Redis wurden populär, weil sie Open Source waren, und vermutlich konnten sie über Jahre hinweg auch Konkurrenz begrenzen, weil es schwer ist, mit kostenlos zu konkurrieren. Später haben sie den Nutzern dann gewissermaßen den Rücken gekehrt. Wäre MongoDB 1.0 ein kommerzielles Produkt gewesen, hätte es niemand genutzt; das Geld, das sie verdient haben, entstand also überhaupt erst dadurch, dass es Open Source war
    • FOSS ist eine Distributionsstrategie, kein Geschäftsmodell
  • Interessant an Forgejo ist, dass an Forge-Föderation gearbeitet wird
    https://codeberg.org/forgejo/forgejo/issues/59#issuecomment-1652830
    In einer idealen Welt würden auch GitHub und GitLab Föderation unterstützen, aber dazu wird es wohl eher nicht kommen
    Als Alternative im gleichen Problemraum gibt es P2P-Ansätze wie https://radicle.xyz/

  • Ich bin im Laufe der Jahre von Gogs zu Gitea und dann weiter zu Forgejo gewechselt, und es ist wirklich hervorragende Software.
    In 90 % der Fälle reicht es völlig, private Git-Repositories auf einem SSH-Server abzulegen. Wenn man nur ein Chezmoi-Repository an einem Ort haben möchte, auf den alle eigenen Rechner zugreifen können, bringt die Forgejo-Familie nicht viel zusätzlich.
    Aber für die restlichen 10 %, also wenn man Code privat mit ein paar Freunden teilen möchte, ist es großartig. Kostenlos ist besser als ein kostenpflichtiger GitHub-Plan, und wenn man es wegen dieser 10-%-Projekte ohnehin betreibt, kann man den Rest genauso gut als persönliches Referenz-Git-Repository nutzen.

    • Für meine Projekte verwende ich Onedev: https://github.com/theonedev/onedev
      Es hat auch Kanban und einen Code-Editor.
    • Mein erster eigener Git-Server war GitLab CE, das wir in der Firma nutzten. Ich ließ es auf einem Atom-basierten Server mit zu wenig RAM laufen; es war so langsam, dass Seitenaufrufe in Timeouts liefen.
      Der Wechsel zu Gitea war eine echte Erleichterung, und als Fedora Forgejo als Repository-Server auswählte, wurde ich auf Forgejo aufmerksam.
      Meine Anforderungen sind einfach: im Grunde ein zentraler Dateispeicher für Notizen und Quellcode. Ich habe eine Migration von Gitea 1.21 auf Forgejo 9 getestet, und sie verlief reibungslos.
      Ich denke ernsthaft über den Umstieg nach, überlege aber noch, welche Seite langfristig besser unterstützt wird und sich besser für kostenlose Nutzung eignet.
    • Ich frage mich, ob du abseits der Ideologie wichtige Unterschiede zwischen Gitea und Forgejo bemerkt hast. Forgejo scheint inzwischen auch Actions hinzugefügt zu haben.
    • Zuerst hatte ich Gogs installiert, bin wegen GitLab CI und anderer Funktionen aber zu GitLab gewechselt. Das war allerdings vergleichsweise viel zu schwergewichtig, und auch bei Updates hinterherzukommen wurde schwierig, sodass ich schließlich zu Gitea und Drone CI gewechselt bin. Manche dürften auch Woodpecker CI mögen.
      Ehrlich gesagt dürfte mein nächster Schritt entweder Forgejo mit Forgejo Actions für CI/CD (https://forgejo.org/docs/next/user/actions/) sein – oder der komplette Sprung ins tiefe Ende und zurück zu Jenkins.
  • Die Tagline ist nicht besonders aussagekräftig. Erst nach ein- bis zweimal Scrollen auf der Hauptseite wurde klar, wozu es dient, nämlich als selbst gehostete GitHub-Alternative.
    Da „forge“ im Software-Kontext mehrere Bedeutungen haben kann, wäre es besser, das weiter oben klar zu sagen.

    • „Forge“ wird seit SourceForge, vielleicht sogar schon davor, zur Beschreibung solcher Hosting-Pakete verwendet.
      Technisch hätte man damalige Systeme wie Redmine wohl ebenfalls als Forge bezeichnen können, aber danach scheint sich der Begriff etabliert zu haben.
    • GitHub als kategoriedefinierenden Maßstab zu bezeichnen, widerspricht meiner Ansicht nach dem Geist von Forgejo. Forgejo steht für sich selbst.
    • Es ist korrekt, das als Software-Forge zu bezeichnen. Der Begriff ist nur nicht besonders bekannt.
      Siehe: https://en.wikipedia.org/wiki/Forge_(software)
    • Es ist eindeutig eine selbst gehostete GitHub-Alternative, und ich finde, man sollte es auch so beschreiben. Wie andere Kommentare sagen: Wenn man es tatsächlich benutzt, wird das noch klarer; im Grunde ähnelt es der GitHub-Oberfläche, und das ist gut so. Es ist vertraut und einfach zu nutzen.
    • Ich habe versucht herauszufinden, was „forge“ hier bedeuten soll.
      Bei „forge“ denke ich an ein Werkzeug, das Rohmaterial in ein fertiges Produkt verwandelt – etwa Werkzeuge in einer Schmiede, die Eisen in ein Hufeisen verwandeln.
      Als Software-Metapher würde eher etwas passen, das Text-Quellcode in ausführbare Binärdateien verwandelt, also ein Compiler oder Interpreter.
      GitHub und SourceForge verschieben Quellcode von einem Ort an einen anderen. Wenn man die Metapher überdehnt, ist es eher eine Kombination aus Laden und Lieferdienst. Der Quellcode bewegt sich, wird aber nicht umgeformt.
      Aus Sicht eines alten C/C++-Entwicklers fühlt sich „forge“ als Begriff für einen selbst gehosteten Git-Server daher ziemlich seltsam an.
  • Nachdem ich versucht hatte, GitLab CE weiter zu betreiben, und mit dessen hohem CPU- und Speicherverbrauch zu kämpfen hatte, bin ich zu Forgejo gewechselt und wurde nicht enttäuscht.
    Es läuft als rootless Container und verbraucht kaum RAM und CPU. Auch Updates funktionieren einfach mit einem einzigen podman pull.
    Inzwischen lasse ich auch Actions laufen, um Jekyll und Ähnliches auszuführen und statische Websites kontinuierlich zu aktualisieren.
    Ich mag es, meine eigene Forge zu haben, in die ich Repositories, Issues usw. aus anderen Forges wie GitHub und GitLab importieren kann, und freue mich auf die kommende breitere Fediverse-Integration auf ActivityPub-Basis.
    Eine dezentrale und dennoch verbundene Herangehensweise an Code-Hosting wollte ich schon immer, und jetzt fühlt es sich so an, als wären wir fast dort.

    • Ich bin neugierig, wie der Stand der Föderationsunterstützung ist. Wenn Pull Requests und Bug Reports zwischen Instanzen möglich werden, dürfte Zusammenarbeit sehr einfach werden.
  • Ich bin über die Jahre von GitHub → selbst gehostetem GitLab → Gitea → Forgejo gewechselt und bereue es nicht.
    Forgejo ist großartig, und sobald Föderation fertig ist, dürfte es noch besser werden. Wenn verteilte Forks und Pull Requests über mehrere Instanzen hinweg möglich werden, löst das das Fragmentierungsproblem selbst gehosteter Lösungen.
    Gitea hat mein Vertrauen verloren, als es einen VC-finanzierten kommerziellen Ableger gründete; genau deshalb wurde Forgejo geforkt.
    Das Einzige, was ich von GitLab verloren habe, ist die integrierte CI/CD-Plattform. Ich konnte die Pipelines aber zu Drone CI migrieren und per Webhooks triggern. Je nachdem, wie komplex die GitLab-Pipelines sind, ist das allerdings nicht immer eine mögliche Option.
    Jedenfalls wollte ich keinen GitLab-Server hosten, der für ein paar kleine Projekte 5 GB RAM frisst. Forgejo verbraucht selbst unter Lastspitzen etwa 500 MB RAM.

  • Mich würde interessieren, wie die Code-Review-Erfahrung ist. Ich vermute, sie ist ähnlich wie bei Gitea, aber ich habe beide nicht ausprobiert.
    Ich habe kürzlich bei GitHub ein ziemlich ernsthaftes Code-Review gemacht, und als Code-Review-Tool wirkte es eher wie eine Spielzeugversion. Wenn man nicht das gesamte Source-Control-Modell auf dieses Tool zuschneidet, scheint es für ernsthafte Engineering-Arbeit unbrauchbar zu sein, und dann werden andere Faktoren geopfert, die die Historienverwaltung beeinflussen.
    Ich bin vor allem an Gerrit gewöhnt; das Grundmodell ist sinnvoll, aber es hat viele Ecken und Kanten und auch Performance-Probleme.
    Wenn ich plötzlich darüber nachdenke, glaube ich, dass ich noch nie ein Review-Tool benutzt habe, das mir wirklich gefallen hat. Ich frage mich, ob die Branche sich einfach ohne ein ordentliches Tool durchwurstelt.
    Meiner Erinnerung nach war GitLab etwas besser als GitHub, aber ich weiß es nicht mehr genau.

    • Ich habe mit Phabricator und GitHub Design-Code für Kernkraftwerke entwickelt, und das wirkt nach ziemlich ernsthafter Arbeit. Ich würde gern mehr darüber wissen, was deiner Meinung nach fehlt, damit Reviews brauchbar werden.
    • Ich frage mich, ob du Codelantis, ein Review-Tool für GitHub, ausprobiert hast.
  • Ist das vielleicht als Antwort auf die Frage „Was ist Forgejo?“ gemeint: „Forgejo ist eine leichtgewichtige, selbst hostbare Software-Forge. Sie ist einfach zu installieren, wartungsarm und tut, was sie tun soll“?

    • Ich frage mich, wie man GitHub, BitBucket, GitLab usw. beschreiben könnte, ohne sie zu erwähnen.
    • Die Kommunikation ist wirklich zerfasert. Auch der Name klingt im englischsprachigen Raum ziemlich unbeholfen.
      Natürlich muss nicht alles auf Englisch zugeschnitten sein, und es heißt zwar, es sei Esperanto, aber andere Teile der Website sind es nicht, daher werden die meisten es wohl nicht so interpretieren.