Federation support for Discourse


(buoyantair) #1

The mail goal of this feature is to connect all the Discourse communities like how Mastodon makes use of global and local feeds to maintain a healthy and decentralized network of Mastodon instances which allows a user from one instance to connect, follow, and discuss on topics of another instance. I think this will open up a lot of new features for Discourse.

The benefit

  • Imagine being able to just connect to your own local community and then be able to get news about other topics from other Discourse communities you followed elsewhere!
  • You no longer have to create an account in every Discourse community because you can always subscribe and comment on topics in those communities!
  • It structurally decentralizes all the communities while at the same time connecting everyone!

Things to note?

  • An instance owner has the ability to block certain people from other communities from interacting with their community.
  • They also have the right to choose the community to be private or that the content of the community can only be shared to a particular group of communities.

I have not really thought about the cons of this feature but do let me know what you think about this feature!


ActivityPub Implementation for Discourse
(Kane York) #2

These three aren’t actually a benefit over what Discourse already has today. In fact, it makes the first two harder to do – there’s a lot of trust in the account server operators involved with private sites.


(Jeff Atwood) #3

Is there any web-federated system at scale that has actually worked, become popular, and is actively in use? I think this is an inordinately hard problem.

I’m unclear how viable Mastodon is in terms of it being a real competitor to a massively centralized service like Twitter – as I understand it, Mastodon is a Twitter clone, but decentralized?


(buoyantair) #4

From what I have seen, there are a couple of federated systems like Mastodon and Matrix. These are pretty active places and also have bridges to other platforms (IRC, twitter etc). Mastodon is not really a competitor, it’s main purpose was to provide a decentralized twitter where every community is governed by it’s own rules.
Matrix implements it’s own protocol to make federation system possible, I think Mastodon does the same.

There is a protocol that’s still actively being developed by W3C called “Activity Pub”
https://www.w3.org/TR/activitypub/


(buoyantair) #5

Oh well this is not a benefit, sorry. I meant that if I owned a discourse instance and other people from other discourse communities are also able to discuss about topics in my community, I am able to define rules on how others interact with my community’s topics. It should be as simple as blocking or banning a user on my instance. But that doesn’t mean that the user is not able to participate in other discourse forums.

It’s not a benefit, I agree, this feature is already partially implemented in Discourse (to make it private etc) I guess what can be implemented if a federation exists is the ability to give the owner to choose which communities are allowed and which are not. I haven’t really thought of it.

Hold on let me make some edits :joy:


(Cameron:D) #6

IRC and email are, I’m pretty sure, the only two that are used outside of an ideological niche.

IRC was properly decentralised very early on, but due to spam, attacks, takeovers, etc. it evolved into a handful of seperate, closed, networks (efnet, freenode, etc.). These days it’s been mostly replaced with fully centralised services.

Likewise, email was completely decentralised but over time (and for similar reasons) it has become very centralised to just a few large providers (i.e. Gmail, Outlook, Yahoo, and sending services like Mailgun and MailChimp). And while running your own mail server is still possible it requires frequent upkeep and configuration to ensure all those large providers keep accepting your mail.

I suppose you could also include BitTorrent and DHT as well, they are decentralised and seem to work fairly well, though it can and has been flooded with fake peers and requests in the past.

As far as I know, new decentralised services like Mastodon and Matrix are yet to run into and deal with those problems (I’m happy to be shown otherwise).


#7

Discussed at length before, allow me (and note these have embedded related topics too, enjoy :slight_smile: )

http://opensym.lero.ie/wp-content/uploads/2017/08/a8-silva.pdf

https://schub.io/blog/2018/02/01/activitypub-one-protocol-to-rule-them-all.html


ActivityPub for federation
(buoyantair) #8

Awesome! Great addition! I did not even think about Email and IRC! ha! and yes, even torrents are mostly decentralized and peer to peer.

Another good example is the Onion network. It is also pretty much a peer to peer decentralized platform!


(T. H. Wright) #9

Another federation example in the wild is a Nextcloud-style federation for file shares. I’m sure the software’s support could be extended further as well.


(buoyantair) #10

I never knew that was actually around! :open_mouth: Seems great!


(Pierre Thierry) #11

Email is still self-hosted by tens or hundreds of thousands of companies around the world. Most ISPs provide their own mail server to their users too. So maybe email is less decentralized than before, but it’s in no way become centralized.


(Jeff Atwood) #12

Here is a nice explainer

I still think this is so intrinsically hard and so difficult to get working at scale that I feel anyone taking this on is falling into a kind of Xanadu trap — the more effort you spend traveling toward it, the farther away the goal gets.


(Muireann Ní Sídach) #13

I beat this drum a long time ago. The point made regarding a plurality of identical names across disparate CDCK Forum instances could be possibly be addressed with an Alias Table. Not a literal SQL Alias Table but a Reference Table of Alias. My actual concern about that is in creating a central repository that just shouts “Come, hack me!” Hence my curiosity about the creation of an Open Source ie FSF Blockchain SSO that possibly works in conjunction with Let’s Encrypt. I’m researching this for use within an envisioned Discourse-based Fediverse exclusive to constituents of the APFU|CC, a Federation Union of Worker-Owned Cooperatives.

I am trying to discern the feasibility of creating a HIPAA/NOPP Compliant Personal Roaming Profile Registry that can eventually pass regulatory muster.

Initial trial use within the aforementioned federated network of Discourse forum communities, with a curated suite of like platform applications introduced beginning with Rocket Chat, for Slack-like Real-Time Communications complementary to the long-form format of Discourse.

The goal is to use a variant of participatory action research and design thinking with stakeholders to programmatically develop this proposed ecosystem, specifically addressing the needs of agnostic portability across a broad spectrum of transactional contexts requiring Authentication, Authorization, and Accounting, with Secure Transport vis-à-vis Diameter-based Protocol, de rigueur.

On several occasions, the concept of a Blockchain SSO would creep into my thoughts.

That was so long ago that I was certain someone already was doing it, and was proved entirely correct in that assumption on discovering Civic has a Blockchain SSO product.

This proposal would require a time-series variant of Postgres DB SQL, TimescaleDB for example because everything I am doing revolves around mobility in real time.

I would appreciate commentary by any DB Engineers in the Meta-Discourse family about installing Discourse on the TimescaleDB.

Hope that makes sense to you. If not, ask me.