element-hq / element-hq/element-android

RFC: emphasize different homeservers

Open
#5,165 0 comments 10 reactions 0 assignees View on GitHub
T-Enhancement X-Needs-Product
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.