Hacker News new | past | comments | ask | show | jobs | submit login

Apologies if my timings are off in this comment. They should be close enough to make my point, but it can be hard to find the actual dates.

I have run a Synapse server for almost 8 years, by my reckoning. For most of that time I have been a $15/mo supporter.

For several years, I had been hoping Dendrite would be released, along with a migration path to get my users over there. Synapse's resource usage is not great. I do run workers in order to improve performance.

I'm waiting for an official migration path because I don't want to have to migrate my community again like I did when we moved from Slack to Matrix. It takes a lot of work just to move people over, and you always lose a couple people, which is a serious cost.

Early last year I learned that they had put that on ice due to money issues. So there wasn't much hope of moving to a lower-cost Matrix implementation without a lot of headache. This makes sense. Building a homeserver implementation while maintaining an older one is expensive.

For a year or more we've had quite a few blog posts saying that there's not enough money and that large organizations join the Matrix Foundation. This makes sense. Those organizations have enough money to keep it going, unlike my small monthly donation, which doesn't really matter all that much in the grand scheme of things.

It's been quite a while since we've seen a new user-facing feature, and longer since we've had a selling point (which I could use to answer the question "why should I move to Matrix?"). It makes sense to prioritize functionality over new features, particularly when you've got a limited budget. But we still don't have some features which are very popular in Discord and Slack, like custom react images; these are implemented in other clients, like Cinny, but not Element.

Last year they released Sliding Sync in Synapse, deprecating the Sliding Sync Proxy which I had been running to support clients who wanted to use Element X (a new client implementation). I personally haven't switched since Element X does not support Spaces. Moving Sliding Sync into Synapse saved me some resources supporting those clients. It was a little hard to tell when it was safe to remove the Sliding Sync Proxy; I had to track a couple Github issues. Matrix used to have a public roadmap, but it's no longer updated, so it's hard to keep up with the status of different features in development.

After that they released Matrix Authentication Service (MAS), which is an additional service to deploy that moves the internal authentication functionality out of Synapse and interfaces with Synapse using OIDC. I haven't deployed it yet. They say it will eventually get rolled into Synapse, so I'm intending to wait for that.

All in all, it does not feel like the things I want, and (assuming I'm not a completely unusual case) that the community wants, are high priority for the Element team. Donations the size of mine don't make a difference for their budget. They're spending what budget they do have on refactors like MAS, which don't seem to impact usability (though perhaps they do if you have a massive homeserver). They spend time and effort supporting new features which make Element X faster (Sliding Sync) but have not yet implemented all the core functionality (Spaces) so there's not much reason to move.

I concluded a few months ago that our interests are not aligned any more and stopped donating. I know I'm not owed anything for my donations. I donated to support a project which I was excited about. This announcement, and that RAM graph which I will never see on my own server, makes me confident in discontinuing my support.

I do not feel like Matrix/Element values its community any more.




> After that they released Matrix Authentication Service (MAS), which is an additional service to deploy that moves the internal authentication functionality out of Synapse and interfaces with Synapse using OIDC. I haven't deployed it yet. They say it will eventually get rolled into Synapse, so I'm intending to wait for that.

They broke out synapse's authentication into a separate service, only to plan to roll it back into synapse later? There's probably more to it than that, right?


We replaced Matrix's custom authentication protocol with genuine OIDC: see https://areweoidcyet.com/ and the rest of this thread for details.

Therefore, we needed a basic Matrix-aware OIDC identity provider which could ship with Synapse and other homeservers in order to auth users (and optionally delegate to fully fledged IdPs like Keycloak). So we wrote matrix-authentication-service (MAS) in Rust, which is released as FOSS: https://github.com/element-hq/matrix-authentication-service.

This is released as a separate project because: a) it's written by a different team, b) it's intended to power OIDC auth for other servers than Synapse. For instance, https://github.com/element-hq/dendrite/pull/3493 is the pull to make Dendrite support OIDC via MAS.

In future, we may end up for admin convenience also bundle it by default inside FOSS Synapse (especially given Synapse is part-Rust these days) - so that folks running `pip install matrix-synapse` magically get OIDC-based auth without having to also run a separate MAS. However, this is a while off, and even then we'll continue to support MAS as a standalone service as the primary configuration.

(N.B. none of this has anything to do with Synapse Pro, and is an example of Element continuing to pour the majority its effort into FOSS work like MAS and native OIDC in Matrix...)


Firstly, thank you for paying to support the Foundation for so long and for sticking with Matrix & Synapse.

