From a practical sense, ActivityPub may be the obvious choice as it gives easier interop with the largest federated platforms.
But what else? There are existing platforms built on these protocols, such as movim for xmpp, and another for matrix I forget.
From a technical standpoint, are there any major pros and cons?
Email works well and is federated
Although it’s federated nature is kinda dying.
If you’re not on one of the major providers good luck getting people to see your email.
I know ☹️