我的理解是:
-
OStatus是一个去中心化的社交网络协议,由其他几种协议(Atom feeds,Activity Streams,PubSubHubbub,Salmon和WebFinger)组成。
- GNU Social和Mastodon是实现 OStatus 的两个服务器软件应用程序
-
pump.io API是 pump.io 服务器软件(活动流、OAuth、Web 主机元数据)的接口
- identi.ca是一个 pump.io 实例(目前无法访问),GNU MediaGoblin是一个服务器应用程序,目前使用类似泵的API 。
-
ActivityPub是一个去中心化的社交网络协议
- GNU MediaGoblin是一个服务器应用程序,可能会实现ActivityPub
这些协议如何互操作?ActivityPub 是完全取代 OStatus,还是仅取代 Activity Streams 组件?
它们是 3 种不同的协议,不能互操作。虽然有些软件可以与 2 个或更多通信。例如,如果 ActivityPub 不起作用,Mastodon 会回退到 OStatus。
所以从这个意义上说,为了回答你的问题,ActivityPub完全取代了OStatus。
> OStatus是一个去中心化的社交网络协议,正如你所说,它由其他几种协议组成:Atom feeds,Activity Streams(版本1.0),PubSubHubbub,Salmon和WebFinger。
- 它仍然被Friendica和GNU Social(以前称为StatusNet)使用。
- 乳齿象不再使用它。支持在 2019 年被删除,转而支持 ActivityPub。
pump.io是一个引擎,具有公开活动流(版本 1.0)的 API。 Pump.io 是StatusNet的继任者。
- Identi.ca 于2013年从StatusNet切换到 pump.io。
- Pump.io 打算弃用他们的API,并迁移到ActivityPub(参见开发者文档)。
活动流用于序列化使用 JSON(-LD) 格式的社交活动流。
- 1.0版本是由一个工作组创建的,该工作组得到了Google,Facebook和Microsoft的支持。它使用 JSON 作为序列化格式。
- 版本 2.0 是从 1.0 派生的净化版本,使用 JSON-LD 作为序列化格式。它已成为W3C推荐信,分为两部分:核心和词汇。
ActivityPub是一个基于ActivityStreams 2.0的去中心化社交网络协议,它是Fediverse的基础。这也是 W3C 推荐标准。
- ActivityPub 规范在许多地方故意不完整且灵活。为了创建成熟的 fediverse 应用程序,它应该与:
- Webfinger(查找联合帐户)
- HTTP 和/或 JSON-LD 签名(用于服务器 2 服务器通信)
- OAuth 2.0(客户端凭据、授权范围)。
- 有关 ActivityPub 应用程序的长且不断增长的列表,请参阅 Feneas ActivityPub Watchlist。
总之,OStatus,pump.io API和ActivityPub是创建联合社交应用程序的三种独立的不兼容方法(但仍有一些共同点)。在这些ActivityPub中,ActivityPub提供了最好的前进方式,并且是您应该从此列表中选择的协议。
附言。作为ActivityPub实施者提出问题的最佳场所是SocialHub和Feneas论坛。另请参阅SocialHub上的ActivityPub新实施者指南。