What the hell is Scuttlebutt?
I've been spending a lot of time around the edges of Scuttlebutt, where we interface with the filesystem / network / human, and I've started to wonder where (and how!) we draw our boundaires. I've been working on a plugin that uses Dat for feed replication and it's been coming along very nicely, but I'm starting to wonder whether I'm working on Scuttlebutt or something else.
This is mostly just the ship of Theseus all over again, but I feel like pulling on this thread is bringing me somewhere interesting. We could use Dat for our database and replication, build on the ActivityStreams vocab for message semantics, or switch away from our custom JSON signature scheme, but I'm not clear on how much backward-compatibility we need before we've wandered into new territory.
Put another way: how do we decide as a community when and how things are deprecated? Small changes (like Markdown newlines) break backward-compatibility with what the author intended, which should be avoided, but I'm concerned that we don't have a way to deprecate interfaces that are exposed to peers (like createHistoryStream()
). I feel confident that we'll be able to resolve these things as a community, but I'm feeling some ambiguity and would love to explore how we draw the boundaries around the moving target that is Scuttlebutt.
❤