tent / tent.io

The website for Tent — the protocol for evented data storage and decentralized communication
https://tent.io
Other
794 stars 97 forks source link

Incorrect characterization of federated social web #58

Closed evanp closed 12 years ago

evanp commented 12 years ago

The section on "What about the federated social web?" mixes up the federated social web with OStatus and makes some incorrect statements.

"Federated social web" is just a pattern -- a graph of social network servers that can connect to each other in interesting ways. It's different from some social platforms (Twitter, Facebook) in that there's no privileged node in the graph.

tent.io is a federation protocol.

You say, "Because private messages (and many other important features) are beyond the scope of most federation protocols, users can not send private messages to users of other Social Service Providers."

That's true of OStatus; I'm pretty sure it's not true of Diaspora*. I'm not sure "most" makes sense here.

danielsiders commented 12 years ago

Evan--

Thank you for your feedback and your civility over the past few weeks. This topic can be emotional for many people and we appreciate your kind words and level headed comments on HN and Twitter. We recognize and appreciate your contributions to the federated social community as a developer, organizer, and entrepreneur.

I think one problem is that we may be using terms differently. When we talk about a decentralized social service we mean that users' interactions with each other are not limited by the users being on different nodes. For example a user on one node could send a private message to a user on another node in the exact same manner as sending a private message to another user on their own node.

We see it as living in two different houses in the same country instead of two separate countries with a visa waiver program. Users should not have a different experience with interacting with someone on a different node. There are no second class citizens or interactions and no one is an outsider.

Email is a collection of multiple protocols. SMTP provides transit for messages between mail servers. An entirely separate set of protocols is used by users to interact with their mail servers. Users on the same email server email each other in exactly the same way that they email users on other servers.

We do generalize slightly about other protocols as many people have thrown their hats in the ring. OStatus seems to be the most prominent followed by Diaspora. The Diaspora protocol is largely undocumented and does not provide an application level API. There is a far larger group of incomplete or unused projects, but few of the questions we receive mention these.

To us, a service is federated instead of decentralized when first class features are not specified in the federation protocol. Federation protocols provide a least common denominator for the transport of messages and may not have 1:1 mapping with the internal services of each node. There is nothing wrong with this but the goals of Tent are unachievable without severely altering most existing federated social protocols.

Tent is not a federation protocol because it provides end to end communication between users, not just servers. It specifies app-server communication as well as server-server communication and direct mapping between these two protocols. To continue the email analogy, Tent would be a unified combination of SMTP and IMAP.

We agree that our use and interpretation of these terms could be clearer. We will revise the documentation to reflect these points in the near future.

Tent v0.1 is composed only of the minimum viable feature set we feel is required for contemporary full featured social networks. These most basic features would have been difficult to impossible to implement using existing protocols without substantial alterations to those protocols. Subsequent Tent releases in the very near future will build heavily on these features and expand into other areas far beyond the scope of existing protocols.

evanp commented 12 years ago

@danielsiders thanks for the response.

I use the term "federated" where you use "decentralized". I like it better because it's about networks coming together, rather than about taking apart centralized networks. I also think "distributed" is imprecise since most social network servers work fine on their own -- they're not the same as distributed systems.

That all said, I suspect you'll find the question of where you set the point between "needs to work distributed" and "can just live on this server" will vary. A couple of things are insanely hard -- distributed people and content search, for example -- and living with an ecosystem of centralization and non-centralization is probably the best way to get further.

wilkie commented 11 years ago

All being said, OStatus also provides end-to-end communication among users. Aren't tent entities urls? I guess I don't quite understand the difference and why OStatus is federated, but tent is not. You say that federated protocols "provide a least common denominator for the transport of messages and may not have 1:1 mapping with the internal services of each node." I could use clarification and an example.

That said... you also stated this:

We agree that our use and interpretation of these terms could be clearer. We will revise the documentation to reflect these points in the near future.

I believe that implies you agree that there is misrepresentation. Therefore, you should reopen the ticket.