• # XMPP, Matrix, Fosdem, toussa

    Posté par (site web personnel, Mastodon) . En réponse au journal Pas seul dans la matrice. Évalué à 10.

    On était voisins au Fosdem (« lounge » XMPP et Matrix), on a pu un peu discuter, et j'ai assisté à la conf. Je voulais en parler dans un résumé du Fosdem que j'avais commencé à écrire, mais au final je n'ai pas eu le temps et je suis passé à autre chose (et puis bon faut se remettre du rigodon de Dunkerque).

    Le projet m'a eu l'air intéressant, pas nécessairement impressionnant (je n'ai rien vu de vraiment nouveau), mais prometteur. Je vais sûrement suivre ça. Malgré la jeunesse du truc, ils ont réussi à faire déjà pas mal de choses, mais il faut aussi relativiser: les gens ont applaudi pour la visio avec WebRTC, alors qu'à mon sens c'est plutôt les mozilla and co qu'il faut applaudir pour ça. J'ai aussi eu l'impression qu'il y avait un rejet de XMPP que je trouve dommage (comment peut on critiquer le côté extensible ? C'est justement ce qui rend le protocole est génial). Je renvoi au commentaire de Jehan qui démontait pas mal d'idées reçues.

    Donc à mon sens Matrix est un projet prometteur à surveiller.

    Maintenant revenons en à XMPP, vu que nous avons aussi été au summit qui précédait le Fosdem. Je vois, comme souvent, une méconnaissance ou mauvaise compréhension de XMPP dans les commentaires ici. XMPP est un protocol très simple qui se base sur 3 types de données (les stanzas):

    • <message/> pour les requêtes de type j'envoi est j'oublie

    • <iq/> pour les requête de type question/réponse (avec réponse obligatoire)

    • <presence/> pour les données broadcastées

    une fois qu'on sait ça, on connait l'essentiel. Les extensions, c'est plus ou moins la philosophie Unix: chaque extension gère une chose, et la gère bien (enfin disons que c'est discuté jusqu'à arriver à la meilleure solution possible). et dans toutes les extensions, il y en a très peu qui sont vraiment finales, beaucoup sont expérimentales, soit parfois très éloignées de la version idéale (c'est pour ça que ça discute beaucoup, c'est une des raisons qui rend les nombreux clients avec des façons de faire différentes utiles, c'est pour ça que c'est bien qu'on voit des gens de milieux techniques différents).

    XMPP peut parfaitement être distribué (avec un client=1 serveur) et on est beaucoup à envisager ça à terme, c'est déjà possible en réseau local. Après ça n'est pas forcément la solution idéale pour tous les cas d'utilisation, et différents serveurs intermédiaires ça a ses avantages (pour encore faire une analogie: il ne faut pas réinventer l'opposition microkernel et kernel monolithique).

    Maintenant quelques sujets qui on été abordés au summit:

    • le chiffrement de bout en bout, mais c'est un vieux sujet dans XMPP, qui a du mal à trouver une solution qui marche bien. Pour le moment il est question de documenter l'utilisation actuelle d'OTR, d'éventuellement faire une XEP qui adapte OTR à XMPP. Il est question de faire un prochain summit dont c'est le sujet principale, avec hackathon dans la foulée.

    • des discussions sur un MUC 2 (Multi-Users Chat, les conversations à plusieurs type IRC). Il semble qu'on arrive à un MUC basé sur les mécanismes PubSub, avec une fédération facilitée.

    • On parlé aussi d'un MUC sans présence, une équipe fait des expérimentation avec ça. L'intérêt est surtout pour les téléphones où on se connecte/déconnecte souvent. Enfin pour moi on réinvente surtout PubSub, je ne suis pas convaincu de l'intérêt

    • Nous avançons sur PubSub, comme je l'avais expliqué dans un précédent journal. D'ailleurs la deuxième XEP dont je parlais dans ce journal est passée juste avant le summit, et en Belgique on a pu avoir pas mal de contacts pour nous aider, l'année 2015 devrait être particulièrement intéressante. Au passage edhelas nous a fait une démo de l'appli Movim pour Android, c'est très sympa.

    Bref, ça bouge. XMPP est très utilisé, et ce n'est parce que Gtalk va (est ?) fermer qu'il est mort. Ejabberd arrive à en vivre, Jitsi arrive à en vivre, Mongoose IM arrive à en vivre, Buddycloud arrive à en vivre, Prosody arrive à en vivre, OpenFire arrive à en vivre, etc. Sans parler de toutes les applications de messagerie à la mode qui sont 9 fois sur 10 du XMPP avec des extensions proprio.

    Bon je ne vais pas faire un roman parce que je vais me coucher, mais je trouve très bien qu'il y ait des expérience sur de nouveaux protocole, et de nouvelles idées. Ceci dit, je doute fort de voir quelque chose arriver au niveau de XMPP tant en terme de possibilités que de clients/serveurs avant longtemps.