The link goes to a related post on another community so I don’t have to duplicate it here.
Basically, I’d like to discuss tech options for a Reddit/Lemmy alternative. Here’s what I’ve found:
- Iroh - early days alternative to IPFS promising improved performance and application control
- Appleseed - old-ish proposal for a distributed trust system - I’m thinking of using it for moderation (i.e. if you block/report similarly to someone else, that will get automated; you could also explicitly trust someone else [e.g. a CP-detector bot])
- TrustNet - builds on Appleseed - still reading through the paper to know what it adds over Appleseed, if anything
Goals:
- distributed storage - worried the fediverse will scale poorly (become too expensive)
- distributed moderation - power-hungry mods suck
- local-first - cache/host stuff you care about, reserve some space for preservation
Non-goals:
- make money - it’s a hobby for now, everything would be FOSS
- image/video hosting - legal issues if you get random CP or something
- preserve all data - I’d rather sacrifice older/less popular content than lose users - community can run caching servers
- fediverse compat - P2P makes that difficult, but a bridge should be feasible
Thoughts? What am I missing?
Also, would anyone like me to post updates? It’ll mostly be stuff from my research, if I post code, it won’t be for a while (I have limited time).
Quick question do you have a git repo for this yet?
Also have you looked at briar because it could be interesting to incorporate some of the Bluetooth based stuff from that.
Not yet, I don’t release projects until they’re useful for others with just the documentation provided, and I’ve been taking a bit of a hiatus due to family vacations and whatnot.
I do have a private git repo I’m working in, and I’ll make it public once it’s usable. I have basic infrastructure set up and multiple clients can communicate, but they don’t yet share the full state. Next steps are:
- Clients should be able to connect and sync the full state by just fetching differences
- Some basic level of moderation - planning for something like a web of trust, but with transitive, fractional trust
- Stress testing and a rapid rollout plan for relays (needed to connect peers); I have one relay, but I’ll probably need a swarm if it gets any kind of traction
It’ll probably take a few months of work to get there, but I have the basics of 2 in the works, and I think the library I’m using for 1 is going to get a 1.0 release soonish, so I might delay until then. Things that won’t work when I launch:
- web - it’ll be a desktop only app, but the client is built in tauri, so web may be an option eventually
- mobile - tauri’s mobile support is still in beta, so I won’t launch with that (and it’s a lot of work getting releases going)
- non-text posts - only links or text are supported, markdown works too
- fediverse bridge - I’d like to build this, but I don’t understand ActivityPub well enough to just jump in yet
Anyway, I’ll post on a few places once it’s ready. Maybe by the end of the year, by probably not.