On October 25th Gitea Ltd took over the Gitea project and most of the forgefriends related work was focused on bootstraping a fork governed by a democratic non-profit community. During that time the workplan for the federation grant was finalized. Collaboration Most people usually involved in forgefriends and other federated projects spent a substantial amount of their time handling the Gitea Ltd takeover. During the first days to figure out what it meant and discussing the consequences.
A number of grant applications for both F3 and Gitea moved forward and their workplans are in progress. Development Friendly Forge Format (F3) The Go reference implementation now has foundations to remap identifiers between forges and the implementation is in progress. It is required to implement mirroring, otherwise it is not possible to pair an object (an issue for instance) from the originating forge with the issue created on the destination forge.
The Friendly Forge Format (F3) was refactored entirely and submitted for inclusion in Gitea. Followups of grant applications for both F3 and Gitea were published. Development Friendly Forge Format (F3) The Go reference implementation was refactored. The library implements the high level logic (for instance for mirroring) while drivers deal with the concrete storage of data. For instance the Gitea driver is based on the Gitea API and the F3 driver stores information in files.
Multiple grant applications were completed and sent out to support the Friendly Forge Format (F3) while development continues, primarily on F3 and Gitea federation. Development Friendly Forge Format (F3) During an online coworking session the F3 repositories were reorganized and renamed for clarity, as suggested in a previous meeting. The schema now have their own repository which became a submodule of the repository where the specifications are written as well as the reference Go implementation.
There was more activity than usual in forge federation, on various fronts such as diversity, funding, new projects, reports, UX etc. Code development was comparatively less active. Commitments were made to publish releases for forgefriends, F3, ForgeFlux, Starchart and forgefed within a year. The perspectives of funding are looking good but they are a minor concern because forge federation remains a predominantly volunteer driven effort. Development ActivityPub support in Gitea Support for ActivityPub was merged in the Gitea development branch and will be released as part of the upcoming 1.
The integration of the Friendly Forge Format was published with the first experimental forgefriends release. The Gitea ActivityPub implementation based on go-ap is making progress. And a new version of of forgefed now includes changes proposed in the context of forgefriends. Development ActivityPub support in Gitea The Gitea ActivityPub implementation started to switch from using go-fed to using go-ap and passed CI. It was extensively discussed in the associated pull request, with comments from the go-ap author.
Most of the work done in the past month revolved around writing software within the Friendly Forge Format and struggling to figure out how to implement ActivityPub in Gitea. The chat room that forgefriends shares with ForgeFlux has been welcoming and productive. This absence of problems was cause for an informal celebration. Development ActivityPub support in Gitea Anthony Wang’s work was split between the ForgeFriend’s forge and the primary repository of Gitea which was inconvenient.
Most of the work done in the past month revolved around writing software. In part within the new Friendly Forge Format project and as contributions to the main branch of the Gitea codebase. Development ActivityPub support in Gitea The pull request to add go-fed did not get much attention and another was opened instead, with a more concrete goal: adding user keypairs and HTTP signatures. It is significantly larger and includes go-fed: it caught the attention of five reviewers.
Most of the work done in the past month revolved around writing software. In part within the new Friendly Forge Format project but also as contributions to the main branch of the Gitea codebase. Development Gitea incremental import/export The ability to store the foreign ID of issues during migration in the database was merged in Gitea after seven weeks of discussions. It is not an uncommon delay for changes that involve adding a new table to the database.
Most of the work done in the past two months revolved around writing software. In part within the forgefriends codebase but also as contributions to the main branch of the Gitea codebase. Last month the organization of the forge federation webinar replaced the monthly update and this report exceptionally covers two months instead of one. Development Gitea incremental import/export Presented to the Gitea community for the first time during the webinar in January, the development work contributed to the Gitea codebase to implement an incremental import/export feature was then the primary motivation for various contributions including: