But, wow! Is it hard to get your competitors to adopt an open protocol. Whole bunch of NIH syndrome. And each player can sit on the sidelines, or invent their own "protocol" and not adopt another (que that XKCD about 14+ standards).
Converstaions: A: our clients want to work together, so our softwares should work together. B: Yea, well, how many clients do you have? A: Well how many do you have? B: Use my protocol, we'll build a spec. A: here's our protocol with public spec & moderate adoption. B: Well, we didn't get to have input so we don't like it, you're clearly not a team player. A: It's on Github! I'm literally inviting you to participate right now!? B: ...
It's very hard to build open, distributed, federated systems when all the other parties in the game are more interested in building up their own walled garden.