pump.io is a free, open source social networking project written in JavaScript and released under Apache-2.0. It has 2,238 GitHub stars, 328 forks and 679 open issues, and was last pushed 7 months ago. On this registry it ranks #16 of 44 tracked projects in Social Networking, with 5 head-to-head comparisons available.

What is pump.io?

What it is

pump.io is a social server and stream server written in JavaScript for Node.js, and it lives in the open-source ActivityStreams and social networking ecosystem. The project provides an ActivityStreams API, uses activitystrea.ms JSON as the main data and command format, and includes a web interface. Its documented purpose is to let a person post something and have followers see it, while also exposing social data in a machine-readable form.

The concrete problem it solves is the need for a reusable social layer inside an application or experiment. Instead of building a stream model from scratch, a project can use pump.io to represent posts, follow relationships, lists, and other activity-stream content. The README states that it is useful for activity stream functionality in an existing app and for experimenting with social software.

Key capabilities

  • The server exposes an ActivityStreams API, with the interface defined in the API.md file.
  • It uses activitystrea.ms JSON as the main data and command format for social objects and operations.
  • It supports posting short or long text, bookmarks, images, video, audio, events, and geo checkins.
  • It supports following friends and creating lists of people.
  • It includes a web UI for interacting with the stream server.
  • The topic list indicates decentralization and federation as project concerns.
  • It is distributed as an Apache-2.0 licensed Node.js package named pump.io.

Who uses it and how

  • Developers use pump.io as a backend when they need activity stream functionality for an existing app.
  • Self-hosters use it as a social server where users post items and followers see those items.
  • Experimenters use the web UI and ActivityStreams format to study social software behavior.
  • Community operators may use the project when they care about decentralization and federation, as indicated by the topics.
  • Client developers can build against the documented API and the activitystrea.ms JSON data format.

Getting started

The README points to the pump.io npm package and to ReadTheDocs for technical documentation, so the typical path is to install the Node.js package and follow the documented setup instructions. The README also links to the project homepage and GitHub wiki for policies and further information.

When to use it — and when not to

Use pump.io when you need an open-source ActivityStreams social server for a custom application, a self-hosted stream, or an experiment. Do not choose it if you expect a managed hosted service, because the provided facts mention no hosted option. A self-hoster must operate the Node.js service and may need to account for 679 open issues, missing contributor metadata, and operational requirements that are not specified in the README excerpt.

project readme (upstream, from github) — read inline

pump.io

This is pump.io. It's a stream server that does most of what people really want from a social network.

Build Status Coverage Status npm Vulnerabilities

What's it for?

I post something and my followers see it. That's the rough idea behind the pump.

There's an API defined in the API.md file. It uses activitystrea.ms JSON as the main data and command format.

You can post almost anything that can be represented with activity streams -- short or long text, bookmarks, images, video, audio, events, geo checkins. You can follow friends, create lists of people, and so on.

The software is useful for at least these scenarios:

  • Activity stream functionality for an existing app
  • Experimenting with social software

It also comes with a web UI.

Documentation

For information about project policies please check out the GitHub wiki, and for technical documentation see our ReadTheDocs website.

Bugs

If you find bugs, you can report them here:

https://github.com/pump-io/pump.io/issues

Colophon

This software includes the following great packages of client-side software.

  • Twitter Bootstrap
  • Backbone
  • JQuery
  • Fine Uploader
  • WysiHTML5
  • Spin.js
  • SockJS
  • Select2
  • JQuery Easydate
  • OAuth.js

It also uses these icon sets:

This sample photo is used for the main page:

License

Copyright 2011-2018, E14N https://e14n.com/ and contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Frequently asked questions

Is pump.io free to use?

pump.io is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does pump.io do?

Social server with an ActivityStreams API

What is pump.io written in?

pump.io is primarily written in JavaScript. Its source is publicly available at https://github.com/pump-io/pump.io, and it has 2,238 GitHub stars.