Federation Fairness

I am currently implementing federation and am struggling with what I think may be the same headaches over and over again. I bet they would sound familiar.

So I'd like to propose some guidelines which I'd love to hear your take on and maybe evolve into something like federation best practices.

Every server development project that wants to be federated with should IMO

1. welcome federation, both, many instances as well as many products,
2. provide accounts to send questions to and respond on topic within some days,
3. provide accounts that are legit to develop against, run by this very server software and the server-software-developers can inspect the logfiles,
4. put explicit timeouts and retry limits on everything.
5. provide actionable error responses,
6. be explicit about their ActivityPub compliance and requirements on the project page,
7. refrain from making non-ActivityPub nice-to-haves mandatory (nodeinfo, host-meta)
8. refrain from being finnicky without hard reason with tangible benefit,
9. be precise and concise on the wire,

Each project may make this pledge and tag it #FederateMe. This community may mail a list halfyearly.

Does that make sense to you?

/Marcus

Received on Monday, 4 September 2023 15:24:55 UTC