Pump.io

Last updated
pump.io
Original author(s) Evan Prodromou et al.
Developer(s) E14N
Initial releaseSeptember 23, 2016;7 years ago (2016-09-23)
Final release
5.1.4 [1] [2] / 18 September 2020;3 years ago (2020-09-18)
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]

Contents

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]

Technology

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:

Pump.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.


Standardization

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.

See also

Related Research Articles

<span class="mw-page-title-main">SOAP</span> Messaging protocol for web services

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.

<span class="mw-page-title-main">OpenSocial</span> Public specification aimed at social networking applications

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 Open source social networking and micro-blogging service

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.

<span class="mw-page-title-main">GNU social</span> Free and open source software microblogging service

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.

<span class="mw-page-title-main">Activity Streams (format)</span> File format

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.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

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.

<span class="mw-page-title-main">Evan Prodromou</span> American software developer and open source advocate

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.

<span class="mw-page-title-main">Fediverse</span> Network of federated social media platforms

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.

<span class="mw-page-title-main">ActivityPub</span> Decentralized social networking protocol

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.

<span class="mw-page-title-main">Thing Description</span>

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.

<span class="mw-page-title-main">Misskey</span> Federated social networking service

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.

References

  1. 1 2 "pump.io". pump.io.
  2. "Releases · pump-io/pump.io". Github. Retrieved 2020-12-11.
  3. "website" . Retrieved 2014-03-22. Licensed under the Apache License, Version 2.0 (the "License")...
  4. Prodromou, Evan. "E14N Post". Archived from the original on 22 March 2014. Retrieved 21 March 2014.
  5. 1 2 Behrenshausen, Bryan. "pump.io: the decentralized social network that's really fun". opensource.com. Retrieved 21 March 2014.
  6. 1 2 3 Nathan Willis (March 27, 2013). "StatusNet, Identi.ca, and transitioning to pump.io". LWN.net. Retrieved 2014-03-20.
  7. "Commits · pump-io/pump.io". GitHub. Retrieved 2024-04-04.
  8. Shankland, Stephen. "Social networking built into the Web? W3C gives it a go". CNET.
  9. "Sandstorm And The Social Web". zenhack.net. Archived from the original on 2020-10-30. Retrieved 2017-08-20.
  10. "ActivityPub". www.w3.org.