是否有类似 RSS 的标准格式用于分布式(类似论坛)通信?

Are there a RSS like standard format for distributed (forum like) communication?

使用电子邮件相互交流的用户不需要使用相同的 "provider"(一些用户可能使用 gmail、其他 yahoo 或 hotmail,他们仍然可以互相写电子邮件) .不幸的是,社交网络并非如此。使用 Facebook 的用户无法看到使用 Google+ 的用户的 posts、评论、喜欢和分享,反之亦然。

但为什么会这样呢?让我们想象一下下面的架构。每个用户都可以 "broadcast" 使用 he/she 喜欢的任何提供商。 RSS 格式提供了这种可能性。任何用户都可以选择任何 "provider" 来生成 his/her RSS 提要并查看 he/she 订阅的用户的 RSS 提要。所以,只要按原样使用RSS,我们已经可以构建一个类似Twitter的分布式系统(你可以post,你可以关注其他人但你不能分享)。

这种方法仍然缺少的是评论其他 post 的可能性(喜欢、不喜欢或评级也可以被视为评论)。理论上可以像 posts 一样发布/广播评论。其实评论也是post,唯一的区别是它们是"attached"而不是其他的post。因此,可以生成类似 XML 的 RSS,其中一些 posts(那些是评论)具有包含评论的 post 的 URL 的附加标签。

通过 RSS 的如此小的扩展,可以构建分布式社交网络或分布式社交新闻系统(如 Reddit)。

有没有朝这个方向发展的东西?

Salmon 可能是您所追求的...尽管此时它已接近死亡,但与数百万网站正在使用的 RSS 相反。

分布式社交网络

您所描述的听起来很像 Distributed social network,一个分散并分布在不同提供商之间的网络,允许每个站点的用户与任何相关站点的用户或提供商进行通信你给他们打电话了。这也提出了一点,即提供商实际上不需要成为这样的站点,但仍可以提供所需的服务。

此模型已获得 EFF 认可,可以 "plausibly return control and choice to the hands of the Internet user"。


协议

OStatus

OStatus 是目前由 W3C 维护的规范,它建立在 Atom 和 RSS 提要之上,并且 PubSubHubbub

PubSubHubbub provides a way to subscribe, unsubscribe and receive updates from a resource, whether it's an RSS or Atom feed or any web accessible document

PubSubHubbub 的规范是 here, and for OStatus here,我在下面复制了其中的几个重要部分:

Updates are represented as Activities in Atom. Typical updates would be represented in the default Activity Schema with activity verb "Post" and activity object type "Note", "Status" or "Comment".

A spatial location for the update object should be encoded as GeoRSS element as part of the activity. Attachments to an update should be represented as enclosures.

Users are identified by URIs.

Users SHOULD have a profile URL, which SHOULD be an HTTP or HTTPS reference to an HTML page including discovery information for the user's feed. The profile URL SHOULD be represented as a link[@rel=alternate,@type=text/html] in the Activity subject, actor, or object item, otherwise the URI MAY be used if it is an HTTP or HTTPS URL.

The publisher server uses PubSubHubbub [push] to notify subscribers of new updates.

Servers use Salmon to post social events to users or groups.

鲑鱼

描述了Salmon协议here,协议流程描述如下:

A source provides an RSS/Atom feed of content. It includes a Salmon link in its feed:

An aggregator reads the feed (ideally via a push mechanism such as PubSubHubbub), and sees from the link that it is Salmon-enabled. It remembers the endpoint URL for later use.

When an aggregator's user leaves a comment on a feed item, the aggregator stores the comment as usual, and then also POSTs a salmon version of it to the source's Salmon endpoint

The source responds to the salmon with standard HTTP codes - 2xx for OK, 4xx for input problem, 5xx for source / server error. The usual result is for the salmon to be published along with other comments on the source's web page. Note that sources are not obligated to actually publish the salmon -- they may moderate them, spam block them, aggregate or analyze them instead. However, if the source does publish the salmon in a comment feed, it has to maintain certain fields to make the protocol work end-to-end.

DSNP

Adrian D. Thurston 写了一个 paper on a Distributed Social Networking Protocol (DSNP). At the time of writing the protocol was at version 0.6, but to the best of my knowledge development has been discontinued. The paper touches on aspects such as RSA-Based identity, friending protocol, passwordless login, broadcasting, and message signing keys. A reference implementation 可用。

其他/软件

维基百科的 Comparison of software and protocols for distributed social networking 可能会有一些用处。

  • Twister是一个类似Twitter的微博平台,利用加密货币比特币和文件交换方式BitTorrent

  • Friendica 具有分散式架构,其中“'friends' 可以来自 Facebook、Diaspora、Twitter、StatusNet、pump.io、网络日志和 RSS 提要”。但是,它确实警告 "Some of the corporate-owned networks are not happy that we've managed to integrate their networks so seamlessly and have started to close off and restrict the ability to interact with their members".

  • Redmatrix是一个去中心化的交流和发布平台,运行是一个全球分布式网络