@sabrinkmann Why create different versions when you can use one?
There are ways in which the Fediverse can accomodate the greater number of different services:
- Content negotiation: every server advertises supported types, and the sender needs to adjust activities depending on what the recipient understands.
- Duck typing: recipients don't filter received objects by type, and instead look at their properties.
I don't think the first approach can work at scale. It's like serving different websites to different web browsers.
(Negotiation can be useful in some cases, though - I even wrote a FEP about this: https://codeberg.org/fediverse/fep/src/branch/main/fep/844e/fep-844e.md)