L’élaboration d’un modèle de soutenabilité des plateformes En commun a suscité plusieurs discussions essentielles : la constitution d’une communauté, les ressources nécessaires, la gouvernance, le modèle de financement, etc. La démarche a également mis en lumière des questions plus techniques, liées au développement (comment faire évoluer les plateformes, quelles nouvelles fonctionnalités ajouter, comment prioriser les besoins, etc.), et parfois à des enjeux liés au code et aux interactions entre solutions numériques dans un écosystème plus large. C’est cette dernière question qui est abordée ici, grâce au précieux soutien de notre partenaire FACiL, et en particulier de Mathieu Gauthier-Pilote.
S’inscrire dans un écosystème ouvert
Dès les début de la conception des plateformes En commun, il était souhaité par l'équipe de Projet collectif d’en faire un logiciel libre qui puisse être en relation avec d’autres outils numériques. Contrairement aux logiciels propriétaires commerciaux, qui évoluent en silo, cette approche permet davantage de transparence et encourage la participation de la communauté. Elle permet également au logiciel de coévoluer au sein d’un environnement numérique plus large.
Concevoir les plateformes numériques non pas comme des produits isolés, mais comme des solutions libres, complémentaires et interconnectées, permet à chaque outil de se renforcer mutuellement. Un écosystème libre peut ainsi accroître sa capacité à répondre aux besoins des utilisateur·trices, à rester créatif et à être plus résilient, malgré des modèles économiques parfois fragiles.
Concrètement, comment cela est-il possible? Comment rendre les plateformes En commun plus ouvertes? Cette série d’articles explore trois pistes concrètes : l’ouverture du code, l’interopérabilité et l’authentifiant unique. Pas d’inquiétudes ! Ces textes de vulgarisation et de réflexion s’adressent autant aux novices sur ces sujets qu’à celles et ceux qui souhaitent réfléchir aux implications pour les plateformes En commun ou pour d’autres logiciels en développement au Québec.
1. Ouverture du code
Le code source des plateformes En commun est déjà ouvert en principe: il est consultable par quiconque en fait la demande, et aucune fonction ne dépend de code propriétaire. Cependant, aucune licence n’a encore été officiellement attribuée, et le logiciel n’est pas publié publiquement. De telles actions permettraient non seulement d’accroître la transparence et de faciliter l’utilisation du code par d’autres, mais aussi d’élargir la participation au développement du logiciel.
Ce premier article explique ce qu’est un logiciel libre et comment y parvenir. Parmi les différentes licences existantes, FACiL propose d’utiliser la licence GNU Affero General Public License (AGPL). Outre le travail de nettoyage du code et de documentation, ce petit guide rappelle qu’il est également important de se préparer à animer une communauté de développeur·euses.
2. Interopérabilité
Pour qu’un logiciel puisse s’inscrire dans un écosystème, il doit être capable d’interagir avec d’autres, même si ceux-ci sont déployés dans des environnements différents ou qu’ils utilisent d’autres formats de données. Cela pose des défis particuliers dans le cas des applications du web social. Divers protocoles permettant cette interopérabilité existent, et de nouveaux émergent constamment, tels que Nostr, qui connaît actuellement une croissance rapide.
L’un de ces protocoles, ActivityPub, est celui proposé par FACiL pour les plateformes En commun. Il a gagné en crédibilité et est désormais recommandé par le W3C. Il permet d’effectuer diverses actions courantes sur les réseaux sociaux (aimer, suivre, commenter, signaler, etc.) sur des instances distantes. Les applications qui utilisent ce protocole peuvent interagir entre elles et s’inscrivent ainsi dans un écosystème social large et décentralisé, désigné sous le nom de fédivers.
3. Authentifiant unique
La plupart des personnes utilisent déjà une méthode d’authentification unique (Single Sign-On en anglais) pour accéder à différentes applications, par exemple en se connectant à leur compte Google pour s’authentifier sur d’autres outils en ligne. Nous ne souhaitons pas utiliser une telle méthode pour les plateformes En commun si cela oblige de passer par un système externe géré par un acteur commercial. Cela ne respecterait pas le caractère ouvert du logiciel et ou la vie privée des utilisateur·trices. Nous pourrions cependant réfléchir à bâtir notre propre système d'authentification en collaboration avec divers partenaires.
Cette approche peut être intéressante pour renforcer les connexions entre des plateformes complémentaires. Nous pourrions imaginer, par exemple, qu’un même identifiant puisse être utilisé pour se connecter à diverses plateformes libres au sein d’un écosystème québécois. Cela nécessiterait un travail de développement, mais aussi une coordination entre différentes organisations. Pour trouver la solution d’authentification adaptée, plusieurs options pourraient être testées, dont les quatre identifiées par FACiL. L’une d’entre elles, Django-Allauth, semble être plus facilement compatible avec les plateformes En commun.
📄 Authentification unique : quelques logiciels libres disponibles
En commun en 2030
Maintenant que nous avons abordé les aspects techniques, permettons-nous de rêver un peu. Voici un exemple d'orientation que nous pourrions collectivement prendre pour l'avenir de ce commun numérique. Qu'en pensez-vous? D'autres idées? N'hésitez pas à démarrer une discussion sur cette note!
En 2030, le code source des plateformes En commun est libéré sous licence AGPL, permettant à d’autres d’utiliser et de contribuer au code. Des instances autonomes du logiciel peuvent être déployées, au Québec ou ailleurs dans le monde. Ces instances, partiellement privées ou interconnectées via le protocole ActivityPub, permettent par exemple de se connecter à encommun.io pour suivre des personnes, rejoindre des communautés ou interagir avec des contenus sur d’autres instances. De même, il est possible de suivre des groupes En commun depuis d’autres plateformes du fédivers, comme celles développées avec Mastodon. L’authentifiant En commun peut aussi être utilisé pour se connecter à d’autres instances et plateformes québécoises libres via l’authentification unique Django-Allauth.
Tout cela élargit la portée d’En commun, soutient son développement grâce à une communauté de développeur·euses et contribue à un écosystème de communs numériques. Cet environnement facilite la navigation, l’élargissement des réseaux et l’accès aux connaissances. Grâce à des collaborations fortes et une gouvernance décentralisée, plusieurs acteur·trice·s numériques unissent leurs efforts pour rendre le web plus éthique, avec des alternatives crédibles aux solutions commerciales. Ces plateformes offrent des solutions sécurisées, évolutives, résilientes, respectueuses de l’environnement et protectrices des données personnelles.