ForgeFed

Description

ForgeFed is a federation protocol for software forges and code collaboration tools for the software development lifecycle and ecosystem.

This includes repository hosting websites, issue trackers, code review applications, and more.

ForgeFed provides a common substrate for people to create interoperable code collaboration websites and applications.

How does it work ?

ForgeFed is an ActivityPub extension .

ActivityPub is an actor-model based protocol for federation of web services and applications.

It’s a bit like e-mail, except the data sent is JSON objects (i.e. structured computer-readable data), and not only humans have inboxes where they can be contacted, but also repositories and issue trackers have inboxes through which they can be remotely and safely interacted with.

On top of ActivityPub’s vocabulary (common language for websites to use for communicating) and protocol, ForgeFed defines new vocabulary terms related to repositories, commits, patches, issues, etc. and the protocol for creating and interacting with such objects across servers.

You can find more technical details in our repository.

Implementations

  • Vervis is the reference implementation of ForgeFed. It serves as a demo platform for testing the protocol and new features.

  • Forgejo is implementing federation.

  • Pagure has an unmaintained ForgeFed plugin.