In der modernen Softwareentwicklung spielen Forges eine zentrale Rolle. Plattformen wie GitHub, GitLab oder Forgejo ermöglichen es Entwicklern, Projekte kollaborativ zu verwalten. Sie bieten Funktionen zur Verwaltung von Issues, Pull Requests, Milestones sowie die Speicherung von Release Assets und vielem mehr. Bei der langfristigen Archivierung dieser umfangreichen Datenmengen und deren zugehörigen Versionskontrollsystemen stellt sich die Herausforderung, Informationen strukturiert, standardisiert und zugänglich aufzubewahren. Genau hier setzt das Friendly Forge Format, kurz F3, an – ein offenes Dateiformat speziell für die Speicherung aller relevanten Informationen, die aus einer Forge stammen.
F3 ermöglicht es, sämtliche Daten wie Probleme (Issues), Pull Requests, Labels, Repositories, Meilensteine, Benutzerinformationen und sogar Verweise auf Commits in einer hierarchischen Dateistruktur in JSON zu speichern. Diese JSON-Dateien basieren auf strengen, normativen JSON-Schemata, welche sicherstellen, dass die gespeicherten Informationen konsistent und maschinenlesbar bleiben. Ergänzt wird die Datenstruktur durch weitere Inhalte wie Avatare von Nutzern, Release Assets, Attachments und Pakete in einem Content addressable storage-System. Zusätzlich können komplette Verzeichnisse von Versionskontrollsystemen wie Git oder Mercurial eingebunden werden. Dieses Zusammenspiel verschiedener Datenformate und -typen macht F3 zu einem umfassenden und flexiblen Standard.
Das Format nimmt Rücksicht auf diverse Aspekte der Softwareentwicklung und des Forge-Managements. So sind in den Schemata auch Objekte wie Kommentare, Reviews, Reaktionen oder Organisationsdaten abgebildet. Die Einbindung von Zeitelementen, Datumsangaben und eindeutigen Identifikatoren garantiert zudem, dass Projekte nachvollziehbar und revisionssicher archiviert werden können. Damit eignet sich das Friendly Forge Format nicht nur für die Sicherung von Daten in Archiven, sondern auch als Schnittstelle für ein plattformübergreifendes Arbeiten mit Forge-Daten.Die Entstehung von F3 wurde durch maßgebliche Unterstützer wie die Open Technology Fund (OTF) sowie NLnet gefördert.
Die aktuellste Version 4.0 bringt zahlreiche Verbesserungen in der Kompatibilität und Struktur mit sich. Die Entwicklung des Formats und die Pflege der zugrundeliegenden JSON-Schemata gewährleisten eine hohe Stabilität und Weiterentwicklung des Standards. Zudem existiert eine Referenzimplementierung in der Programmiersprache Go, welche es ermöglicht, direkt mit F3-Daten zu arbeiten und sogar Forge-Daten speziell von Forgejo zu spiegeln. Damit erleichtert F3 die Integration in bestehende Systeme und unterstützt Entwickler bei der Migration und Sicherung ihrer Projekte.
Ein besonderer Vorteil von F3 ist die Interoperabilität zwischen verschiedenen Forge-Systemen. Oftmals sind die proprietären Formate der jeweiligen Plattformen eingeschränkt oder proprietär. Mit F3 können Daten zwischen unterschiedlichen Forges portabel ausgetauscht werden, ohne dabei den Verlust von Metadaten oder Kontextinformationen befürchten zu müssen. So können Organisationen, die mehrere Codehosting-Dienste nutzen, mit F3 Daten zusammenführen und zentral archivieren. Das fördert die Unabhängigkeit von einzelnen Plattformen und erhöht die Datensicherheit.
Darüber hinaus eröffnet F3 neue Möglichkeiten für Forschung und Analyse. Durch die offene und standardisierte Struktur ist es leicht, große Mengen an Forge-Daten automatisiert auszuwerten, zum Beispiel zur Untersuchung von Projektaktivitäten, Beitragenden oder Release-Zyklen. Die Nutzung von JSON-Schemata erleichtert wiederum die Entwicklung von Werkzeugen, die auf einheitliche Datensätze zugreifen können. Wissenschaftliche Projekte, die sich mit Softwareentwicklung oder Open-Source-Ökosystemen beschäftigen, profitieren dadurch von besseren Datengrundlagen.Die Struktur des Formats folgt klar definierten Konventionen in Bezug auf Zeit und Datum, die insbesondere bei der Nachverfolgung von Issues oder Pull Requests relevant sind.
Eindeutige Kennungen gewährleisten, dass Objekte stets eindeutig identifiziert und Referenzen sauber aufgelöst werden können. Auch das Handling von fehlenden Ressourcen oder remappbaren Identifikatoren ist durchdacht umgesetzt, so dass die Datenintegrität über lange Zeit erhalten bleibt.Für eine vollständige Nutzung von F3 empfiehlt sich ein Blick in die umfangreiche Dokumentation und die vorhandenen Ressourcen. Neben der offiziellen Webseite und dem Git-Repository gibt es eine lebendige Community und sogar einen Matrix-Raum, der den Austausch fördert. Projekte wie das Wikidata Forge Project nutzen ähnliche Datenmodelle und unterstützen somit die Vernetzung im Open-Source-Umfeld.
Zusammenfassend ist das Friendly Forge Format (F3) eine innovative und offene Lösung zur Speicherung und Archivierung von Softwareforge-Daten. Mit seiner klaren Struktur, den normativen JSON-Schemata und der Unterstützung durch eine Referenzimplementierung hebt F3 die Verwaltung von Projektinformationen auf eine neue Ebene. Für Entwickler, Organisationen und Forscher stellt F3 eine wertvolle Ressource dar, um Daten interoperabel, konsistent und zukunftssicher zu speichern. Die wachsende Akzeptanz und Weiterentwicklung des Formats lassen darauf schließen, dass F3 künftig eine wichtige Rolle in der Welt der offenen Softwareentwicklung spielen wird.