Syndicate A Conversational Software Ecosystem

Source-code Repositories

The project code is hosted on a Syndicate-project-specific forgejo instance.

Active repositories

These repositories are where the bulk of active development is happening.
(List current as of 07 Aug 2024; see here for a live list.)

See the project journal to follow along with the development process.

Repository Description
preserves Mirror of https://gitlab.com/preserves/preserves
syndicate-java Java implementation of Dataspaces and Syndicate.
syndicate-js TypeScript and JavaScript implementation of Dataspaces, Syndicate, and TypeScript language support for Syndicate. Targets both the browser and node.js.
syndicate-protocols Protocols for communication among Syndicate actors across various kinds of network and other communications media
syndicate-py An implementation of Syndicated Actors for Python
syndicate-rkt Racket implementation of Dataspaces and Syndicate.
syndicate-rs Rust implementation of Dataspaces, Syndicate, and a high-speed networked dataspace broker.
syndicate-sh Access remote actors, publish services, subscribe to messages and state updates etc., via the Syndicate network protocol from bash (and perhaps other shells).
syndicate-ssh An implementation of the SSH 2.0 protocol (client and server) in Syndicate/rkt.

Historical repositories

These repositories relate to previous stages of the project.
(List current as of 07 Aug 2024; see here for a live list.)

I’ve written a little bit about the historical development of Dataspaces and Syndicate here.

Repository Description
hop-2012 Historical interest only: Prototype of a sensible recursive message broker
js-marketplace-2014 Historical interest only: Implementation of Marketplace/Network Calculus in Javascript.
marketplace-2014 Historical interest only: A Dataspace-like language and system that led to “Network Calculus” (ESOP 2014) and minimart-2014, in turn a predecessor to Syndicate.
marketplace-dns-2014 Historical interest only: marketplace-2014-based implementation of a DNS server and recursive resolver.
marketplace-ssh-2014 Historical interest only: marketplace-2014 implementation of SSH.
mini-syndicate-py An implementation of the Syndicate broker protocol for Python
minimart-benchmark-2017 Historical interest only: benchmarking scripts for various NC/Minimart/Prospect/Syndicate implementations. Mostly active during my PhD research.
novy-syndicate First capability-securable implementation of Dataspaces.
racket-dns-2012 Historical interest only: Predecessor to marketplace-dns-2014, implemented using racket-matrix-2012.
racket-matrix-2012 Historical interest only: Predecessor to marketplace-2014.
racket-ssh-2012 Historical interest only: Predecessor to marketplace-ssh-2014, implemented using racket-matrix-2012.
racketmq-2017 RacketMQ, an implementation of a W3C WebSub Hub.
syndicate-2017 The version of Syndicate current at the conclusion of Tony Garnock-Jones’s PhD research, end-of-2017/start-of-2018.
syndicate-gui-2017 Demo window system / GUI, for syndicate-2017.
treetrie-2015 A C implementation of a trie map that can hold (patterns over) ordered trees in its keys. Proof-of-concept for high-speed routing data structures for Syndicate.

Demo repositories and larger programs

These repositories contain larger Syndicate-based programs/demos/examples.
(List current as of 07 Aug 2024; see here for a live list.)

Repository Description
racketmq-2017 RacketMQ, an implementation of a W3C WebSub Hub.
syndicate-gui-2017 Demo window system / GUI, for syndicate-2017.
syndicate-ssh An implementation of the SSH 2.0 protocol (client and server) in Syndicate/rkt.