Projektstatus: Im Einsatz

Gitea im Fediverse

Wir vernetzen selbst-gehostete Gitea-Instanzen.

Janis Estelmann
#Runde11 #Datenschutz/Souveränität #Netzwerk
Logo-Gitea

Welche gesellschaftliche Herausforderung adressiert euer Prototyp?

Versionsverwaltungsplattformen wie GitHub und Bitbucket bieten den Nutzenden kaum Möglichkeiten zu überprüfen, was mit ihren Daten in deren Rechenzentren geschieht. Einen Ausweg bietet die Migration der eigenen Daten zu einer selbstgehosteten Gitea-Instanz. Gitea stellt eine leichtgewichtige Alternative zu großen Quellcodehostern dar und lässt sich leicht selbst hosten. Bei der eigenen Instanz ist aber die Beteiligung externer Nutzer*innen umständlich, da für jede Instanz ein eigenes Nutzerkonto eingerichtet werden muss. Dieser Mehraufwand schadet dem Communityfaktor.

Dies ändert sich, wenn Gitea-Instanzen untereinander vernetzt werden. Dazu soll Gitea ein Teil des Fediverse werden und hierbei über standardisierte Protokolle Daten mit anderen Quellcode-Hostern austauschen. Das Fediverse als dezentrales Netzwerk führt nicht zu dem anfangs beschriebenen Vendor-Lock-in.

Wie geht ihr das Problem an?

Zur technischen Umsetzung der Vernetzung muss ein Datenprotokoll auf Basis von ActivityPub implementiert werden. Hierzu soll mit dem ForgeFed-Projekt zusammengearbeitet werden, das einen ersten Entwurf einer solchen Erweiterung für ActivityPub erstellt hat. Der Entwurf definiert unterschiedliche Entitäten für die Vernetzung von Quellcode-Hostern. Um das Protokoll nutzen zu können, müssen die internen Gitea-Strukturen an die im Protokoll verwendeten Entitäten angepasst werden bzw. ein Mapping zwischen diesen erstellt werden. Für User, Repositories und Tickets müssen ein- und ausgehende Schnittstellen erstellt werden, mit denen sich fremde Instanzen verbinden können. Zu beidem müssen Möglichkeiten zur Zwischenspeicherung der Daten in der Datenbank geschaffen werden. Das Senden von Aktivitäten muss mit den entsprechenden Funktionen in Gitea verbunden werden und das Empfangen von Aktivitäten muss entsprechende Aktionen in Gitea auslösen, z. B. das Erstellen eines Tickets oder Kommentars.

An wen richtet sich euer Tool?

Alle Menschen, die bereits Gitea einsetzen, können von der Erweiterung zum Vernetzen mit anderen Instanzen profitieren. Sobald eine neue Instanz dem Fediverse beitritt, kann sie auf die Inhalte anderer Nutzer*innen zugreifen und umgekehrt. Auch private Netzwerke innerhalb einer Organisation lassen sich auf diese Weise bilden und ermöglichen somit den Zusammenschluss verschiedener Standorte oder Bereiche.