CommonsPub is an ActivityPub server which supports any type of activity, object and property, including any extensions to ActivityStreams.
CommonsPub is intended to be a server-side building block for creating multifunctional federated networks. Each network might have its own client app with a custom combination of functionality and user interfaces.
This is important because it enables:
- federation between people and communities who do similar things
- federation between apps who do different things
- users to have one identity (and one inbox/outbox) across many apps and communities
- increased modularity and interoperability between data schemas, federation, application logic and user interfaces.
CommonsPub will provide federation, common data schemas and identity out of the box, enabling developers to write federated apps faster by focusing only on their application-specific vocabulary, logic and user experience.
CommonsPub is written in Elixir, uses the Phoenix web framework, and runs on the Erlang VM, which helps it have a low footprint and be highly performant.