Put federation into a layer

Note: This discussion was imported from Loomio. Click here to view the original discussion.

Proposal: Put federation into a layer.

De-coupling our federation pieces from the frontend could be useful for allowing devs to extend how federation works in an easier way.

Outcome: N/A


  • Yes: 2
  • Abstain: 0
  • No: 0
  • Block: 0

Note: This proposal was imported from Loomio. Vote details, some comments and metadata were not imported. Click here to view the proposal with all details on Loomio.

this is more or less an obvious design choice if you look at how it currently works (or rather, doesn’t work), and I have already talked about it with maxwell.

Sounds like this is going to happen, which is good. I would also like to put in my 2 cents that I think we need to abstract the entire idea of identity and services attached to that identity into the federation layer. This way various services could be layered on top of existing pods, without that pod needing to know about how the service operates. So, for an extreme example, let’s say you wanted to create a decentralized distributed MMORPG, but you don’t want to run an entire POD just for the MMO. It should be possible for the MMO to layer itself on top of a person’s existing POD, and to talk to other “mmo service pods” to allow users from different MMO service pods to play together, or to allow players to communicate with their non-MMO-playing friends using the messaging functionality from their original POD.

If this is about making the platform modular, I vote yes, even though this vote was closed before I joined.

It totally makes sense to separate federation protocol from other functions. Does this help or hinder privacy? and if so how? Might someone explain this to me? Thanks in advance.

That’s what I always tried to achieve…

Separating federation from the frontend does absolutely nothing for or against privacy from a technical standpoint. What it does do is help keep the bits that help pods talk to one another separate from the rest of the app, which would allow a lot more work to be done on building the frontend, adding new features, etc.

@Sean, I’m not sure I understand. I thought federation is a protocol? Is there nothing about federation that has to do with privacy?

What is to keep a man-in-the-middle kind of trafficking going on between pods? That seems that that might interfere with what federation is supposed to do and it would hinder privacy and control of data.

OK, these may be naive questions. I’m just trying to learn. Thanks for your patience…in advance.

It’s irrelevant because it doesn’t change the protocol, it changes how the protocol is integrated into Diaspora so that we can easier modify it then and others can easier build things upon it.

Reviving this conversation, as Jonne pointed it out. Putting federation into its own layer is still something we’d really like to do, I think.

What kind of things would we need to do to put this in motion?

I think this is possibly the key to making future development far easier. I only wish I could help.