matrix.org/partials/frontpage/how_does_it_work.md
Kim Brose 963ee433ad
Simplify PR template, introduce MD linter (#3051)
* Convert checkboxes to questions

Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>

* document internal links

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* document blog taxonomies

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* update PR bot CI from https://github.com/HarHarLinks/pr-template-autoclose

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* fix heading depth (MD001 MD003)

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* fix code blocks

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* fix spaces in link text (MD039)

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* fix no newline at end of file (MD047)

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* fix bare URLs without angle backets (MD034)

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* remove redundant attribute

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* linter exception

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* lint links and headings with rumdl instead of checklist

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* convert signoff checklist to heading

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* configure linter to .rumdl.toml explicitly

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* bump rumdl action

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* Shorten comments in the template

Co-authored-by: Thibault Martin <thibaultamartin@users.noreply.github.com>
Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>

* Remove rumdl default config example comments

Co-authored-by: Thibault Martin <thibaultamartin@users.noreply.github.com>
Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>

* explain more about the pr-bot

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* pin rumdl action to v0

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* fix unlinked email address in coc

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

---------

Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
Co-authored-by: Thibault Martin <thibaultamartin@users.noreply.github.com>
2025-12-09 14:26:51 +01:00

1.2 KiB

How does it work?

Matrix is really a decentralised conversation store rather than a messaging protocol. When you send a message in Matrix, it is replicated over all the servers whose users are participating in a given conversation - similarly to how commits are replicated between Git repositories. There is no single point of control or failure in a Matrix conversation which spans multiple servers: the act of communication with someone elsewhere in Matrix shares ownership of the conversation equally with them. Even if your server goes offline, the conversation can continue uninterrupted elsewhere until it returns.

This means that every server has total self-sovereignty over its users data - and anyone can choose or run their own server and participate in the wider Matrix network. This is how Matrix democratises control over communication.

By default, Matrix uses simple HTTPS+JSON APIs as its baseline transport, but also embraces more sophisticated transports such as WebSockets or ultra-low-bandwidth Matrix via CoAP+Noise.