Die Veröffentlichung von Forgejo 9.0, einer kollaborativen Entwicklungsplattform, ermöglicht es, ein System für die Zusammenarbeit an Git-Repositories auf eigenen Servern zu betreiben. Forgejo bietet Funktionen ähnlich denen von GitHub, Bitbucket und GitLab. Forgejo ist ein Fork des Projekts Gitea, das seinerseits von der Plattform Gogs abgezweigt wurde. Die Trennung von Forgejo erfolgte im Jahr 2022 nach Versuchen, Gitea zu kommerzialisieren und die Kontrolle in die Hände eines kommerziellen Unternehmens zu legen. Das Projekt Forgejo folgt den Prinzipien einer unabhängigen Verwaltung und Community-Kontrolle. Der Git-Hosting-Dienst Codeberg.org hat auf Forgejo umgestellt. Der Code des Projekts ist in Go geschrieben und steht unter der MIT-Lizenz.
Die Hauptmerkmale der Plattform sind der geringe Ressourcenverbrauch (kann auf einem Raspberry Pi oder in günstigen VPS) und ein einfacher Installationsprozess. Es werden standardmäßige Projektmanagement-Funktionen bereitgestellt, wie z. B. Aufgabenverwaltung, Issue-Tracking, Pull-Requests, Wikis, Tools zur Koordination von Entwicklerteams, Erstellung von Releases, Automatisierung der Paketbereitstellung in Repositories, Zugriffsrechtverwaltung, Integration mit Continuous-Integration-Plattformen, Code-Suche, Authentifizierung über LDAP und OAuth, Repository-Zugriff über die Protokolle SSH und HTTP/HTTPS, Anbindung von Webhooks zur Integration mit Slack, Discord und anderen Diensten, Unterstützung für Git-Hooks und Git LFS, sowie Werkzeuge zur Migration und Spiegelung von Repositories. Hervorzuheben ist die Möglichkeit, das ActivityPub-Protokoll zu verwenden, um einzelne Projekte in ein föderiertes Netzwerk zu integrieren. Server Entwickler zugeschnitten.
Wesentliche Änderungen:
- Der Übergang von der permissiven MIT-Lizenz zur Copyleft-Lizenz GPLv3+ für neuen Code wurde vollzogen. Der Lizenzwechsel erleichtert die Verwendung von Code in Projekten, der unter Copyleft-Lizenzen steht, die nicht mit MIT kompatibel sind, und verringert das Risiko von unlauteren Geschäftspraktiken, wie der Bindung von Nutzern an bestimmte Anbieter und der Erstellung modifizierter Versionen von Forgejo, die mit zusätzlichen Einschränkungen verbreitet werden.
- 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 Ausführung von Operationen überprüft wird, jedoch nicht im Falle einer Überschreitung während der Ausführung von Operationen eingeschränkt wird.
- Die Verwendung von SSH-Schlüsseln anstelle von Passwörtern zur Authentifizierung bei Spiegelvorgängen wurde erlaubt.
- Für die Arbeit mit Git bleibt nur das Backend basierend auf den nativen Git-Tools erhalten. Das go-git-Backend mit der Implementierung von Git in Go wurde entfernt, was die Wartung erleichtert, die Weiterentwicklung von Forgejo unabhängig von der Funktionalität von go-git ermöglicht und Probleme mit beschädigten Repositories, die in go-git auftraten, ausschließt.
- Der Sitzungsanbieter auf Basis der Couchbase-Datenbank wurde entfernt, da er von proprietärer Software abhängt, deren Testmöglichkeiten eingeschränkt sind.
Quelle: opennet.ru
