Ring parmi les projets hautement prioritaires de la Free Software Foundation

 

Intégré dans le projet GNU depuis l’automne dernier, Ring fait désormais partie des projets prioritaires de la FSF dans sa liste de High Priority Projects List (HPPL) mise à jour en janvier dernier.

En mettant l’accent sur ces projets open source, la Free Software Foundation répond à sa vocation : accroître la notoriété et l’usage des logiciels libres parmi les utilisateurs des outils informatiques quels qu’ils soient. Depuis 2005, elle dresse une liste d’applications en développement à destination des contributeurs, bénévoles, compagnies et autres militants du Logiciel Libre. Sans leur aide précieuse, ces projets ne pourraient atteindre leur plein potentiel.

De nombreux enjeux des technologies libres sont abordés : la décentralisation, l’accessibilité, la sécurité, les applications mobiles et les technologies liées aux clavardages en direct avec messageries. C’est dans cette catégorie que Ring a été placé.

Aux yeux de la Free Software Foundation, le contexte actuel de surveillance généralisée exige que l’on s’attelle à une tâche fondamentale : trouver des solutions alternatives et sécuritaires à des logiciels propriétaires.

La présence de Ring dans cette liste est très importante pour nous. Libre, décentralisé, sécurisé et universel, c’est un logiciel qui s’intègre parfaitement à la philosophie de la Free Software Foundation. Basé sur un développement collaboratif, il veille à offrir une meilleure protection de la confidentialité et de la vie privée des utilisateurs lors de communication à distance (clavardage, messagerie, appel audio et vidéo).

Un code partagé et enseigné

En effet, notre équipe de développement travaille de concert avec des contributeurs extérieurs ainsi que les universités partenaires. Déjà objet d’étude pour les étudiants de premier cycle à l’École Polytechnique de Montréal, Ring sera au programme des élèves de 3e année, autour de nouvelles fonctionnalités.

Dans le même esprit, il faut rappeler l’implication des étudiants de maîtrise de l’Université du Québec à Montréal dans la sécurisation des protocoles Distributed Hashed Table.

Dès lors, l’appui de la Free Software Foundation nous encourage à faire partager nos avancements sur ce projet de logiciel libre, universel, distribué pair à pair et sûr, constituant une pierre dans l’édification d’un Internet décentralisé et libre.

Hommage à Ian Murdock, le fondateur de Debian

Photo de Ian Murdock
Crédit Ilya Schurov , Computerra Weekly — CC

Il y a un an disparaissait Ian Murdock et avec lui, une partie du cœur des défenseurs du logiciel libre. Nous souhaitons rendre hommage au fondateur de Debian, car chez Savoir-faire Linux, nous utilisons son héritage tous les jours.

Le libre avant tout

Étudiant à l’université Purdue, Ian Murdock découvre Linux au début des années 90. Fasciné par son éthique et sa vision, il plonge dedans avec passion.  En 1993, à seulement 20 ans, Ian Murock amorce son projet Debian, dont le nom trouve son origine dans la contraction du prénom de sa femme Debra Lynn et de Ian, son propre prénom. Développé initialement avec la collaboration d’un petit groupe de Hacker du Libre, Debian devient rapidement l’une des premières distributions Linux, ouverte et gratuite à connaître le succès et à rassembler une communauté croissante de développeurs et d’utilisateurs du Libre. La même année, Ian Murdock publie le Manifeste Debian, qui scelle la philosophie humaniste en arrière-plan du projet informatique. Elle s’inscrit dans la ligne droite de l’esprit du projet GNU et de Linux :

1. Debian restera un projet entièrement libre.
2. Tous les nouveaux développements reviendront à la communauté.
3. La transparence est un bien acquis.
4. Les utilisateurs et le logiciel libre sont les priorités du projet.
5. Exceptions aux principes du logiciel libre prévus pour répondre à tous les besoins.

À cela s’ajoutent plusieurs principes enchâssés dans un contrat social, une constitution et une série d’instructions, démontrant une vision axée sur la diversité et la non-discrimination que ce soit des utilisateurs ou des logiciels et une distribution libre et gratuite, principes clés de Debian.

Un projet communautaire aux ramifications infinies

Logo DebianAujourd’hui, le projet Debian compte plus d’un millier de développeurs officiels sans oublier plusieurs centaines de contributeurs occasionnels et contient pas moins de 43 500 paquets logiciels. Chaque version de Debian dont la sortie varie en fonction du degré de stabilité porte le nom d’un personnage du film d’animation Toy Story des studios Pixar – ma préférence va à Monsieur Patate et vous?
Comme dans toute organisation basée sur le libre, les développeurs peuvent entreprendre des forks, une branche du projet qui aura sa propre continuité. Et les forks du projet Debian sont nombreuses. Sans les nommer de manière exhaustive, on peut citer Ubuntu que nous utilisons chez Savoir-faire Linux, Xubuntu ou encore SteamOS.

Un autre caractère distinctif de Debian est son mode organisationnel. Lors de sa découverte de Linux et du modèle du logiciel libre, Ian Murdock reste profondément marqué par l’aspect communautaire du projet. À son tour, il a voulu donner au suivant. Le projet Debian est dès lors chapeauté par une fondation à but non lucratif, la Software in Public Interest (SPI), au sein de laquelle une communauté de développeurs bénévoles décide des orientations et des développements futurs. Un chef du projet est élu chaque année par les membres. Ian Murdock passe naturellement le relais à d’autres chefs, mais gardera un œil dessus, notamment par le biais de son poste de secrétaire de la fondation.

Ring sur Debian

Grâce au travail d’Alexandre Viau, Debian Developer et développeur chez Savoir-faire Linux, notre projet Ring est accepté depuis le 30 juin 2016 sur Debian testing, les dépôts de développement de Strech, la prochaine version de Debian. Une formidable reconnaissance pour l’équipe Ring de Savoir-faire Linux et une bonne nouvelle pour les utilisateurs qui peuvent désormais installer Ring à partir des dépôts de leur distribution Debian sans avoir à ajouter ceux de ring.cx.

Afin de présenter Ring à la communauté Debian, Alexandre et son collègue Simon Désaulniers ont participé à la DebConf 2016, dans la ville du Cap, en Afrique du Sud. Ils ont également profité de cet événement international du Libre  pour présenter de l’OpenDHT, notre système de table de hachage distribué, au cœur du projet Ring. Le paquet libopendht a par ailleurs fait son apparition sur Debian experimental pendant la DebConf.

Au regard de Gabriela Coleman, professeure et chercheure à l’Université McGill, outre la communauté créée autour du projet, l’héritage de Ian Murdock repose sur le fait qu’il y ait insufflé une culture de la collaboration issue de GNU et Linux, ce qui fait du projet Debian une réussite bien plus large que le développement technique d’un produit informatique de bonne facture.

Ring sur UWP : genèse d’un défi technique

illustration-wup-rinLa version beta 2 de Ring est maintenant disponible sur la plateforme universelle Windows (Universal Windows Platform, UWP). Il s’agit non seulement d’un nouveau jalon pour Ring, récemment devenu un projet GNU, mais aussi d’une prouesse technique de la part de notre équipe de développeurs.

La sortie de cette version beta 2 est le fruit d’un développement collaboratif entre notre équipe dédiée chez Savoir-faire Linux et la communauté de contributeurs à travers le monde. En développement continu, Ring rappelons-le, une plate-forme inédite de communication texte, audio et vidéo sécurisée et distribué a besoin d’utilisateurs, passionnés ou simplement curieux pour tester sa dernière version et contribuer à son amélioration.  Testez Ring, un projet libre et universel et faites-nous part de vos impressions !

Devenu paquet GNU depuis novembre 2016, Ring s’est toujours inscrit dans la philosophie du libre, tant dans sa finalité, un accès pour tous, que dans son développement, où chaque contribution compte. Cette dimension universelle, avec les aspects distinctifs de Ring comme la décentralisation via l’OpenDHT continue à faire son chemin dans les logiciels de communication et se devait naturellement d’être disponible sur la plateforme UWP.
Avec la mise en place de cette plateforme, l’objectif de Microsoft est simple : unifier le développement d’applications sur tous les types de terminaux que ce soient des PC, tablettes, mobiles, consoles de jeux ou encore objets connectés. Notre équipe responsable du développement de Ring y a vu une aubaine en touchant un maximum d’utilisateurs. « Les possibilités sont immenses. Ring pourrait être utilisé sur les téléphones Windows, les ordinateurs portables Surfaces, les tablettes et les consoles de jeu comme la Xbox », confirme Guillaume Roguez, directeur du développement Ring au sein de Savoir-faire Linux.

D’un système fermé vers une ingénierie logicielle ouverte
N’étant pas habitué des environnements Windows, le défi fut de taille pour notre équipe Ring. C’est ici qu’entrent en scène les développeurs Andréas Traczyk et Nicolas Jäger, qui ont tous deux ont mené le projet Ring sur UWP, de la phase d’idéation jusqu’au lancement actuel.
Tout commence au premier trimestre 2016, avec une première étape de prospection et d’étude de faisabilité. Andréas Traczyk s’est attelé à cette tâche, en portant le code de Ring déjà existant sur Windows natif.
Au fur et à mesure, une idée a germé : pourquoi ne pas utiliser la version native win32 déjà créée pour l’adapter de manière significative à l’UWP ?

_mg_9963

Coder en C++/CX
Le défi est de taille. Alors que la majorité des développeurs Windows travaille en C#, nos deux développeurs ont choisi le C++/ CX. Et ce pour une première raison, le daemon est en C++ : « il faudrait wrapper pour le passer en C# » explique Andréas Traczy. La seconde raison est d’ordre pragmatique selon Nicolas Jäger : « Ring est avant tout un logiciel multimédia, qui offre de la vidéo, de l’audio, avec un réseau en temps réel, et le langage C++ permet une optimisation des ressources ». Un choix pratique appuyé par Cyrille Béraud, président de Savoir-faire Linux, soucieux « de maintenir la performance de l’application ».
Pour des développeurs dont le cœur de métier est le code sous Linux, il a fallu aller hors des sentiers battus, sortir de leur zone de confort. « Il faut aimer les choses compliquées » sourit Nicolas Jäger, « d’autant que l’on ne s’est pas seulement occupé d’UI (User Interface), mais aussi de parties plus fondamentales en matière de développement, tout simplement parce qu’elles n’existaient pas avant ».
Aux yeux de Guillaume Roguez, qui chapeaute le projet Ring, l’expérience est positive, car « on a surmonté les obstacles, dont le premier fut colossal : partir quasiment de zéro. On a démontré avec succès qu’on peut faire du libre dans l’univers Windows ».

Faire du libre, c’est ce que nous attachons à faire à travers Ring. Ce projet bénéficie des contributions d’universités montréalaises, comme Polytechnique Montréal, l’École de Technologie Supérieure (ÉTS) ou encore l’Université du Québec à Montréal (UQAM). D’ailleurs, au sein de cette dernière, le professeur Alexandre Blondin Massé, entouré de ses étudiants de 2e et 3e cycle, planche sur la consolidation des données ainsi que sur la table de hachage distribuée OpenDHT. Cette question de sécurité et de confidentialité présente dans Ring a suscité par ailleurs un intérêt croissant chez les spécialistes de la cybersécurité, et ce à l’échelle mondiale.
Partenaire de la Free Software Foundation et la Linux Foundation, Savoir-faire Linux est un membre actif de la communauté du libre, et travaille à rendre plus accessibles les ressources, à créer et à diffuser les valeurs d’usage. En tant que producteurs de biens communs, nous revendiquons le droit de chacun à avoir un accès libre au savoir, ainsi qu’à des ressources libres et universelles.
Aussi l’arrivée de Ring sur UWP est-elle importante, car elle participe de cet esprit libre.

La Blockchain, un outil révolutionnaire pour Ring

social-network-sphereLa blockchain, un instrument que d’aucuns qualifient de révolutionnaire, risque bien de changer profondément les structures d’une société verticale. Ring s’en sert pour développer son annuaire de manière sécurisée et décentralisée.

La blockchain, ou chaîne de bloc, est la technologie qui sous-tend le Bitcoin, cette crypto-monnaie digitale, qui attise autant les inquiétudes que les convoitises du secteur financier.

Mais, au-delà du Bitcoin, le blockchain recouvre d’autres possibilités grâce à son fonctionnement décentralisé, anonyme et sécurisé. Et il soulève des enjeux de gouvernance à même de bousculer la conception des organisations. C’est d’ailleurs l’un des thèmes abordés lors de l’Open Source Summit de Paris les 16 et 17 novembre prochains.

Une société décentralisée, sans tiers de confiance

Ses promoteurs n’en ont aucun doute : la technologie blockchain sera un changement aussi important que l’invention du World Wide Web. Car elle porte en elle un projet d’une société décentralisée, où la notion même des tiers de confiance sera bouleversée, voire vouée à disparaître.

La blockchain fonctionne comme un grand livre comptable public, qui enregistre toutes les transactions passées entre les acteurs, constituant ainsi une base de données que partagent tous les utilisateurs. Leurs identités sont systématiquement vérifiées par une combinaison de clés publiques et privées. Les transactions sont regroupées en un bloc, qui sera crypté et certifié par les nœuds du réseau – les autres utilisateurs appelés mineurs- puis ce bloc sera ajouté à la chaîne de blocs, distribuée à tous les acteurs.

Trois notions fondent les principes de la blockchain : la désintermédiation, la traçabilité et le consensus distribué. Les utilisateurs organisés en nœuds décentralisés agissent comme autorité de validation, d’autant que les transactions sont retraçables dans le registre public et partagé. Le consensus distribué réside dans le fait que chaque nœud reçoit la même chaîne d’informations horodatées via ce grand livre de compte, et chaque modification doit être approuvée par la majorité des participants.

Née de la rencontre entre la cryptographie et les réseaux décentralisés, la blockchain a poussé sur le terreau politique et économique de la crise de confiance envers le système bancaire en 2008. Outre le Bitcoin, fondé par le très mystérieux Satoshi Nakamoto, plusieurs architectures dites trustless se mettent en place, dont celle d’Ethereum. Cette fondation à but non lucratif, reprend les mécanismes de la blockchain, le registre de comptes identifiés et l’historique infalsifiable pour faire exécuter n’importe quel type de code, appelé «smart contract».

La blockchain, maillon essentiel de l’annuaire de Ring

À partir de cette technologie Ethereum, l’équipe de Savoir-faire Linux a fait appel à la blockchain pour constituer sa base de données avec des garanties cryptographiques. Le smart contract est alors le registre de noms publics, associant ceux-ci aux RingID, originellement créées par l’application. Comme dans toute blockchain, «chaque maillon dépend des éléments précédents pour garantir l’infalsifiabilité de la base de données» nous explique Adrien Béraud, ingénieur système, responsable de la bibliothèque de table de hachage distribué OpenDHT.

L’utilisation de la blockchain dans la création d’un annuaire de clés publiques répond ainsi à plusieurs objectifs de Savoir-faire Linux : préserver l’aspect de réseau distribué que représente Ring, garantir la sécurité avec les clés cryptographiques et de laisser à l’utilisateur la liberté de s’inscrire sur ce bottin. «Cette option passe par la possibilité de ne pas s’enregistrer sur la base de données et conserver seulement son RingID pour communiquer sur le réseau » détaille Adrien Béraud.

L’écriture du contrat est la clé du succès. L’utilisation de l’annuaire décentralisé sera toujours optionnel, il sera donc possible de garder le pseudo-anonymat d’un RingID non-associé à un username ». Après avoir analysé les erreurs ou les failles des contrats antérieurs, l’équipe de développement de Ring chez Savoir-faire Linux s’applique à «écrire un code au design simple, avec une grande minutie». De plus, les fonctionnalités seront limitées dans un premier temps, par exemple la possibilité de changer les noms d’utilisateurs et de les échanger ne sera pas disponible à l’heure actuelle.
«Nous nous concentrons également sur une procédure d’assurance qualité rigoureuse, de la révision de code et nous comptons enfin sur les contributions extérieures» conclut-il.

Vous voulez contribuer au succès de Ring ainsi qu’au développement de la philosophie blockchain, venez faire du code avec nous!

Références

Comprendre la blockchain, Livre blanc, licence Creative Commons, U, janvier 2016
Privacy on the Blockchain, Vitalik Buterin, Ethereum Blog, 15 janvier 2016
Les smart contracts pour les non développeurs, Blogue Ecan, 23 juin 2016
The Revolution will (not) decentralised: Blockchains, Rachel O’Dwyer, Commons Transitions, 11 juin 2016
Thinking through Law and Code – The future of State and Blockchain, Julian Feder, Backfeed magazine, 17 janvier 2016
Code is Law, Lawrence Lessing, Harvard Magazine, 1er janvier 2000
Blockchain reaction, tech companies plan for critical mass, Ernst & Young Report, 2016
Lexique de la blockchain, Blockchain France