@dangillmor I'm fully in favor of breaking them up, but as a developer who has taken multiple runs at non-profit and public interest software startups: Don't mandate interoperability. You will destroy all competition that way.
The big guys can afford to implement n^n connections to each other's platforms. Startups can't. The idea might be that it would lead to the creation of common protocols, but that locks people in to a single implementation.