Why I think pump.io should join the Federation


I spent last weekend at the always awesome FSCONS conference in Gothenburg. Among many other things I heard rysiek’s talk “Blurry line between private service and public infrastructure” (slides, Ksenia’s recording on WCN). After a motivation on why we need free federated social networks he went on to describe how we now have several such networks: Diaspora, GNU Social, Friendica, Red, etc… but they are not interoperable, i.e. they do not federate between themselves.

The challenge, and the key to getting people off the centralised (and proprietary) social networking silos lies in the network effect, i.e. we need to get as many users as possible, which will then have a chance to keep on growing. He pointed to the success of Ello (another proprietary solution that “promises” to be better than Facebook) that it is possible to get people to move. We just need that one place to point them to.

The Federation

Rysiek’s answer to this was to get the three networks that were the closest to being cross-compatible together - Diaspora, GNU Social and Friendica/Red - and call them by a single name. In a Diaspora thread they came up with the name: “The Federation”, together with a silly graphic and all1.

On Sunday the GNU Social maintainer Mikael “MMN-o” Nordfeldth gave a talk “A federated social web?” (my picture) that continued along the same lines. My interpretation was that he didn’t see GNU Social as the solution for the long run, but since it had many users, and it works well, it is valuable to keep maintaining it. I talked with him afterwards, and he thought that it shouldn’t be too hard to get it to work together with Diaspora. Friendica already works with both, although not perfectly.

What about pump.io?

Both rysiek and Mikael seemed to completely discount pump.io in all this, and I tried (unsuccessfully) to convince them otherwise. I guess the good news is that neither of them were hostile to including pump.io, it just wasn’t a high priority for them. I think pump.io is the better technical solution but it’s still immature when it comes to its web interface and user experience (all things that can be fixed). Frankly, right now I’d be more comfortable pointing inexperienced users to Diaspora or GNU Social.

The basis for the Federation, what Mikael called “Wheel 1.0” is something like Atom + PuSH + Salmon. “Wheel 2.0”2 could be some future protocol, in my view this could well be the pump.io protocol, something based on XMPP, or what the W3C Social Web people are cooking up right now. But our foremost goal is not to find the perfect technical solution tomorrow, but get something that works right now, and get people to move on to it to get the network effect going.

Join the Federation!

To be part of this, I think pump.io should join the Federation now and help out to get people to move away from proprietary silos. Then, perhaps when The Federation has a large user base, and pump.io is more mature we can smoothly move people over to pump, or whatever turns out to be the “Wheel 2.0” solution. But right now, what is needed is interoperability so that we can finally all start working together. If we add up all the users of Diaspora, GNU Social, pump.io and Friendica we are already a long way!

How do we actually do this? (And I’m now thinking mostly of pump.io here.) As far as I can see there are two alternative options:

  • We make pump.io talk to the others. Implementing this in pump.io core doesn’t seem like a good idea, the philosophy of pump.io is to be a clean piece of software that does one thing and does it well. Implementing various other protocols for “backwards compatibility” doesn’t fit that model. I’m not sure if some kind of bridging can be done external to pump.io core, I have no idea how that would work. The point isn’t just cross-posting (this can already be done) but to have true federation so that e.g. a GNU Social account can follow a pump.io account and vice versa,

    … or …

  • We make GNU Social and Diaspora talk pump.io. Mikael had started looking at implementing pump.io on GNU Social, but he lost interest in it. I think someone from the pump.io community should look at picking up this work. Perhaps me if I can get the free time to do it.

So what do you think? I think we should keep our eye on the real goal here, and not bicker about who is technically right. I think pump.io should join the Federation!

See comments on pump.io, GNU Social or Diaspora.

  1. Yes, Mediagoblin will actually use pump.io for its federation, they were included in the picture for “historical reasons”

  2. “Reinventing the wheel”, get it?

Posted by Mats Sjöberg.