DRAFT: Fedeproxy is written in Go to share code with Gitea

Your feedback is invaluable: when I wrote the initial version I completely failed to communicate what I intended. We’re getting close although there still are significant differences between what you reworded and what I intended to convey.

Well put.

The fedeproxy codebase has a life of its own from the very beginning (i.e. October 2021). It replaces the current codebase entirely and will support Gitea and GitLab, as the current codebase does. Since it is written in Go and includes all the Gitea codebase, supporting Gitea will be easier. But in both cases fedeproxy will communicate with the forge via the API and will be installed side-by-side to them.

In other words the following happen in parallel, not in sequence:

  • Implementation of the fedeproxy server as a service that runs side-by-side an existing Gitea or GitLab instance
  • Contributions from the fedeproxy codebase to the Gitea codebase to further federation
  • Merge from the Gitea codebase into the fedeproxy codebase to benefit from the work done by the Gitea developers regarding federation (and other parts of the code that is common)

Exactly: over time the parts that are common to Gitea and fedeproxy will be identical, as a library would.

Yes, although “then on” suggests a sequence of event. It really happens all in parallel. Fedeproxy make progress at its own pace. And Gitea has its own development lifecycle happening at the same time.

I concur. Initially though (i.e. for the next few years) I think stripping would make things more difficult than carrying the entire Gitea codebase.

1 Like