MSC: Matrix Glossary
parent
3f3b34a427
commit
2103f31ceb
@ -0,0 +1,131 @@
|
||||
# MSC4270: Matrix Glossary
|
||||
|
||||
As the Matrix specification continues to grow, it becomes increasingly important to maintain consistent
|
||||
terms and phrases across clients, servers, and other implementations. Without this consistency, users
|
||||
may become confused when switching between implementations or potentially be unable to use another
|
||||
implementation entirely if the terminology is different enough.
|
||||
|
||||
The specification already has some terminology contained in the [Appendices](https://spec.matrix.org/v1.13/appendices/),
|
||||
though the formal recommendation that users are called "users" is missing, for example. This proposal
|
||||
defines these historical terms in a new specification document on spec.matrix.org, called the Glossary.
|
||||
|
||||
The new Glossary document may be further expanded through MSCs to include words or phrases which are
|
||||
critically needed for cross-implementation consistency. Translations to other languages are maintained
|
||||
through the MSC process, and published with the specification.
|
||||
|
||||
## Proposal
|
||||
|
||||
A new specification document titled "Glossary" is established, residing next to or near the existing
|
||||
[Appendices](https://spec.matrix.org/v1.13/appendices/) document. This new document has the following
|
||||
purpose/scope:
|
||||
|
||||
* To define words, phrases, and terminology that implementations SHOULD use to provide consistent
|
||||
user experience, especially when users are switching between implementations.
|
||||
* To affect clients, servers, and any other implementations of the Matrix Protocol.
|
||||
* To be accessible to the widest possible set of languages.
|
||||
|
||||
The structure of the document is left as an editorial concern after this MSC is accepted. This MSC
|
||||
suggests sections covering broad categories with definitions contained within, as later represented
|
||||
by this proposal.
|
||||
|
||||
Removing definitions from the specification requires an MSC, per normal [spec process](https://spec.matrix.org/proposals/).
|
||||
|
||||
Adding or updating definitions MUST at minimum affect English definitions, and SHOULD include
|
||||
translations to the specification's accepted language list (defined later in this proposal). Both
|
||||
operations require an MSC, again per normal process, though the non-English translations MAY be
|
||||
affected by one or more follow-on MSCs after the English definitions are added. This is to say that
|
||||
an MSC which introduces new definitions might first land the English terms, and a future, second,
|
||||
MSC adds the French definitions for those English words, for example.
|
||||
|
||||
The Spec Core Team (SCT) SHOULD consider how well definitions may translate to other languages before
|
||||
accepting English definitions into the spec, or seek professional external opinion on whether intent
|
||||
can be maintained through translations.
|
||||
|
||||
### Initial definitions
|
||||
|
||||
These definitions may be incorporated in a "General" section of the new Glossary document, and are
|
||||
normative (acceptance of this MSC means accepting the definitions).
|
||||
|
||||
#### Users
|
||||
|
||||
Typically a human or bot, a **user** is identified by their [user ID](https://spec.matrix.org/v1.13/appendices/#user-identifiers).
|
||||
|
||||
#### Bots
|
||||
|
||||
**Bots** are *users* which have automated software primarily running them. Human operators may still
|
||||
log in and make use of the user, however this would be an exception to normal operation.
|
||||
|
||||
Sometimes, bots may be operated as single-user *appservices*.
|
||||
|
||||
#### Appservices
|
||||
|
||||
Shorthand term for [Application Services](https://spec.matrix.org/v1.13/application-service-api/).
|
||||
|
||||
#### Bridges
|
||||
|
||||
A type of *appservice* which connects Matrix to another protocol or platform, typically at the room
|
||||
level.
|
||||
|
||||
#### Rooms
|
||||
|
||||
Identified by its [room ID](https://spec.matrix.org/v1.13/appendices/#room-ids).
|
||||
|
||||
⚠️ Avoid using terms like "channel" or "topic".
|
||||
|
||||
#### Spaces
|
||||
|
||||
A special type of *room* which has the [`m.space` room type](https://spec.matrix.org/v1.13/client-server-api/#spaces).
|
||||
|
||||
⚠️ Avoid using terms like "groups" or "communities".
|
||||
|
||||
#### Homeservers
|
||||
|
||||
A server hosting *users* in Matrix. Note that rooms may initially be created on a particular homeserver,
|
||||
but become decentralized when another server joins.
|
||||
|
||||
Sometimes, homeservers may be simply referred to as **servers**.
|
||||
|
||||
⚠️ Avoid putting a space between "home" and "server".
|
||||
|
||||
### Initial language support
|
||||
|
||||
The SCT does not have expertise in every language, and may be unable to reliably audit translations
|
||||
for a given language. To support the maximum possible set, within the bounds of professional translation
|
||||
services, the initial set of supported languages is as follows. A future MSC may add/remove/change this
|
||||
list. Contributions outside the supported languages list MAY be accepted on a case-by-case basis.
|
||||
|
||||
* UK English
|
||||
* US English (where different from UK English)
|
||||
* French
|
||||
* German
|
||||
|
||||
## Potential issues
|
||||
|
||||
Some terms may not be easily translated or represented by non-English languages. The SCT is encouraged
|
||||
to request initial translations (where possible) on MSCs which introduce new English terms to the
|
||||
glossary.
|
||||
|
||||
It's also possible that translations could change rapidly if there's disagreement about a given term's
|
||||
translation. The SCT is encouraged to review the source of translations for authenticity and trust
|
||||
before accepting an MSC.
|
||||
|
||||
## Alternatives
|
||||
|
||||
No notable alternatives.
|
||||
|
||||
## Security considerations
|
||||
|
||||
Translations may be from untrusted sources and could falsely represent the terms they claim to be
|
||||
translations for. As noted in the Potential Issues section, the SCT is encouraged to review the source
|
||||
of translations to avoid "trojan horse" contributions.
|
||||
|
||||
## Unstable prefix
|
||||
|
||||
Not applicable - this MSC covers text, not implementation.
|
||||
|
||||
## Dependencies
|
||||
|
||||
This MSC has no direct dependencies, but may be depended upon by other MSCs.
|
||||
|
||||
[MSC4161](https://github.com/matrix-org/matrix-spec-proposals/pull/4161) is expected to make use of
|
||||
this MSC.
|
||||
Loading…
Reference in New Issue