element-hq / element-hq/element-android
RFC: emphasize different homeservers
- Dominant language
- Kotlin
- Stars
- 3.7k
- Forks
- 917
- PR merge metrics
- No merged PRs in 30d
Description
### Your use case
#### What would you like to do?
Similar to the Matrix clients [Syphon](https://github.com/syphon-org/syphon) and [FluffyChat](https://gitlab.com/famedly/fluffychat/-/merge_requests/712), I would like to discuss the posibilities of proposing other homeservers than Matrix.org (see reasons below).
#### Why would you like to do it?
New Vector Ltd puts lots of work into Matrix and the development of the Element clients and emphasizes Matrix.org and the EMS as homeservers. This is definitely understandable both in regard of business and the work you put into Element. Anyway, Matrix tries to be a federated network without centralization. With the accumulation of users at Matrix.org, a major part of this decentralization gets lost as many new users neither know about the idea different homeservers nor known their addresses.
#### How would you like to achieve it?
As far as I know, Syphon has got a built-in homeserver list, FluffyChat uses [`matrix_homeserver_recommendations`](https://pub.dev/packages/matrix_homeserver_recommendations) to fetch homeservers and benchmark their response times.
Similar to FluffyChat, I would propose to dynamically fetch a list of reliable homeservers and check their response times.
The stated Dart package e.g. allows to implement own interfaces for Matrix server lists and easily benchmarks, compares and filters homeservers based on predefined criteria or anti-features (e.g. privacy issues or compatibility problems). Such an approach could be used for the Element clients too.
### Have you considered any alternatives?
An alternative I would actually love to see, would be a part of the Matrix spec allowing to decentrally collect homeservers, availability metrics etc. in order to get more reliable information about available and reliable servers. Unfortunately, I see no work being done in this direction.
### Additional context
There have already been many discussions here on GitHub about Matrix.org, Cloudflare, (de-)centralization and the question of different homeservers. I definitely understand the reasons for using Cloudflare as man-in-the-middle for Matrix.org even though I don't like it. Usually, the response to issues with Matrix.org was to simply provide a custom server. I know this can be done and this is nothing the RFC is about but more likely about more UX-friendly alternatives to a built-in home server.
Contributor guide
Assessment
This issue has not been assessed yet.