Forge federation: monthly report 8/9

November 16, 2021

Most of the work during the last month was around implementing fedeproxy and contributing to Gitea. A proposal to change the name of the project from fedeproxy to forgefriends is well on the way. The November 2021 monthly update videoconference will be held November 18th, 2021 5pm Paris time and is open to everyone.

Software Development

The switch to go was delayed by two weeks, during which contributions to advance federation in Gitea were done, with the help of a cheatlist. It was also an opportunity to publish a number of code walkthrough explaining the Gitea codebase in the areas that are relevant to federation.

The addition of the go-fed dependency triggered a discussion about the impact on the Gitea codebase and may require a significant change in the release process, i.e. distributing dependencies separately. For the purpose of integrating go-fed in Gitea, the integration of go-fed in existing applications (writefreely and GoToSocial) were studied. It turned out the apcore framework, which is part of the go-fed project, is a better source of inspiration.

But this is not an immediate concern and the first ActivityPub endpoints were added: one for Person which allows to retrieve basic information about a user (actor in the ActivityPub parlance) and one for Repository which is defined by forgefed. The httpsig library was used to sign and verify ActivityPub requests.

The fedeproxy specific part of the development included the creation of a repository dedicated to storing and sharing the file representation of issues, pull requests etc. It is essentially the same as what is done for the wiki, which stores pages in a repository created alongside the repository for code. This repository is populated implicitly when the endpoint to retrieve the ActivityPub repository information is used.

Fedeproxy has been kept in sync weekly with Gitea and it was no trouble at all so far.


The experiment in simultaneous interpretation happened during the October 2021 monthly update, with two English speakers and one person speaking only French and translated simultaneously. It was a little bumpy but not to the point of disruption . The technical setup was fragile and another one was proposed and tested. An alternative was also proposed by @mariha: a modified Jitsi server implemented by @jfinn.

Storytelling is an important part of how a project communicates about diversity and a post was published about a first hand testimony related to Asperger’s Syndrom and Meltdowns.

Details on the work done to foster diversity are available in the forum.


Chapril forge

@pilou and @dachary did their duties, upgrading Gitea, participating in the monthly Chapril meeting, moderating user accounts and the customizing the web interface.


As mentioned in the development part of this monthly report, there has been quite a few code contributions to Gitea regarding ActivityPub. However, since the author does not have a GitHub account, they were submitted via the forum which is a much slower process. Although there has a quick one.

There does not seem to be a way to participate in the chatroom without using discord. But there is progress on hosting Gitea on Gitea so that code contributions are possible without using GitHub. This would greatly ease the collaboration between fedeproxy and Gitea.


A few recurring issues led to an offer to help with the maintenance of the go-fed resources.

The Gitea fork of was analyzed and turns out to be minimal. One of the modifications allows the publication of a notice which may be useful for the Chapril forge. @dachary is a member of the non-profit running codeberg and participated in private discussions regarding the Term of Use and the moderation. They both became significant issues as Codeberg users grew to over 10,000. @misc relayed a talk that moderating a decentralized network works better when it is small: this may also be true of centralized resources such as Codeberg.


@bouviermullerp mentioned SemApps and there were some discussions to explore the possibility of collaboration. A few other projects and ideas were explored, most notably buggregator, ASK and fedeproxy UX/UI.

Communication and Branding

An inventory of the community building and channel needs of the fedeproxy project was submitted and discussed. It clarifies the areas that need work and why they are an essential part of the development of the project. There were some followups on how to fund the required work.

The October 2021 monthly event happened, with Rado, @aschrijver, Loïc and @Alexandra translated simultaneously from French to English.

@aschrijver proposed a new name and a new logo for the project. A favorable poll led to a formal proposal to change the name of the fedeproxy project. If a consensus is reached, the name and the logo will be adopted November 22nd, 2021. The change will be reflected everywhere in the following weeks.

The Fedeproxy website has been updated (following the comments of @aschrijver)

Transparency and funding

The third DAPSI call led to discussions that clarified (to some extent) how fundraising can happen in a horizontal community. And how it could happen for this specific call. The deadline is approaching (November 23rd, 2021) and there hasn’t been yet any proposal drafted.

On November 9th, 2021 @dachary announced he will not be needing the remaining funds from DAPSI (12,400€) to keep working on fedeproxy and invited people to take his seat.

There was some confusion about the scope of the User Interface deliverables for the DAPSI grant and it was clarified with a discussion: it should be a CLI, not a web interface.

The fedeproxy project is atypical in how it is radically transparent, down to the last financial detail. This led to a discussion on what it means for people who are currently funded to work on the project.

An agreement was reached on how to settle the balance of expenses engaged by the members of the community since the beginning of the project, in December 2021.

Details on transparency and funding are available in the forum.