/zenpub

Reflow federated economic network

Primary LanguageElixirGNU Affero General Public License v3.0AGPL-3.0

ZenPub Federated Server

hello

About the project

ZenPub is a WIP backend for the Reflow project, which has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 820937.

It is a flavour of CommonsPub, a federated app ecosystem based on the ActivityPub and ActivityStreams web standards).

This is the main repository, written in Elixir (running on Erlang/OTP).

The federation API uses ActivityPub and the client API uses GraphQL.


Documentation

Do you want to...


Forks and branches

Flavours

CommonsPub comes in different flavours, which are made up of a combination of extensions and probably some custom config and branding. Each flavour has its own branch in the CommonsPub repo:

  • flavour/commonspub - Contains the generic flavour of CommonsPub (currently packaged with all extensions)
  • flavour/zenpub - WIP ZenPub flavour (which will use ZenRoom for public key signing and end-to-end encryption
  • flavour/haha - WIP for HAHA Academy

Extensions

Features are being developed in seperate namespaces in order to make the software more modular (to then be spun out into individual libraries):

  • lib/activity_pub and lib/activity_pub_web - Implementation of the ActivityPub federation protocol.
  • lib/extensions/value_flows - WIP implementation of the ValueFlows economic vocabulary, to power distributed economic networks for the next economy.
  • lib/extensions/organisations - Adds functionality for organisations to maintain a shared profile.
  • lib/extensions/tags - For tagging, @ mentions, and user-maintained taxonomies of categories.
  • lib/extensions/measurements - Various units and measures for indicating amounts (incl duration).
  • lib/extensions/locales - Extensive schema of languages/countries/etc. The data is also open and shall be made available oustide the repo.
  • lib/extensions/geolocations - Shared 'spatial things' database for tagging objects with a location.

Please avoid mixing flavours!

For example, do not merge directly from flavour/commonspub-->flavour/zenpub.


Licensing

CommonsPub is licensed under the GNU Affero GPL version 3.0 (GNU AGPLv3).

Copyright © 2017-2020 by all contributors.

This repository includes code from:

  • CommonsPub, copyright (c) 2018-2020, CommonsPub Contributors
  • Reflow, copyright (c) 2020 Dyne.org foundation, Amsterdam
  • HAHA Academy, copyright (c) 2020, Mittetulundusühing HAHA Academy
  • MoodleNet, copyright (c) 2018-2020 Moodle Pty Ltd
  • Pleroma, copyright (c) 2017-2020, Pleroma Authors

For a list of linked libraries, including their origin and licenses, see docs/DEPENDENCIES.md