Skip to content
This repository has been archived by the owner on Feb 13, 2024. It is now read-only.

bonfire-networks/CommonsPub-Server

Repository files navigation

CommonsPub Federated Server

About the project

The CommonsPub server is currently being refactored into the Bonfire federated app ecosystem/

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

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

There is a bundled front-end built with Phoenix LiveView (and an older React frontend in a seperate repo).


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