CPub

CPub is an experimental ActivityPub server that uses Semantic Web ideas.

The goals of CPub are:

  • Develop a general ActivityPub server that can be used to create any kind of structured content.
  • Use Linked Data (RDF) as data model.
  • Experiment with content-addressing (see ERIS) and Commutative Replicated Data Types (CRDTs) (see DMC)
  • Make deployment of a server as easy as possible (minimal configuration, use the VMs built-in database.
  • Federate by using the ActivityPub protocol and use the ActivityPub Client-to-Server protocol.
  • Implement the Linked Data Platform (LDP) specification.

See the demo for an overview of some of the implemented ideas.

The source code of CPub is available at codeberg (AGPL-3.0-or-later).

CPub was developed for the openEngiadina project as a platform for open local knowledge.

Status

Development of CPub is discontinued. The openEngiadina project is currently using the XMPP protocol and existing server software (e.g. ejabberd or Prosody). See also this post.

CPub is the result of much research and development into how generic and decentralized data models can be used over the ActivityPub protocol. The work continues within the openEngiadina project with a focus on other protocols. Projects or inviduals who are interested in continuing the development of the ideas within the ActivityPub protocol may be interested in using CPub as a starting point and we would be very happy to support you in such an endeavor. Please feel free to get in contact.

Other related projects include: SemApps, rdf-pub and Bonfire.

Acknowledgments

CPub was developed as part of the openEngiadina project and has been supported by the NLnet Foundation trough the NGI0 Discovery Fund.