Original author(s) | Evan Prodromou et al. |
---|---|
Developer(s) | E14N |
Initial release | September 23, 2016 |
Final release | |
Repository | https://github.com/pump-io/pump.io |
Written in | JavaScript, Node.js |
Operating system | Cross-platform |
Type | Web application framework |
License | Apache License, Version 2.0 [3] |
Website | pump.io |
pump.io (pronounced "pump eye-oh") is a general-purpose activity stream engine that can be used as a federated social networking protocol which "does most of what people want from a social network". [4] [1] Started by Evan Prodromou, it is a follow-up to GNU Social (formerly StatusNet), and is designed to be more lightweight and usable for general data instead of just microblogging. [5] The largest StatusNet instance at the time, Identi.ca, which was the largest StatusNet service and was run by Prodromou, switched to pump.io in June 2013. [6]
As a distributed social network, pump.io is not tied to a single site. Users across servers can subscribe to each other, and if one or more individual nodes go offline the rest of the network remains intact.
The protocol was later used as a template for the creation and standardization of the ActivityPub standard, and development of pump.io has since been discontinued, with the latest version of the engine being released in 2020 and further development of the codebase ending in 2022. [7]
Designed to be much more lightweight and efficient than its StatusNet predecessor, [5] Pump.io is written in Node.js and uses Activity Streams as the format for commands and to transfer data via a simple REST inbox API. [6]
Pump.io requires:
gm
commandPump.io can run easily on low-resource hardware (such as a Raspberry Pi or BeagleBone Black). It can be used via the Web UI, or other clients via the API.
The W3C Federated Social Web Working Group, launched in July 2014, [8] has produced the ActivityPub standard, based on the protocols used in pump.io as a likely successor to OStatus. [9] It was officially published as a Recommendation on 23 January 2018. [10] The protocol has since gone on to become the main standard used in the fediverse.
SOAP is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP), although some legacy systems communicate over Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.
OpenSocial is a public specification that outlines a set of common application programming interfaces (APIs) for web applications. Initially designed for social network applications, it was developed collaboratively by Google, MySpace and other social networks. It has since evolved into a runtime environment that allows third-party components, regardless of their trust level, to operate within an existing web application.
identi.ca was a free and open-source social networking and blogging service based on the pump.io software, using the Activity Streams protocol. Identi.ca stopped accepting new registrations in 2013, but continues to operate alongside several other pump.io-based hosts provided by E14N which continue to accept new registrations.
GNU social is a free and open source microblogging server written in PHP that implemented the OStatus and ActivityPub standard for interoperability between installations. While offering functionality similar to Twitter, GNU social seeks to provide the potential for open and distributed communications between microblogging communities. Enterprises and individuals can install and control their own services and data.
OpenMicroBlogging is a deprecated protocol that allows different microblogging services to inter-operate. It lets the user of one service subscribe to notices by a user of another service. This enables a federation of new communities, as potentially an organization of any size can host a service. OpenMicroBlogging utilizes the OAuth and Yadis protocols and does not depend on any central authority.
A distributed social network or federated social network is an Internet social networking service that is decentralized and distributed across distinct service providers, such as the Fediverse or the IndieWeb. It consists of multiple social websites, where users of each site communicate with users of any of the involved sites. From a societal perspective, one may compare this concept to that of social media being a public utility.
Web of Things (WoT) describes a set of standards by the World Wide Web Consortium (W3C) for the interoperability of different Internet of things (IoT) platforms and application domains.
Activity Streams is an open format specification for activity stream protocols, which are used to syndicate activities taken in social web applications and services, similar to those in Facebook's, Instagram's, and Twitter's.
Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.
In computing, Open Data Protocol (OData) is an open protocol that allows the creation and consumption of queryable and interoperable Web service APIs in a standard way. Microsoft initiated OData in 2007. Versions 1.0, 2.0, and 3.0 are released under the Microsoft Open Specification Promise. Version 4.0 was standardized at OASIS, with a release in March 2014. In April 2015 OASIS submitted OData v4 and OData JSON Format v4 to ISO/IEC JTC 1 for approval as an international standard. In December 2016, ISO/IEC published OData 4.0 Core as ISO/IEC 20802-1:2016 and the OData JSON Format as ISO/IEC 20802-2:2016.
OStatus is an open standard for decentralized social networking, allowing users on one service to send and receive status updates with users from another. The standard describes how a suite of various standards, including Atom, Activity Streams, WebSub, Salmon, and WebFinger, can be used together, which enables different microblogging server implementations to communicate status updates between their users back-and-forth, in near real-time.
WebRTC is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication and streaming to work inside web pages by allowing direct peer-to-peer communication, eliminating the need to install plugins or download native apps.
JSON-LD is a method of encoding linked data using JSON. One goal for JSON-LD was to require as little effort as possible from developers to transform their existing JSON to JSON-LD. JSON-LD allows data to be serialized in a way that is similar to traditional JSON. It was initially developed by the JSON for Linking Data Community Group before being transferred to the RDF Working Group for review, improvement, and standardization, and is currently maintained by the JSON-LD Working Group. JSON-LD is a World Wide Web Consortium Recommendation.
Distributed social network projects generally develop software, protocols, or both.
Evan S. Prodromou is a software developer and open source advocate. He is a co-editor of ActivityPub, the W3C standard for decentralized social networking used by platforms such as Mastodon.
The fediverse is a collection of social networking services that can communicate with each other using a common protocol. Users of different websites can send and receive status updates, multimedia files and other data across the network. The term fediverse is a portmanteau of "federation" and "universe".
Micropub (MP) is a W3C Recommendation that describes a client–server protocol based on HTTP to create, update, and delete posts on servers using web or native app clients. Micropub was originally developed in the IndieWebCamp community, contributed to W3C, and published as a W3C working draft on January 28, 2016.
ActivityPub is a protocol and open standard for decentralized social networking. It provides a client-to-server API for creating and modifying content, as well as a federated server-to-server (S2S) protocol for delivering notifications and content to other servers. ActivityPub has become the main standard used in the fediverse, a popular network used for social networking that consists of software such as Mastodon, Pixelfed and PeerTube.
The Thing Description (TD) (or W3C WoT Thing Description (TD)) is a royalty-free, open information model with a JSON based representation format for the Internet of Things (IoT). A TD provides a unified way to describe the capabilities of an IoT device or service with its offered data model and functions, protocol usage, and further metadata. Using Thing Descriptions help reduce the complexity of integrating IoT devices and their capabilities into IoT applications.
Misskey is a free and open-source social networking service. Created in 2014 by Japanese software engineer Eiji "syuilo" Shinoda, Misskey was originally developed as bulletin board software. A microblogging feature similar to Twitter was added to the platform, which eventually became the main format of the service. The name Misskey comes from the lyrics of Brain Diver, a song by the Japanese band May'n.
Licensed under the Apache License, Version 2.0 (the "License")...