Sure it has tons of warts, but it’s way better than just a year ago, and now a truly usable replacement for many use cases. (We actually use it instead of Discord/Slack/etc and have been happy with it.)
FOSS is hard. Having good leadership makes all the difference. Linux had it, Apache had it, MySQL had it, and I think Matrix has it.
The key thing to remember, and it is easy to forget, is that FOSS is a momentum game - Blender is a fantastic example of people plugging away at something and then “all of a sudden”, they have a world class tool. The same will be true with Matrix, and probably a lot sooner than many people realize.
I currently pay for an Element subscription for my close friends and while there are some minor issues, we’re happier using it than Wire or SMS (one of my friends is Android, otherwise iMessage would suffice).
Stuff like “Matrix is crap because they didn’t make it E2EE from day 1”, or “Because servers store metadata” or “Because it didn’t have a legally registered foundation at first” or “Because Element’s default config points to the Matrix.org server” or “Because Synapse supports shadowbans” or “Because the Element apps influence the direction of Matrix” or “Because it’s not XMPP” etc etc etc. It’s surprisingly hard to keep focused on building apps that optimise for mainstream users when the loudest voices are campaigning to optimise for their own crusades. I suspect the same effect has substantially negatively impacted Linux on the Desktop and other places where FOSS usability has failed to punch its weight against mainstream usability.
On the other hand, there are quite a few examples of FOSS apps which have successfully pulled themselves out of this hole of being “built by geeks for geeks” into being successful and even delightful to a more general mainstream audience: Firefox, GitLab, Blender, Audacity all spring to mind. And that’s the model we’re trying for at this point.