Matrix (protokolla)

Matrix on avoin protokolla pikaviestinpalveluiden väliseen kommunikointiin.

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. Toimintaperiaate on 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.

Koska Matrix on avoin protokolla, jota voi muokata vapaasti, 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.

Kazarma on silta, joka toimii ActivityPub- ja Matrix-protokollien välillä ja mahdollistaa viestien välityksen näitä protokollia käyttävien välillä.

 The Matrix.org Foundation 
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).

 Asiakasohjelmat 
Matrix-protokollaa noudattavia asiakasohjelmia on useita. Tässä niistä joitain:
NimiAlustaKommenttiOhjelmointikieliLinkkiElementMobiili, työpöytä, WebNew Vectorin kehittämä monialusteinen asiakasohjelma.JavaScript, TypeScript, Kotlin, Objective-C, SwiftFluffyChatMobiili, työpöytä, WebMonikäyttöinen asiakasohjelma, joka on kirjoitettu Dartilla ja Flutterilla.DartFractalUnixGnome-työpöytäympäristölle tehty asiakasohjelma, joka on kirjoitettu Rustilla.RustNeoChatUnixSpectralin forkki, joka käyttää KDE Frameworks -ohjelmistokehyksiä, joista erityisesti Kirigamia, KConfigia ja KI18nia. Ohjelma on kirjoitettu C++:lla.C++ThunderbirdTyöpöytäMonialusteinen ohjelma, joka tukee muun muassa Matrix-protokollaa ja sillä viestimistä.C, C++, JavaScript, CSS, Rust, XUL, XBL

 Palvelimet 
Matrix-protokollaa noudattavia palvelinohjelmistoja on useita. Tässä niistä joitain:
NimiKommenttiDendriteDendrite on Go-kielellä kirjoitettu toisen sukupolven palvelin, jonka tarkoituksena on tarjota tehokas, luotettava ja skaalautuva vaihtoehto Synapselle.LigaseLigase on Go-kielellä kirjoitettu, tuotanto valmis palvelin.MaelstromSuorituskykyinen Rust-kielellä kirjoitettu palvelin, joka on suunniteltu skaalautuvaksi ja resursseja säästäväksi.SynapseSynapse on The Matrix.org Foundationin kehittämä palvelin, joka on kirjoitettu Python 3/Twisted.

 Lähteet 
 Linux Magazinen testissä Matrix
Viitteet

 Aiheesta muualla 

 Verkkosivusto
 The Matrix.org Foundationin verkkosivusto
 Usein kysyttyä Matrixista
 Matrixin tekniset tiedot

Luokka:Verkkoprotokollat
Luokka:OSI-sovelluskerros