Spritely

Spritely is a project to level up the federated social web (Federated SocialNetwork. It builds on our experience from co-authoring ActivityPub, the largest decentralized social network on the web to date, while applying lesser known but powerful ideas from the object capability security (Capability Based Security) community. Spritely consists of a number of modular components bringing new and rich features, from distributed programming, to decentralized storage, to virtual worlds. https://spritelyproject.org/

Goblins makes writing secure distributed programs (cf distributed computing) easier and safer, even in a mutually suspicious network. Its quasi-functional nature gives it easy transactionality and even time travel. (Yes, time travel!) Goblins implements CapTP, the Capability Transport Protocol, which has such features as distributed acyclic garbage collection and reductions of network round trips through promise pipelining. But its biggest feature is how easy it is to write safe distributed code, which by following object capability security, which mostly resembles normal programming patterns of passing around object references.

Porta & Bella allow for the storage and distribution of files while keeping their contents only known to those who have been authorized to access them by receiving the appropriate capability URI. Porta refers to our mushroom friend, who provides immutable file storage, and Bella refers to the vine, who allows for updates by stringing together multiple Porta entries.

We want to make it easy to hook together programs written in Goblins to the existing ActivityPub speaking federated social network. Thankfully this should be a very clean mapping, because both Goblins and ActivityPub follow the classic actor model. Mandy's design is to bridge the worlds of distributed Goblins programs and ActivityPub by providing an easy mapping between them.

Apr'2023: any working integration with ActivityPub/Mastodon? There is none yet - keep an eye on spritely.institute for updates as progress is made! I'm not actually affiliated with Spritely (I did some contract work for them), so with that caveat... My understanding is that stuff like that is further down the timeline, after Goblins is in a more finished state and things like OCapN are more solidified. Of course, anyone can use Goblins to start building AP software today if they want - though I believe the Spritely vision is more of a separate, non-AP network that can then be bridged to AP.

Apr'2021 hn comment Spritely has some pretty wild ambitions... I won't go into them in detail, the video near the top of the above site explains better. But achieving those in a feasible timeframe means we need some better tooling. Goblins is the foundation of that; it's implemented as a Racket library, but can/will be ported elsewhere.... we're implementing a peer-to-peer distributed object programming protocol called CapTP (which includes wild things like distributed garbage collection over the network (for acyclic references), "promise pipelining", and is object capability secure). The next release will be advancing that work significantly. The Agoric organization is also implementing CapTP, but their stuff is in Javascript instead of Racket; we plan to have our CapTPs to converge. Thus it shouldn't really matter whether you write your code in Javascript or Racket, your code should be able to talk to each other.

Sept'2020 hn comment


Edited:    |       |    Search Twitter for discussion