Matrix (protokolla)

Matrix on avoin protokolla pikaviestinpalveluiden väliseen kommunikointiin.

Matrix-protokollan logo.

Matrixissa on pyrkimyksenä saada reaaliaikainen kommunikaatio toimimaan saumattomasti eri palveluntarjoajien välillä siten, että käyttäjät eri palveluntarjoajien välillä voivat kommunikoida toisten palveluntarjoajien käyttäjien kanssa nettichatin, ääni- ja videoyhteyden kautta. Kuka tahansa voi siis perustaa oman palvelimen, joka pystyy Matrix-protokollan avulla viestimään muiden protokollaa tukevien kanssa. Idea on siis sama kuin sähköposteissa.

Matrixin avoin standardi määrittää REST-tyyliset HTTP-ohjelmointirajapinnat, joilla viestitään JSON-dataa Matrixia tukevien asiakasohjelmien, palvelinten ja palveluiden välillä. Matrix voidaan yhdistää yleisimpiin webpalveluihin WebRTC-rajapinnan kautta.

Matrix-protokollaa kehittää The Matrix.org Foundation.[1]

Koska Matrix on avoin protokolla, jota voi muokata vapaastiselvennä, se on saanut huomiota valtiollisilta tahoilta, jotka etsivät itselleen turvallista Internetissä käytettävää viestintävälinettä. Matrix-protokollaa hyödyntäviä viestimiä käyttävät esimerkiksi KDE-yhteisö, Ranskan valtionhallinto, Saksan valtionhallinto (suunnitteilla, ilmoitettu joulukuussa 2019) sekä Mozilla[2].

The Matrix.org Foundation

muokkaa

The Matrix.org Foundation C.I.C. on lokakuussa 2018 perustettu ja Lontooseen rekisteröity, Matrix-protokollaa suojelemaan ja kehittämään perustettu voittoa tavoittelematon yhteisön etuyhtiö (Community Interest Company).[3][4][5][6]

Asiakkaat

muokkaa

Matrix-protokollaa noudattavia asiakasohjelmia on useita. Tässä niistä joitain:[7]

Nimi Alusta Kommentti Ohjelmointikieli Linkki
Element Mobiili, työpöytä, Web New Vectorin kehittämä monialusteinen asiakasohjelma. JavaScript, TypeScript, Kotlin, Objective-C, Swift element.io
FluffyChat Mobiili, työpöytä, Web Monikäyttöinen asiakasohjelma, joka on kirjoitettu Dartilla ja Flutterilla. Dart fluffychat.im
Fractal Unix Gnome-työpöytäympäristölle tehty asiakasohjelma, joka on kirjoitettu Rustilla. Rust wiki.gnome.org/Apps/Fractal
NeoChat Unix Spectralin forkki, joka käyttää KDE Frameworks -ohjelmistokehyksiä, joista erityisesti Kirigamia, KConfigia ja KI18nia. Ohjelma on kirjoitettu C++:lla. C++ apps.kde.org/neochat
Thunderbird Työpöytä Monialusteinen ohjelma, joka tukee muun muassa Matrix-protokollaa ja sillä viestimistä.[8][9] C, C++, JavaScript, CSS, Rust, XUL, XBL thunderbird.net

Palvelimet

muokkaa

Matrix-protokollaa noudattavia palvelinohjelmistoja on useita. Tässä niistä joitain:[10]

Nimi Kommentti
Dendrite Dendrite on Go-kielellä kirjoitettu toisen sukupolven palvelin, jonka tarkoituksena on tarjota tehokas, luotettava ja skaalautuva vaihtoehto Synapselle.
Ligase Ligase on Go-kielellä kirjoitettu, tuotanto valmis palvelin.
Maelstrom Suorituskykyinen Rust-kielellä kirjoitettu palvelin, joka on suunniteltu skaalautuvaksi ja resursseja säästäväksi.
Synapse Synapse on The Matrix.org Foundationin kehittämä palvelin, joka on kirjoitettu Python 3/Twisted.

Lähteet

muokkaa

Viitteet

muokkaa
  1. Matrix.org Matrix.org. Viitattu 3.8.2020. (englanniksi)
  2. Welcoming Mozilla to Matrix! Matrix.org. Viitattu 3.8.2020. (englanniksi)
  3. The Matrix.org Foundation Matrix.org. Viitattu 7.5.2022. (englanniksi)
  4. THE MATRIX.ORG FOUNDATION C.I.C. overview - Find and update company information - GOV.UK find-and-update.company-information.service.gov.uk. Viitattu 7.5.2022. (englanniksi)
  5. Articles of Association The Matrix.org Foundation (CIC compliant) - final - 2019-06-10 - Matrix.org Foundation CIC Articles of Association.pdf The Matrix.org Foundation. Viitattu 7.5.2022.
  6. 2019-06-10 - Matrix.org Foundation CIC Rules.pdf The Matrix.org Foundation. Viitattu 7.5.2022.
  7. Clients Matrix.org. Viitattu 29.4.2022. (englanniksi)
  8. Thunderbird — Release Notes (91.0) Thunderbird. Viitattu 9.5.2022. (englanniksi)
  9. https://twitter.com/mozthunderbird/status/1508662627320225795 Twitter. Viitattu 9.5.2022.
  10. Matrix.org Matrix.org. Viitattu 29.4.2022. (englanniksi)

Aiheesta muualla

muokkaa
  NODES
Association 2
chat 5
COMMUNITY 1
Idea 1
idea 1
INTERN 1
Note 1
twitter 2