Die Ausgabe der Collaborative Development-Plattform Forgejo 9.0 wurde veröffentlicht, die es ermöglicht, ein System fĂŒr die Zusammenarbeit mit Git-Repositories auf eigenen Servern bereitzustellen, das hinsichtlich der zu lösenden Aufgaben mit GitHub, Bitbucket und GitLab vergleichbar ist. Forgejo ist ein Fork des Gitea-Projekts, das seinerseits von der Plattform Gogs abgezweigt wurde. Die Abspaltung von Forgejo fand im Jahr 2022 statt, nachdem es Versuche zur Kommerzialisierung von Gitea und einen Wechsel der Verwaltung in die HĂ€nde eines kommerziellen Unternehmens gegeben hatte. Das Forgejo-Projekt hĂ€lt sich an die Prinzipien der unabhĂ€ngigen Verwaltung und Kontrolle durch die Gemeinschaft. Der Git-Hosting-Dienst Codeberg.org hat auf die Nutzung von Forgejo umgestellt. Der Code des Projekts ist in der Programmiersprache Go geschrieben und steht unter der MIT-Lizenz.
Zu den wichtigsten Eigenschaften der Plattform gehört der geringe Ressourcenverbrauch (kann auf einem Raspberry Pi oder in gĂŒnstigen VPS) und der einfache Installationsprozess. StandardmĂ€Ăige Funktionen fĂŒr die Projektarbeit werden bereitgestellt, wie Aufgabenverwaltung, Fehlermeldung (issues), Pull-Requests, Wiki, Werkzeuge zur Koordination von Entwicklergruppen, Release-Vorbereitung, Automatisierung der Bereitstellung von Paketen in Repositories, Zugangskontrollverwaltung, Integration mit Plattformen fĂŒr kontinuierliche Integration, Code-Suche, Authentifizierung ĂŒber LDAP und OAuth, Zugriff auf Repositories ĂŒber SSH- und HTTP/HTTPS-Protokolle, Anbindung von Webhooks zur Integration mit Slack, Discord und anderen Diensten, UnterstĂŒtzung von Git-Hooks und Git LFS sowie Werkzeuge fĂŒr Migration und Spiegelung von Repositories. Besonders hervorzuheben ist die Möglichkeit, das ActivityPub-Protokoll zur Verbindung einzelner Server Entwickler zu einem föderierten Netzwerk zusammenzufĂŒhren.
HauptÀnderungen:
- Der Ăbergang von der permissiven MIT-Lizenz zu einer Copyleft-Lizenz GPLv3+ fĂŒr neuen Code wurde vollzogen. Der Lizenzwechsel wird die Einbindung von Code, der unter Copyleft-Lizenzen verbreitet wird, die mit der MIT-Lizenz nicht kompatibel sind, im Projekt erleichtern und das Risiko von unlauteren GeschĂ€ftspraktiken, wie etwa die Bindung des Nutzers an einen bestimmten Anbieter und die Erstellung von modifizierten Versionen von Forgejo, die mit zusĂ€tzlichen EinschrĂ€nkungen vertrieben werden, verringern.
- Eine erste Implementierung eines anpassbaren Quota-Systems wurde hinzugefĂŒgt, das es ermöglicht, die GröĂe der Benutzerdaten auf dem Server zu begrenzen. Die Implementierung basiert auf der Einrichtung von Soft Quotas, deren Ăberschreitung nur vor der DurchfĂŒhrung von Operationen ĂŒberprĂŒft wird, jedoch bei Ăberschreitung wĂ€hrend der AusfĂŒhrung der Operationen nicht eingeschrĂ€nkt wird.
- Es wurde die Verwendung von SSH-Keys anstelle von Passwörtern fĂŒr die Authentifizierung von Spiegelungsoperationen erlaubt.
- FĂŒr die Arbeit mit Git bleibt nur das Backend auf Basis des Standard-Toolsets Git bestehen. Das Backend go-git mit der Implementierung von Git in der Programmiersprache Go wurde entfernt, was die Wartung vereinfacht, die Entwicklung von Forgejo unabhĂ€ngig von der FunktionalitĂ€t von go-git ermöglicht und Probleme mit beschĂ€digten Repositories, die im go-git aufgetreten sind, ausschlieĂt.
- Der Sitzungsanbieter auf Basis der Couchbase-Datenbank wurde entfernt, da er an nicht-freie Software gebunden ist, deren Testmöglichkeiten eingeschrÀnkt sind.
Quelle: opennet.ru
