Russ posts about a federated Twitter. Here's an unformed half-thought, partially drawing on our experience with measuring progress in Scrum: maybe it's better in some circumstances for something to be 100% down than 95% available.
Case in point, from the software development angle: it's easy for software, or parts of software, to be 95% done. For about 95% of a project. Getting something to that it's-nearly-there stage is easy, it's completing it (working out those "last few integration problems") that causes all the heartache and pain.
So it is with a messaging system. If 5% of my emails aren't getting delivered, I'm not in a 5% worse situation than 0% of my emails not getting delivered - it's *way* worse than that. Suddenly email is rubbish, because I have to consider that my email might not arrive.
Same with free software: 1p for a download is a radically different price to 0p, because I have to think about paying.
And ditto with a federated messaging service: I'd rather Twitter (which I love but have never paid a bean for) was totally dead, than kind-of-working (maybe delivering my updates to most of my readers, say... or giving me updates from some readers but not others).