Matrix protocol for chat

I agree that this should be something worth to be funded externally. A technical link between the growing number of Matrix implementations and the Discourse chat and discussion ecosystem is an interesting approach, could help on both sides and thus improve the networking of de-centralised and independent discussion instances, pretty similar to the general “fediverse” idea.

I could assist in getting funds from the german sovereign tech fund (STF). The STF was established only recently by the german FEDERAL MINISTRY FOR ECONOMIC AFFAIRS AND CLIMATE ACTION (BMWK).

Mission statement

The Sovereign Tech Fund supports the development, improvement and maintenance of open digital infrastructure. Our goal is to sustainably strengthen the open source ecosystem. We focus on security, resilience, technological diversity, and the people behind the code.

In fact its similar to the (well established in Europe) dutch NLNet foundation at https://nlnet.nl/ . For details see

I could assist in getting in contact with the STF. See Application Info | Sovereign Tech Fund
for details concerning applications

7 Likes

Concerning STF funding: the next round starts in spring 2024 (soon).

Preferably, an application should be started from Civilized Discourse Construction Kit Inc. or another legal entity, no matter whether its based in the EU or not.

3 Likes

Hello, fabulous people! Josh here, the no-longer-quite-so-new Managing Director of the Matrix.org Foundation. Naturally, we remain thrilled about this possibility.

Please don’t hesitate to reach out if there’s any way we can be of assistance, whether that’s making useful introductions, providing a letter of support for a grant application, or something else entirely.

13 Likes

Hi @joshsimmons welcome!

Do you have any idea how much work it would require to interconnect a Discourse topic to a Matrix room? Right now we can send new topic or post notifications from a Discourse category to a Matrix room, but this is very different from bridging Discourse and Matrix, while preserving Discourse Trust Levels and category permissions.

Would the Matrix.org Foundation be ready to pull in some people to the task?

1 Like

@david @sam @Falco @joshsimmons @mcwumbly

What are the next steps from now? What needs to be done to

a) get Matrix Foundation and Civilized Discourse Construction Kit, Inc. together
b) create a development project for a technical link between Discourse and Matrix
c) have some paperwork ready which is solid enough to apply for funding e.g. from the german Sovereign Tech Fund (STN), see link above …

As I said before, I am based in Germany and have some contacts to officials in Berlin which may be helpful for the next steps …

3 Likes

This is in @mcwumbly and @lindsey’s court, the update from Dave still stands:

I hear you frustration here, you want this built, you feel it would be awesome and it is amazing to see @joshsimmons here.

Last time when I tested the alpha version with @dan the protocols made it very very rough to get stuff working.

What we wanted?

  1. Add site.discourse.org to an Element matrix client
  2. Start chatting

What we happened?

  1. User mapping and user spaces were very complicated to reconcile
  2. Needed a bunch of custom proxies
  3. No easy way to just “add a site” to the Element client

The effort died down sadly cause Dan no longer had time to work on this. I am not sure that what we have here is a money problem. It’s more of a people problem, we need somebody capable of delivering here that understands both matrix and discourse really well. These people are extremely rare.


I guess a big question for @joshsimmons is, “is the dream even technically possible”? Maybe some people from Matrix side can help with where the protocol is at.

11 Likes

I think this sums it up pretty well:

I think it’ll either take someone like this surfacing serendipitously, or it’ll take this rising to the level of importance for us where it makes sense for us to shift focus away from some other priorities and towards matrix support. But we haven’t yet seen a compelling case to do that yet, so the opportunistic option seems more likely in the short term.

4 Likes

I understand that we are talking about the compatibility of the Discourse chat, not topics. Because matrix servers are not forum platforms, but chat platforms. It took the rocket.chat team about a year to get stable matrix support.

4 Likes

Thank you for refocusing @volanar. Indeed having Matrix compatibility with Discourse chat would be so great, finally interconnecting with open standards.

I’m re-asking for Discourse chat ↔ Matrix compatibility then:

1 Like

Looks like Rocket Chat ended up very close to where we are at.

You need to set up a homeserver first using synapse and then you bridge to that. Setup is going to be tricky here and whoever runs this is going to need to reason about another big piece of software.

Activity Pub on the other hand is far simpler in that it is a standalone plugin.

This makes a massive difference to adoption.

4 Likes

Also thanks to @volanar for the clarification. My intention (I guess others here have similar thoughts) is interoperability between Discourse chat and Matrix chat. Not some “translation” of the Discourse threaded communication into a chat system.

Rocket.chat has “threaded chats” but the overall functionality of Rocket.chat is still a chat platform. While Discourse is primarily a discussion platform with an additional chat option. The goal from the user perspective is to have simple switching between short-living chat communication (including a link to/from Matrix) and long-living threaded communication inside a Discourse instance.

3 Likes

Rocket.chat does not require an additional server, it supports the matrix itself. Also, for discourse, you do not need an additional server, you need an additional plugin for chat, which, like the activitypub plugin, will support the matrix protocol. This way we will get the best of both worlds. The forum owner chooses whether to use it or use the forum without additional plugins.

1 Like

Aaron from Rocket.Chat just published an excellent guide & video tour for how to actually set up your Rocket.Chat instance with Dendrite to get talking Matrix!

Dendrite … that is not native, it is via a bridge that does the matrix protocol heavy lifting.

In case I am missing some newer announcement…

1 Like

@volanar @sam

Synapse is the classic matrix server, the technical base here is Python. Dendrite is the second generation of matrix, written in golang with a cloud- friendly microserver architecture, but still considered as " beta"

2 Likes