C’est une news toute chaude qui nous arrive de la Matrix.org Foundation et d’Element : Synapse et Dendrite changent de propriétaire (et de licence !)[1][2]
Prologue : c'est quoi Matrix ?
Matrix, c’est à la fois un réseau et un protocole, un protocole de communication décentralisée. Concrètement, nous avons tous un compte Whatsapp, Messenger ou Signal messages, bien que chiffrés pour Whatsapp et Signal, transitent par le serveur de l’entreprise qui gère la messagerie (Meta ou Signal Inc), maintenant, imagine que le serveur de cette appli tombe en panne, ou que l’app devienne payante, ou que l’entreprise fasse faillite : l’application ne fonctionne plus, temporairement ou définitivement.
Cela laisse donc à l’entreprise un énorme rôle : celui de maintenir l’accès et de modérer si besoin (les canaux publics principalement)
Matrix, au contraire, c’est un peu comme les mails : plusieurs utilisateurs qui communiquent, mais sur plusieurs serveurs distincts. On peut envoyer un mail depuis une adresse @gmail.com à une adresse @hotmail.com sans soucis. Matrix c’est pareil, il existe une multitude de serveurs, gérés par une entreprise, une association du coin, ou juste par les utilisateurs eux-mêmes.
Par exemple, j’ai chez moi un Raspberry Pi qui héberge un serveur, pour ma famille, et j’ai donc le compte @charlesp:stratus.family
. Cela ne m’empêche pas de discuter avec @toto:matrix.org
(serveur géré par l’entreprise Element) ou @jeanpierre:deuxfleurs.fr
(géré par l’association Deuxfleurs), d’avoir des groupes avec eux, en ayant toutes les fonctionnalités qu’on attends d’une telle appli (indicateur de lecture, réponses, réactions par emoji, etc.) et, par défaut, un chiffrement.
Matrix est surtout ouvert, c’est-à-dire que chacun peut lire ses entrailles et savoir comment le protocole fonctionne, et la documentation est vraiment claire. Les logiciels sont aussi interchangeables du moment qu’ils parlent le même langage : Matrix. On a donc plusieurs logiciels de serveurs, et plusieurs logiciels de client, pour tous les goûts.
Contexte
La fondation Matrix.org ainsi que l’entreprise Element viennent d’annoncer qu’Element prévoit de forker les dépôts de Synapse et Dendrite dans les prochains jours sous une autre licence (AGPLv3), et que Matrix.org cessera de maintenir les dépôts originaux à cette occasion.
Synapse et Dendrite sont les deux implémentations de référence d’un serveur utilisant le protocole Matrix, ils étaient jusqu’à présent développé par la Matrix.org Foundation. Synapse est le logiciel serveur le plus utilisé tandis que Dendrite a été conçu comme son remplaçant encore en rodage, le protocole Matrix ayant énormément évolué depuis la sortie de Synapse.
Element est une entreprise du Royaume-Uni, c’est elle qui a créé le protocole Matrix à l’origine, et a depuis donné la majeure partie de son travail à la fondation Matrix.org. C’est cependant elle qui, depuis ce don, a contribué le plus à Synapse et Dendrite, à hauteur d’environ 95% du code actuel.
Pourquoi ce fork ?
Pour faire court : Element en a marre que son travail serve gratuitement à ses concurrents, qui prennent son logiciel, le modifient, et le vendent sous licence propriétaire. En effet, les dépôts de Synapse et Dendrite sont publiés sous licence Apache, ce qui permet à n’importe qui de prendre le code, le modifier et le vendre, en ayant seulement besoin de créditer les auteurs originaux.
Le problème, c’est que la fondation Matrix.org ainsi qu’Element ont du mal à rentrer dans leurs frais alors que beaucoup d’entreprises bénéficient de l’écosystème sans jamais y contribuer en retour.
C’est pourquoi Element a décidé qu’ils allaient créer leur propre dépôt pour Synapse et Dendrite, sous licence AGPLv3, licence qui oblige à publier les modifications que l’ont fait au code.
En parallèle, la fondation Matrix.org n’a pas les moyens de continuer à maintenir seule les codes des deux logiciels, et a donc décidé d’arrêter le développement des dépôts originaux, elle recommande de passer sur la version maintenue par Element.
Ce que ça veut dire
Concrètement, cela veut dire que si une entreprise souhaite se baser sur Synapse ou Dendrite et les modifier pour ajouter des fonctionnalités par exemple, elle sera obligé de republier son code sous une licence libre. Permettant ainsi à Element de reprendre ce code dans sa propre version du logiciel.
Cela va donc obliger les entreprises qui utilisent un des logiciels à contribuer à leur conception.
Ce que j’en pense
Je pense que le passage à l’AGPLv3 est une très bonne chose : la fondation Matrix.org se plaint régulièrement de ne pas avoir assez de contributions car Element est le seul contributeur. Ce changement de licence devrait augmenter le nombre de contributions.
En revanche, le relai entre la fondation Matrix.org et Element est un retour en arrière : Element prévoit de faire payer les entreprises qui voudraient contourner l’AGPLv3 et ne pas publier leurs modifications. Nous ne savons pas si ces paiements vont être en partie reversés à la fondation.
De plus, Element prévois de demander de signer un CLA (Contributor Licence Agreement) aux contributeurs qui pourraient proposer des modifications sur les dépôts de Synapse et Dendrite. Concrètement, cela veut dire que pour contribuer à ces codes, il faudra donner tous les droits sur notre contribution à Element. Cette mesure vas au contraire réduire le nombre de contributions et permet du moins en théorie un passage en licence propriétaire du code des deux logiciels.
Le must selon moi aurait été de passer les dépôts de la fondation Matrix.org sous licence AGPLv3, cela aurait eu les avantages du copyleft, à savoir interdire les réutilisations propriétaires, sans pour autant retirer le contrôle de la fondation sur ces codes. Il aurait cependant fallu trouver un moyen pour permettre aux entreprises qui le souhaitent de garder leurs modifications propriétaires (ce qu’Element permet en fonction d’un paiement), car il y a tout un tas de raison valides de le faire, et cela aurait probablement dû passer par un CLA également. Mais donner ses droits sur une contribution à une fondation est toujours bien mieux vu qu’à une entreprise qui peut dès lors décider à tout instant de passer le logiciel en propriétaire, et tant pis pour les contributeurs originaux.