About Discourse

Discussion on Federation support for Discourse.

1 Like

thanks for the link here, really excited to see Discourse moving in this direction.

Reading what you’re hoping to achieve for v1, here are some quick thoughts:

ActivityPub (server to server) is a push-based, actor-based protocol. like WebSub, which it partially evolved out of, it’s based around users subscribing to activities (using Follow) and getting notified when they occur (using inbox distribution). there are other ways for actors to interact, but this is the most fundamental and the lowest common denominator in terms of what is actually implemented.

so just providing ActivitySteams 2.0 versions of your content, while a good first step, isn’t enough to get things federating to another platform—you’ll also need a concept of remote users and allow those remote users to Follow local actors

another assumption that might be a little tricky for discourse is that most current ActivityPub implementations assume that the actors create content and then distribute it to their own followers list—discourse works slightly differently, where actors (users) create content and then distribute it to another actor’s following list (the forum’s or thread’s). Making this work correctly, and with the right semantics, is a little tricky, and it’s something other projects have taken a stab at, but I think we’ll probably need to hash out a good, solid solution for this going forward, and it’ll require some tweaking of existing implementations.