> It's been quite a while since we've seen a new user-facing feature

I'm not sure this is true, as you say yourself in the following paragraphs. On the Element side, we shipped Element X as the much-needed rewrite of the old Element apps. On the Matrix side, Matrix 2.0 is a step change in terms of instant sync/login/launch, QR login, native-OIDC, invisible encryption, etc. From an end-user perspective, my experience of Matrix has improved unrecognisably in the last year. I can see how this might feel different if you're stuck on the old stack.

> All in all, it does not feel like the things I want, and (assuming I'm not a completely unusual case) that the community wants, are high priority for the Element team

We've tried to prioritise usability, stability and performance over everything - including features. I'm sorry if this doesn't match your needs though.

> They're spending what budget they do have on refactors like MAS, which don't seem to impact usability.

Some of the usability improvements that MAS provides are:

* 2FA and MFA (which is frankly embarrassing that we didn't have before)

* QR login (for parity with Discord/WhatsApp/Signal "just scan this QR code to login")

* Refresh tokens, so that leaked access tokens expire rapidly

* Integration with password managers

* Password reset flows which work on all clients (e.g. password reset doesn't exist on the legacy Element mobile apps)

* Huge security improvements by actually following a mature auth standard (OIDC) rather than making up our own one. We've had some near misses on the old auth system for failure modes which OIDC fixed years ago.

> They spend time and effort supporting new features which make Element X faster (Sliding Sync) but have not yet implemented all the core functionality (Spaces) so there's not much reason to move.

Spaces is already there on the SchildiChat Next fork of Element X Android. We'll add it to Element X Android later in the year - but it's been delayed as the paying customers tend not to care that much about spaces (they just want a WhatsApp clone).

> This announcement, and that RAM graph which I will never see on my own server, makes me confident in discontinuing my support.

The hope is that the $ from Synapse Pro allows us to fund FOSS Synapse dev to improve the core perf & resource usage of FOSS Synapse - which in turn will reduce the RAM usage for everyone. (But massive-scale scalability will remain paywalled for now.)

To be clear: the reason small Synapse servers are slow is NOTHING to do with the workers being written in Python rather than Rust. We will use $ from Synapse Pro to speed up Synapse (and Matrix, at the protocol level) for everyone.

> I do not feel like Matrix/Element values its community any more.

Sorry. If we didn't value the community I wouldn't be sitting on HN trying to explain why we've done this. Thanks again for supporting over the years.


i ran a synapse instance for a couple years for private purposes, but at this point the ecosystem seems kinda captured by element. self hosting is a pain. in some places it's really hard to tell that mistakes in good faith were made or it's just intentionally complicated to keep "normal" people from running their own instance. Especially the whole worker setup was subject to change multiple times and broke my instance every. single. time. couple that with sparse, out of date documentation and the "pro edition" they now announced suddenly makes a lot of sense (from their perspective at least)

- They own Element, the by far most used client

- They own Synapse, the by far most used server

- They own dendrite, the only matrix server so far that even comes close to spec adherance with synapse, which has been strangled (as evidenced by the last release almost half a year ago [3])

Because everyone is running synapse, everyone needs to keep running synapse or risk losing compatibility with the federation.

This is not what the sales brochure for matrix read like. Like, at all.

Do y'all believe it's random chance that the official synapse docker-compose does not come with async workers? [1]

And now check out the terrible setup process for setting up the whole "workers magic" (which, mind you, is unavoidable the moment you have some bigger rooms joined) [2] - Like who on this godforsaken planet considers this valid even for 2022? Pair that with how easy to handle the base documentation is and things start to smell. They have the stench of trying to artificially create a moot by making it "too hard for non-pros".

I understand synapse and dendrite development need funding, but this is not the way to go. All good will towards Element as a steward of matrix I had is completely eroded by now and I assume that will be the case for many others too. Forks are bound to happen at this point and I'm looking forward to the ecosystem become more diverse again.

Oh, and did you know the Matrix Foundation is infact a UK based Inc. controlled by 5 people in 5 companies, of which 4 companies are residing at the same address [4] and the fifth has an odd interest in NFTs and other BS?

[1] https://github.com/matrix-org/synapse/blob/develop/contrib/d...

[2] https://matrix-org.github.io/synapse/latest/workers.html - note how this page is already marked as deprecated. Prepare for it to vanish altogether soon. You are not supposed to set up workers, you are supposed to beg element to run a decent matrix server

[3] https://github.com/matrix-org/dendrite

[4] https://find-and-update.company-information.service.gov.uk/c...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: