Should we run a Matrix server?
What do you think?
Matrix is a federated chat protocol.
Running our server would result in people being able to have a @username:social.coop Matrix ID.
https://app.element.io is the main web client (there's also Android and iOS versions.)
https://anagora.org/matrix for my notes on this and additional pointers.
Darren Tue 11 Oct 2022 12:19AM
I just wrote a load of stuff related to this in the social coop tech chat room on matrix
Ill spare everyone me reposing it here.
Can read it over there at
Or
#socialcoop-tech:matrix.org
Danyl Strype Wed 12 Oct 2022 9:52AM
It took me some effort to find your comment after clicking that matrix.to link. A summary of your key points here would be helpful if you have time to post one.
Danyl Strype Sat 15 Oct 2022 9:32AM
An eJabberD server might be a good option, once the matrix protocol support is added to the free code Community Edition:
https://www.process-one.net/blog/matrix-protocol-added-to-ejabberd/
Eduardo Mercovich Sun 30 Oct 2022 9:15PM
I don't know others, but for me would be helpful to evaluate this proposal what is it's objective. Is it only to have a chat base for our community or are there other things too? If other, what other objectives we (can) have? Are we pointing to provide what services, if that is knowable/discussable now? For example, could we provide some private groups too? What about interoperatibility, or future migrations?
Sorry if these questions seems obvious to all of you, but since I'm new and this is a bit out of my waters, this could be a way to help to help. :)
Best...
jonny Tue 1 Nov 2022 3:33AM
I defer to others that are more intimately aware of the tech and politics around Matrix, and sorry if this is off-topic but I'm curious if anyone can comment on why Matrix (or maybe more specifically synapse) is so costly and difficult to maintain?
Re: purpose - different mediums have different purposes and support different kinds of interactions. Eg. we are here as opposed to masto because it's easier to have longform, structured, discoverable conversations across the whole instance. I see a chatroom as having non-overlapping purpose with the masto instance and here as a more ephemeral way of communicating within instance. I think one think we can do better as a co-op is intra-coop cohesion, and currently I don't know of a good way to shoot the shit with y'all. Loomio feels very formal, seeing as how it is the governance mechanism and all, and there has been limited uptake in the guppe group.
I don't have a strong preference of any particular implementation over another, but I also would like to be able to use this as my home instance, particularly if it's possible for me to start my own "rooms" eg. for projects that I'm a part of where I can invite some collaborators to talk without needing to use eg. gitter or start my own server. From what I understand about Matrix/Element that should be possible (question mark?) but also thinking more broadly about our engagement with the larger decentralized social world I think it would be lovely to show up and build more of a cohesive community together :)
Nathan Schneider Tue 1 Nov 2022 5:57PM
Yes, I think you should be able to do that in a Matrix instance we run—create your own spaces. But that does raise the question of purpose. Is the goal to provision Matrix for Social.coop members to use in their lives in whatever ways? (In which case, why not just use Matrix.org, which is free?) Or is it just for Social.coop business?
As much as I love Matrix, I guess I'm starting to lean against this.
jonny Wed 2 Nov 2022 9:38AM
this, to me is a pretty good reason, in line with general decentralization principles :)
Ed Summers @edsu Wed 2 Nov 2022 3:41PM
@Nathan Schneider Do we use the social.coop Mastodon instance only for social.coop business? I think most of use it in lots of ways that aren't directly related to the ongoing work of social.coop?
If there were a social.coop Matrix server I would likely want to use it to connect to all the channels I'm currently in (not just in social.coop space). But maybe we would want to have some rules around the types of channels that could be created and hosted directly at social.coop and who could create them?
Sam Whited Tue 8 Nov 2022 3:38PM
This proposal also has some overlap with the current proposal to join MayFirst as they already host chat services. It may be worth considering whether it's worth having the duplication with MayFirst if we do in fact become an organizational member. More info: https://www.loomio.com/p/Cr9mG76W
Nathan Schneider Wed 9 Nov 2022 6:31PM
May First does not offer Matrix (though it might in the future), so I don't think it's duplication.
Sam Whited Wed 9 Nov 2022 11:55PM
I said "some overlap", I think that's accurate and it's worth considering using their chat services in the future instead.
Zee Spencer Fri 11 Nov 2022 6:22PM
I'm generally in favor of exploring a matrix or other federated chat system with E2EE support via social.coop.
Darren Sat 12 Nov 2022 6:40AM
My concerns about us having our own matrix server are mainly around the resources involved. Unless theres been significant changes in the last couple of years it will take a lot more money and, I think, more importantly attention from our volunteer sys admins to keep it running well. We havent always done amazingly keeping our mastodon instance running well and updated. Theres been a number of people whove put in heroic efforts over the years keeping things running.
To answer @jonny appatrently the problem with synapse is largely that it's written in python which isn't at all suited for the task at hand.
The folks at matrix.org have been working on an alternative, Dendrite (i forget the language) for years, but its still missing significant features. Same with the independent server implementation conduit which is written in rust.
Id agree that the point of running our own server instead of using matrix.org would be similar to why we have our mastodon rather than all just use mastodon.social
Finally an alternative is to use XMPP, which is functionally similar. We could do this more easily. Its been mentioned above that one of the two main server options eJabber is in the process of rolling out support for the matrix protocol, which is interesting.
Also as Sam has been suggesting May First run a XMPP server for their members, so we could maybe make some arrangements with them? Provide their members with use of mastodon if ours can use their XMPP?
I regularly use both. Matrix feels more new and vibrant with more people in its public rooms. Also has more bugs and federation issues.
XMPP feels more basic/old but has been pretty rock solid for me. The main android client works well and is likely to get a major update soon(ish). Also has amazingly low battery drain on phones without Google Play Services, unlike matrix/element.
Not sure if theres a decent iOS xmpp app yet? I've heard people grumble a fair bit, but dont really pay attention.
Lots of app options on desktop / laptop
Bo Jeanes Tue 15 Nov 2022 8:50PM
My concerns about us having our own matrix server are mainly around the resources involved.
Agreed. The Synapse server is difficult to scale efficiently.
That being said, both the official Go rewrite (https://github.com/matrix-org/dendrite) and the third party Rust one (conduit.rs) have come a long way. They may be easier from a technical operations perspective even if they haven't reached perfect feature parity (yet -- but doesn't seem far off).
Eduardo Mercovich Tue 15 Nov 2022 11:11PM
Regarding XMPP, there is a current integration going on between a server and clients for Android + iOS in https://snikket.org/
Boris Mann Wed 16 Nov 2022 2:49PM
I was on the XMPP Board one year almost 20 years ago now. I’m also in favour of Matrix.
As a protocol and community it is doing a number of different things. The code and protocol are open and able to be used by anyone.
here’s a metaverse project being built on Matrix https://thirdroom.io
Real-time encrypted group chat is a different, complementary thing to Microblogging on ActivityPub.
I’m in favour of running a Matrix instance.
Dynamic Mon 5 Dec 2022 3:44AM
I strongly support the creation of a Matrix server for social.coop. I am currently on a private (unfederated) Matrix server that my spouse (Tim) runs off of a home computer, and the interface is very comfortable and easy to use. The interface is similar to Discord or Slack.
My partner, Tim says:
"Our server runs on Dendrite, which is the official/future higher-performance replacement for Synapse—although the protocol continues to evolve, so Matrix developers are having to update *both* servers, dividing their efforts. It uses Postgres for a database but is otherwise fairly self-contained. I have it installed via a set of Ansible scripts <https://github.com/timmc/commapps/blob/master/roles/matrix/README.md>. Ours is not federated, which is partly for performance reasons and partly for safety reasons. (Our young kid is on it, and there's no way to block DMs from off-server, I think?) Dendrite has improved dramatically in stability and performance recently, so I'm optimistic that it's a good path to take. (Joining a huge room also might no longer bog down or kill the server these days, but I haven't checked. I'm also running this on a 10 year old laptop, to be fair.) We also have our own Element-web instance, which is extremely easy to host—this is important for the signin experience, as the main Element instance defaults to signin to matrix.org. And finally we run a matrix-registration UI, which allows friends to sign up using a registration token. Social.coop would probably create accounts manually instead, though."
Tim also notes that we have run into some glitchiness in the user interface for encrypted messaging, and that we mostly only use encryption for 1:1 chat, not for rooms.
He says he's found it easy to administer (though federation might make this more complicated), and would be happy to answer any questions that others might have.
Nathan Schneider · Mon 10 Oct 2022 2:38PM
Thanks for your perspective, @Danyl Strype. This is really helpful context for me. I know MayFirst.coop, which has stalwartly stuck with XMPP, is now exploring Matrix finally as well.
FWIW, I have been running Synapse on my lab's server for a few years with no problems, maintained with Cloudron. But that is a smaller user-base.
It's also telling that there already is a Social.coop conversation happening on Matrix, using a Matrix.org space (which is featured on the main info page of our Loomio space). Clearly people in this community find utility in it.
Given this conversation about extra funds, I wonder if folks from the Tech Working Group could ballpark a sense of what additional funds would be needed to support a Matrix server. I'm not actually sure who is a member these days...