La Blockchain, au-delà du Bitcoin

Il existe déjà sur le Bitcoin et la nombreuse famille des monnaies virtuelles une abondante littérature qui évoque les espoirs et les fantasmes que génèrent les crypto-monnaies. Mais pour qui n’est encore ni utilisateur dans ses paiements ni prosélyte convaincu, il n’est pas si facile de comprendre le principe de fonctionnement qui sous-tend le succès grandissant de cet argent dématérialisé sans intermédiaire.

Pour savoir ce qui se passe en coulisses, il est nécessaire d’appréhender correctement ce qu’est la blockchain. C’est bien délicat, et rares sont les explications limpides qui nous permettent de saisir l’essentiel. L’article « Chaîne de blocs » de Wikipédia utilise très vite des prérequis dont ne disposent probablement pas les Dupuis-Morizeau : « système cryptographique », « base de données distribuée », « nœud de stockage », etc.

Heureusement, il arrive que nous rencontrions un article qui présente des qualités de clarté telles que nous nous faisons un devoir de le partager. Qui plus est, nous y découvrons que le bitcoin n’est qu’un exemple aujourd’hui notoire des très nombreuses possibilités d’application de la blockchain dans des domaines très variés, ce qui pourrait à moyen terme changer beaucoup de choses dans notre vie quotidienne…

L’auteur, Jean-Paul Delahaye est un universitaire, mathématicien et informaticien, chercheur à l’Université de Lille 1. Nous le remercions d’avoir accepté que nous reprenions ici, mis à jour pour les données numériques, son texte déjà publié en 2014 sur le blog de Scilogs.

La puissance de la blockchain

jp_DelahayeImaginez qu’au centre de la place de la Concorde à Paris, à côté de l’Obélisque on installe un très grand cahier, que librement et gratuitement, tout le monde puisse lire, sur lequel tout le monde puisse écrire, mais qui soit impossible à effacer et indestructible. Cela serait-il utile ?

Il semble que oui.

– On pourrait y consigner des engagements : « je promets que je donnerai ma maison à celui qui démontrera la conjecture de Riemann : signé Jacques Dupont, 11 rue Martin à Paris ».

– On pourrait y déposer la description de ses découvertes rendant impossible qu’on en soit dépossédé  : « Voici la démonstration en une page que j’ai trouvée du Grand théorème de Fermat …».

– On pourrait y laisser des reconnaissances de dettes qui seraient considérées valides tant que celui à qui l’on doit l’argent n’a pas été remboursé et n’est pas venu l’indiquer sur le cahier.

– On pourrait y donner son adresse qui resterait valide jusqu’à ce qu’une autre adresse associée au même nom soit ajoutée, annulant la précédente.

– On pourrait y déposer des messages adressés à des personnes qu’on a perdues de vue en espérant qu’elles viennent les lire et reprennent contact.

– On pourrait y consigner des faits qu’on voudrait rendre publics définitivement, pour que l’histoire les connaisse, pour aider une personne dont on souhaite défendre la réputation, pour se venger, etc.

Pour que cela soit commode et pour empêcher les tricheurs d’écrire en se faisant passer pour vous, il faudrait qu’il soit possible de signer ce qu’on écrit. Il serait utile aussi que l’instant précis où est écrit un message soit précisé avec chaque texte déposé sur le grand cahier (horodatage).

Imaginons que tout cela soit possible et qu’un tel cahier soit mis en place, auquel seraient ajoutées autant de pages nouvelles que nécessaire au fur et à mesure des besoins. Testaments, contrats, certificats de propriétés, récits divers, messages adressés à une personne particulière ou à tous, attestations de priorité pour une découverte, etc., tout cela deviendrait facile sans avoir à payer un notaire, ou un huissier. Si un tel cahier public était vraiment permanent, infalsifiable, indestructible, et qu’on puisse y écrire librement et gratuitement tout ce qu’on veut, une multitude d’usages en seraient imaginés bien au-delà de ce que je viens de mentionner.

Un tel objet serait plus qu’un cahier de doléances ou un livre d’or, qui ne sont pas indestructibles. Ce serait plus qu’un tableau d’affichage offert à tous sur les murs d’une entreprise, d’une école ou d’une ville, eux aussi temporaires. Ce serait plus que des enveloppes déposées chez un huissier, coûteuses et dont la lecture n’est pas autorisée à tous. Ce serait plus qu’un registre de brevets, robuste mais sur lesquels il est coûteux et difficile d’écrire. Ce serait plus que les pages d’un quotidien qui sont réellement indestructibles car multipliées en milliers d’exemplaires, mais sur lesquelles peu de gens ont la possibilité d’écrire et dont le contenu est très contraint.

Place de la Concorde ?

Bien sûr, ce cahier localisé en un point géographique unique ne serait pas très commode pour ceux qui habitent loin de Paris. Bien sûr, ceux qui y rechercheraient des informations en tournant les pages se gêneraient les uns les autres, et gêneraient ceux venus y inscrire de nouveaux messages. Bien sûr encore, faire des recherches pour savoir ce qui est écrit dans le cahier (telle dette a-t-elle été soldée ? Telle adresse est-elle la dernière ? etc.) deviendrait vite impossible en pratique quand le cahier serait devenu trop gros et que ses utilisateurs se seraient multipliés.

Ces trois inconvénients majeurs :
a) localisation unique rendant l’accès malcommode et coûteux ;
b) impossibilité de travailler en nombre au même instant pour y lire ou y écrire ;
c) difficulté de manipuler un grand cahier…
… peuvent être contournés. L’informatique moderne avec la puissance de ses machines (y compris les smartphones) et ses réseaux de communication est en mesure de les surmonter.

D’ailleurs cette idée d’un grand cahier informatique, partagé infalsifiable et indestructible du fait même de sa conception est au cœur d’une révolution qui débute. Nous la baptiserons la  «révolution de la blockchain » (nous allons expliquer pourquoi) ou plus explicitement et en français : « la révolution de la programmation par un fichier partagé et infalsifiable ».

L’idée de Nakamoto

Le nom proposé vient de la blockchain du bitcoin, la monnaie cryptographique créée en janvier 2009, et qui a depuis connu un développement considérable et un succès réel très concrètement mesurable : la valeur d’échange des devises émises en bitcoins dépasse aujourd’hui 5 milliards d’euros. Au cœur de cette monnaie, il y a effectivement un fichier informatique infalsifiable et ouvert. C’est celui de toutes les transactions, baptisé par Satoshi Nakamoto son inventeur : la blockchain. C’est un fichier partagé, tout le monde peut le lire et chacun y écrit les transactions de bitcoins qui le concerne, ce qui les valide. La blockchain existe grâce à un réseau pair à pair, c’est-à-dire géré sans autorité centrale par les utilisateurs eux-mêmes. Certains de ces utilisateurs détiennent des copies de la blockchain, partout dans le monde. Ces centaines de copies sont sans cesse mises à jour simultanément, ce qui rend la blockchain totalement indestructible, à moins d’une catastrophe qui toucherait en même temps toute la terre. Ce fichier a été rendu infalsifiable par l’utilisation de procédés cryptographiques qui depuis sa création en 2009 se sont révélés résister à toutes les attaques : personne jamais n’a pu effacer ou modifier le moindre message de transaction auparavant inscrit dans la blockchain du bitcoin.

Bitcoin_Block_Data

C’est possible, cela existe !

Le rêve du grand cahier de la place de la Concorde est donc devenu possible, et en réalité ce que l’informatique moderne, les réseaux et la cryptographie ont su créer dans le monde numérique est bien supérieur à tout ce qu’on aurait pu tenter de faire avec du papier, du métal ou tout dispositif composé d’objets physiques. En particulier :

a) l’accès à la blockchain, grâce aux réseaux, se fait instantanément de n’importe où dans le monde, pourvu qu’on dispose d’un ordinateur ou simplement d’un smartphone ;

b) des milliers d’utilisateurs peuvent y lire simultanément sans se gêner ;

c) chacun peut gratuitement et sans limitation ajouter de nouveaux messages de transactions selon un procédé qui assure la cohérence et la robustesse du fichier blockchain.

La taille de la blockchain du bitcoin s’accroît progressivement, mais reste manipulable par les formidables machines dont nous disposons tous aujourd’hui. Elle comporte aujourd’hui 54 giga-octets (5,4 10^10 caractères), ce qui est l’équivalent d’environ 54 000 ouvrages de 200 pages. Cela semble énorme, mais nos ordinateurs sont maintenant assez puissants pour cela.

L’exploration par son ordinateur de ce qui est inscrit donne librement accès à tout le contenu de cette blockchain quasi-instantanément de n’importe quel endroit du monde. C’est d’ailleurs, dans le cas du bitcoin, ce qui permet de calculer le solde des comptes. Les systèmes de signatures cryptographiques garantissent que les messages de transaction que vous inscrivez sur la blockchain concernant vos comptes ont été écrits par vous. L’ordre des inscriptions fournit aussi une datation (horodatage) des transactions et donc les ordonne. Tout cela est fait, sans qu’aucune autorité centrale ne s’en occupe, puisque ce sont certains des utilisateurs (appelé « mineurs » dans le cas du bitcoin) qui en opèrent la surveillance, et qui se contrôlent mutuellement, assurant l’honnêteté des sauvegardes et leur cohérence.

L’exemple d’une monnaie est la plus spectaculaire et la plus visible aujourd’hui des merveilles que réalise une blockchain. Qu’on ait pu ainsi créer une monnaie, grâce à un fichier partagé, semble incroyable. Cela d’autant plus qu’il s’agit d’une monnaie d’un nouveau type : elle ne repose sur aucune autorité émettrice, autorise des transactions quasi-instantanées gratuitement d’un point à l’autre du globe.

bitcoin_accepted_here

De nombreuses variantes

Au-delà du miracle que constitue cette monnaie (nous ne reviendrons pas sur le détail de son fonctionnement), c’est l’ensemble de tout ce que rend possible ce type d’objet qu’est une blockchain que nous voulons évoquer, car il semble bien qu’un nouveau monde économique, social, législatif, politique et monétaire en résulte. Aujourd’hui, nous n’en avons pas pris la mesure.

Le bitcoin utilise une blockchain qui lui est propre et ne sert a priori qu’à inscrire des transactions, mais l’idée de cette blockchain peut se décliner d’une multitude de façons donnant naissance à autant d’applications nouvelles. Nous avons sans doute pour l’instant entrevu que quelques aspects de ce que de tels dispositifs autorisent. Il s’agit rien moins que de l’apparition d’un nouveau type d’objets réels, aussi durs que le métal, contenant des informations d’une complexité sans limites. Nos ordinateurs aux extraordinaires capacités de calcul y accèdent instantanément grâce aux réseaux, explorant rapidement ce qui s’y trouve, y déposant de nouveaux messages éventuellement cryptés, et les extrayant aussi rapidement. Ces nouveaux objets du fait de leur nature numérique et de leurs propriétés de robustesse et d’ubiquité — ils existent partout dans le monde à la fois — ont des propriétés qu’aucun objet du monde n’a jamais possédées.

Il existe aujourd’hui des centaines de variantes du modèle bitcoin. Ce sont essentiellement d’autres monnaies — on parle de crypto-monnaies — qui chacune s’appuie sur une blockchain particulière. Cependant depuis qu’on a compris que l’idée de Nakamoto était beaucoup plus générale, d’autres systèmes avec blockchain sont apparus ou sont en cours de développement.

Une révolution en marche

Certaines des idées évoquées au départ peuvent se mettre en place soit grâce à une nouvelle blockchain, soit en essayant d’utiliser la blockchain du bitcoin qu’on détournera de sa fonction première pour lui faire réaliser des opérations non prévues par Nakamoto. Dom Steil un entrepreneur s’occupant du bitcoin et auteur de nombreux articles sur les nouvelles technologies a exprimé assez clairement l’idée de cette révolution :

« La blockchain est intrinsèquement puissante du fait que c’est la colonne vertébrale d’un nouveau type de mécanisme de transfert et de stockage distribué et open source. Elle est le tiers nécessaire pour le fonctionnement de nombreux systèmes à base de confiance. Elle est la feuille universelle d’équilibrage utilisée pour savoir et vérifier qui détient divers droits numériques. De même qu’Internet a été la base de bien d’autres applications que le courrier électronique, la blockchain sera la base de bien d’autres applications qu’un réseau de paiement. Nous en sommes aux premiers instants d’un nouvel âge pour tout ce qui est possible au travers d’un réseau décentralisé de communications et de calculs. ». Voir ici.

Jon Evans un ingénieur informaticien et journaliste spécialisé dans les nouvelles technologies partage cet enthousiasme :

« La technologie blockchain au cœur du bitcoin est une avancée technique majeure qui, à terme, pourrait révolutionner l’Internet et l’industrie de la finance comme nous les connaissons ; les premiers pas de cette révolution en attente ont maintenant été franchis. »

« La « blockchain » —le moteur qui sert de base au bitcoin— est un système distribué de consensus qui autorise des transactions, et d’autres opérations à être exécutées de manière sécurisée et contrôlée sans qu’il y ait une autorité centrale de supervision, cela simplement (en simplifiant grossièrement) parce que les transactions et toutes les opérations sont validées par le réseau entier. Les opérations effectuées ne sont pas nécessairement financières, et les données ne sont pas nécessairement de l’argent. Le moteur qui donne sa puissance au bitcoin est susceptible d’un large éventail d’autres applications. »  ( ici et ici )

20151031_cuk400

La machine qui inspire confiance

comment la technologie derrière le Bitcoin pourrait changer le monde

Namecoin, Twister, Ethereum

Parmi les blockchain autres que celle du bitcoin et ayant pour objets des applications non liées à la monnaie, il faut citer le Namecoin un système décentralisé d’enregistrement de noms : on écrit sur la blockchain du Namecoin des paires (nom, message). Un des buts de Namecoin est la mise en place d’un système d’adresses pour les ordinateurs connectés au réseau internet qui pourrait se substituer au système actuel DNS (Domaine name system) en partie aux mains d’organisations américaines. Les créateurs de cette blockchain affichent les objectifs suivants : protéger la libre parole en ligne en rendant le web plus résistant à la censure ; créer un nom de domaine «.bit» dont le contrôle serait totalement décentralisé ; mémoriser des informations d’identité comme des adresses email, des clefs cryptographiques publiques. Ils évoquent aussi la possibilité avec cette blockchain d’organiser des votes ou des services notariés. Malheureusement cette blockchain est peu commode car les dépôts d’informations y sont payants (en namecoin), et même si les coûts sont très faibles, ils compliquent beaucoup son utilisation. Voir ici.

Plus récemment a été créé Twister, un système concurrent de Twitter (le système de micro-blogging bien connu) mais totalement décentralisé et donc libre de toute censure ou contrôle. La blockchain de Twister ne sert dans ce cas pas à stocker toute l’information de la plateforme de micro-bloging  (qui est distribuée sur un réseau pair à pair évitant que les nœuds du réseau aient à gérer de trop gros volumes de données)  mais seulement les informations  d’enregistrement et d’authentification. Voir ici.

Un projet plus ambitieux car se voulant le support possible d’applications complexes basé sur une notion de contrat (smartcontract) est en cours de développement : il se nomme Ethereum. La blockchain associée à Ethereum émettra une monnaie (l’éther) sur le modèle de bitcoin, mais ce ne sera qu’une des fonctions de cette blockchain. Voir ici.

Une autre avancée toute récente a été proposée par Adam Back, inventeur déjà d’une monnaie électronique précurseur du bitcoin. Back a constaté que le bitcoin ne peut évoluer que très lentement car les décisions pour ces évolutions se font selon un processus qui exige un accord difficile à obtenir de la part de ceux qui travaillent à le surveiller et qui ne sont pas organisés en structure hiérarchique —c’est un problème avec les applications totalement décentralisées dont le contrôle n’est aux mains de personne. Il a aussi noté que beaucoup d’idées innovantes proposées par des blockchain nouvelles n’ont qu’un succès limité. En valeur, le bitcoin reste très dominant parmi les monnaies cryptographiques. Avec une équipe de chercheurs, il a mis au point une méthode liant les blockchains les unes aux autres. Ce système de « sidechain » permettra de faire passer des unités monétaires d’une chaîne A vers une autre B. Elles disparaîtront de la chaîne A pour réapparaître sur la chaîne B et pourront éventuellement revenir dans A. Chaque blockchain est un petit univers où il est utile de disposer d’une monnaie (par exemple sur Namecoin, il y a une monnaie). Cependant faire accepter une nouvelle monnaie et stabiliser son cours est difficile et incertain. De plus chaque blockchain est une expérience comportant des risques qui sont d’autant plus grands qu’elle est récente et innovante. Le système des sidechain une fois mis en place (ce n’est pas si simple et aujourd’hui aucune sidechain ne fonctionne) permettra de tester rapidement de nouvelles idées. Chacune pourra « importer » la monnaie d’une autre blockchain, sans doute la monnaie bitcoin qui est la mieux installée et celle pour laquelle la confiance est la plus forte. Le système est conçu pour que la chaîne qui « prête » de l’argent à une autre ne risque pas plus que ce qu’elle prête et donc ne prenne qu’un risque limité.

« Une forme d’anarchie à base numérique va poursuivre son développement »

On le voit, la complexité (de nos puces, de nos machines, de nos applications, de nos réseaux informatiques) a créé un univers où les nouveaux objets indestructibles que sont les blockchains changent les règles du jeu : moins de centralisation, moins d’autorité, plus de partages sont possibles. Une forme d’anarchie à base numérique va poursuivre son développement. Le monde qui en sortira est difficile à imaginer, mais il se forme et même si on peut le craindre autant que certains l’appellent de leurs vœux, il sera là bientôt.

 

Liens mentionnés par l’auteur de l’article
D’autres liens intéressants sur la question et autour

Crédits Images

  • « Bitcoin accepted here », Francis Storr (CC BY-SA 2.0)
  • Schéma des blocs par Matthäus Wander (CC BY-SA 3.0) via Wikimedia Commons
  • The trust machine, image de couverture du magazine The Economist du 30 octobre 2015,



Framacalc Reloaded : la force de vos feuilles de calculs se réveille !

Notre tableur en ligne, basé sur le logiciel libre Ethercalc, est déjà largement utilisé… au point d’être parfois victime de son succès ! C’est bien connu : plus un logiciel (ou un service) a d’utilisateurs, plus ils souhaitent, suggèrent et apportent des améliorations et aident ainsi le logiciel à devenir meilleur…

Alors : prêt-e-s pour les améliorations apportées à ce millésime 2016 ? C’est parti !

Une mise à jour aussi grosse qu’une pilule bleue !

La nouvelle mouture d’Ethercalc apporte déjà en elle-même de belles améliorations :

  • framacalc import
    importez vos propres feuilles de calcul

    Une interface graphique plus claire et plus simple (nouvelles icônes, plus que 2 niveaux de gris…)

  • Le format de la date s’adapte en fonction de la langue (de votre navigateur). Pour les francophones, sachez qu’enfin vous pourrez entrer vos dates au format JJ/MM/AAAA (c’est peut-être un détail pour vous, mais pour nous…)
  • Les onglets sont de la partie ! Même si cette fonctionnalité est -encore- expérimentale, cela veut dire concrètement que vos pouvez avoir un classeur de plusieurs feuilles de calculs sur le même Framacalc. Vous avez le droit d’écraser une larmichette de bonheur.
  • Du coup, vous pouvez aussi importer vos feuilles de calculs/classeurs dès la création de votre Framapad (que vos fichiers soient en .csv, en .ods… et allez, on est choux, on accepte même le format .xlsx, parce qu’il faut bien que vous vous en libériez !)
  • Une petite barre « rechercher » est apparue. Avant, pour rechercher une donnée dans votre tableau, il vous fallait utiliser la fonction de recherche de votre navigateur… Mais ça, c’était avant.
  • Les volets (pour l’en-tête des lignes et colonnes) deviennent permanents et visibles pour tous les utilisateurs. Désormais, vous pouvez naviguer dans l’immensité de votre calc et savoir de quoi parle la cellule Z42.

Barres de recherche, onglets, anciennes révisions… Il est pas beau le Framacalc 2016 ?
Barres de recherche, onglets, anciennes révisions… Il est pas beau le Framacalc 2016 ?

Framacalc contre-attaque.

Une des fonctionnalités qui manquaient le plus à Framacalc (quand on le compare à son cousin Framapad), c’est un historique des différentes révisions de votre feuille de calcul. Eh oui : une simple erreur d’un-e de vos collaborateurs ou collaboratrices, et tout votre calc était à reprendre !

C’était compter sans la sagacité de notre nouvel employé Luc (Framasky pour les intimes), qui a dégoté le petit bout de code qui enregistre automatiquement une révision de vos calcs toutes les dix minutes ! Ce petit bout de code nécessitait quelques adaptations pour enregistrer les différentes versions de chaque calc : il ne faisait qu’enregistrer la dernière version à chaque utilisation. Bien entendu, cet apport a été soumis à la communauté d’Ethercalc, afin que cela profite à tou-te-s !

Problème : pour accéder à vos calcs enregistrés, il fallait retenir l’URL : https://framacalc.org/history/nom_du_calc… ce qui est pas très très pratique pour Han Dupuis-Morizeau, qui a déjà d’autres choses à retenir dans sa vie.

Qu’à cela ne tienne, Luc a utilisé la Force du Javascript pour ajouter un onglet « Révisions » à vos Framacalcs. Désormais, l’ensemble de vos révisions est à portée de clic.

Autre problème : s’il existe bien un outil d’utilisation de ces révisions pour les restaurer, celui-ci n’a que peu de chances de fonctionner sur un autre site qu’Ethercalc.org… et la méthode de restauration des calcs était un protocole en 8 points si lourd que Han Dupuis-Morizeau hésitait entre le Xanax et l’abonnement à Microsoft Office 365.

Une chose que Luc-überGeek-Framasky ne pouvait pas laisser faire comme ça…

 

exemple d'une révision . Oui, chez Frama, on n'hésite pas à vous montrer nos données les plus sensibles !
exemple d’une révision .
Oui, chez Frama, on n’hésite pas à vous montrer nos données les plus sensibles !

Ethercalc Revision Tool : le retour du Framacalc

Han Dupuis Morizeau a l'air ravi de tant de simplicité ! (CC-BY Sam Howzit)
Han Dupuis Morizeau a l’air ravi de tant de simplicité !
(CC-BY Sam Howzit)

C’est ainsi que notre Framasky a sorti son clavier laser pour coder ERT (Ethercalc Revision Tool). Un système de révisions simple et efficace conçu pour Framacalc mais que vous pouvez aussi installer sur votre propre instance d’ethercalc (pensez à bien suivre le fichier INSTALL.md car y’a un bout de code à goupiller ^^).

Pour restaurer une révision précédente de votre calc, c’est très simple :

  1. Cliquez sur l’onglet « anciennes révisions »
  2. Choisissez la révision qui vous intéresse (elles sont enregistrées toutes les 10 minutes dès lors que vous avez modifié votre feuille de calcul)
  3. Cliquez dessus si vous voulez un aperçu (parce que quitte à avoir la classe, on va l’avoir jusqu’au bout)
  4. Et cliquez sur l’icône « retour dans le temps » en haut à droite (pas d’inquiétude, une confirmation vous sera demandée).

Oui, c’est tout.

Et re-oui : ça marche avec vos anciens Framacalcs (mais leurs révisions ne sont enregistrées que depuis quelques jours seulement ^^).

C’est pas une happy end ça ?

Ethercalc Revolutions

La morale de cette histoire, c’est que le Libre apporte au Libre. Parce que vous l’utilisez massivement, il nous semble essentiel de tenir Framacalc à jour. En mettant à jour Ethercalc (et donc en profitant du travail de son équipe), nous avons découvert certaines de ses possibilités et ce qu’il manquait à nos utilisations. Alors (même si Framasoft code très peu, encore un grand merci à Luc) nous avons apporté notre petite pierre en réalisant ERT qui peut désormais servir à toute la communauté, que vos alliez sur Framacalc ou sur un autre instance d’Ethercalc qui intègre cet outil.

C’est un cercle vertueux, et ceci est (littéralement) une révolution.

Liens pratiques :




Wikipédia a 15 ans

Vous en avez sans doute entendu parler. Cet événement est l’occasion de revenir sur quelques usages de Wikipédia… en lui souhaitant un très joyeux anniversaire !

dm_009_wikipedia_a_15_ans

Crédit : Simon Gee Giraudot (Creative Commons By-Sa)




GitHub et les libristes : un danger et un défi !

Lorsqu’une personnalité notoire du Libre comme Carl Chenet s’attaque avec pertinence à la tendance massive du « tous sur GitHub » et égratigne la communauté du Libre pour son immobilisme (et même sa paresse !), Framasoft trouve que c’est une bonne occasion de lui donner un peu plus de voix encore.

S’adressant principalement aux développeurs, il pointe les dangers d’un service centralisateur, privateur, qui uniformise les pratiques en étouffant les alternatives. Ça ne vous rappelle rien ? Oui, les mêmes écueils contre lesquels nous vous mettons en garde dans notre campagne degooglisons ! Ajoutons que nous avons déjà basculé sur GitLab, comme le recommande Carl, dès 2014 et mis à la disposition de tous depuis le mois de mars 2015 notre GitLab qui héberge à ce jour 3017 projets, 2071 utilisateurs inscrits, 242 groupes.

Nous reprenons ici avec son autorisation le récent billet de Carl qui a déjà suscité d’intéressants commentaires et en provoquera probablement d’autres ici même.

 

Le danger GitHub

Un article de Carl Chenet d’abord publié sur son blog

Carl ChenetAlors que le projet CPython (implémentation historique du projet Python) a annoncé son passage chez GitHub (avec quelques restrictions, nous reviendrons là-dessus), il est plus que jamais important de s’interroger sur les risques encourus d’utiliser un logiciel propriétaire dans notre chaîne de création du Logiciel Libre.

Des voix critiques s’élèvent régulièrement contre les risques encourus par l’utilisation de GitHub par les projets du Logiciel Libre. Et pourtant l’engouement autour de la forge collaborative de la startup Californienne à l’octocat continue de grandir.

codercatL’octocat, mascotte de GitHub

Ressentis à tort ou à raison comme simples à utiliser, efficaces à l’utilisation quotidienne, proposant des fonctionnalités pertinentes pour le travail collaboratif en entreprise ou dans le cadre d’un projet de Logiciel Libre, s’interconnectant aujourd’hui à de très nombreux services d’intégration continue, les services offerts par GitHub ont pris une place considérable dans l’ingénierie logicielle ces dernières années.

Quelles sont ces critiques et sont-elles justifiées ? Nous proposons de les exposer dans un premier temps dans la suite de cet article avant de peser le pour ou contre de leur validité.

1. Points critiques

1.1 La centralisation

L’application GitHub appartient et est gérée par une entité unique, à savoir GitHub, inc, société américaine. On comprend donc rapidement qu’une seule société commerciale de droit américain gère l’accessibilité à la majorité des codes sources des applications du Logiciel Libre, ce qui représente un problème pour les groupes utilisant un code source qui devient indisponible, pour une raison politique ou technique.

De plus cette centralisation pose un problème supplémentaire : de par sa taille, ayant atteint une masse critique, elle s’auto-alimente. Les personnes n’utilisant pas GitHub, volontairement ou non, s’isolent de celles qui l’utilisent, repoussées peu à peu dans une minorité silencieuse. Avec l’effet de mode, on n’est pas « dans le coup » quand on n’utilise pas GitHub, phénomène que l’on rencontre également et même devenu typique des réseaux sociaux propriétaires (Facebook, Twitter, Instagram).

1.2 Un logiciel privateur

Lorsque vous interagissez avec GitHub, vous utilisez un logiciel privateur, dont le code source n’est pas accessible et qui ne fonctionne peut-être pas comme vous le pensez. Cela peut apparaître gênant à plusieurs points de vue. Idéologique tout d’abord, mais peut-être et avant tout pratique. Dans le cas de GitHub on y pousse du code que nous contrôlons hors de leur interface. On y communique également des informations personnelles (profil, interactions avec GitHub). Et surtout un outil crucial propriétaire fourni par GitHub qui s’impose aux projets qui décident de passer chez la société américaine : le gestionnaire de suivi de bugs.

1.3 L’uniformisation

Travailler via l’interface GitHub est considéré par beaucoup comme simple et intuitif. De très nombreuses sociétés utilisent maintenant GitHub comme dépôt de sources et il est courant qu’un développeur quittant une société retrouve le cadre de travail des outils GitHub en travaillant pour une autre société. Cette fréquence de l’utilisation de GitHub dans l’activité de développeur du Libre aujourd’hui participe à l’uniformisation du cadre de travail dudit développeur.

clone_army

L’uniforme évoque l’armée, ici l’armée des clones

2. Validité des points critiques

2.1 Les critiques de la centralisation

Comme dit précédemment, GitHub est aujourd’hui la plus grande concentration de code source du Logiciel Libre. Cela fait de lui une cible privilégiée.  Des attaques massives par déni de service ont eu lieu en mars et août 2015. De même, une panne le 15 décembre 2015 a entraîné l’indisponibilité de 5% des dépôts. Idem le 15 novembre. Et il s’agit des incidents récents déclarés par les équipes de GitHub elles-mêmes. On peut imaginer un taux d’indisponibilité moyen des services bien supérieur.

 

githubdown

L’excuse n°1 des programmeurs pour se lâcher sans scrupules : « GitHub est en panne »

— Hé, au boulot les gars ! — Github est en panne !

— Ah bon, continuez alors.

2.2 Les critiques relatives à l’usage d’un logiciel privateur

Cette critique, avant tout idéologique, se heurte à la conception même que chacun des membres de la communauté se fait du Logiciel Libre, et en particulier d’un critère : contaminant ou non, qu’on résume en général par GPL versus MIT/BSD.

 

bsdvsgpl

Framanote : MIT/BSD sont des licences permissives, laissant toutes les libertés, même celle de reprendre le code dans un logiciel privateur/propriétaire. Cela correspond à la CC-BY ou à la CC-0 dans les licences Creative Commons.

GPL est une licence copyleft (ou contaminante). Le principe est que tout développement utilisant un code sous licence contaminante doit rester Libre, donc être diffusé sous la même licence. Cela correspond à la mention SA dans les licences Creative Commons.


Les défenseurs du Logiciel Libre contaminant vont être gênés d’utiliser un logiciel propriétaire car ce dernier ne devrait pas exister. Il doit être assimilé, pour citer Star Trek,  car il est une boîte noire communicante, qui met en danger la vie privée, détourne nos usages à des fins commerciales, gêne ou contraint la liberté de jouir entièrement de ce qu’on a acquis, etc.

Les tenants d’une totale liberté sont moins complexés dans leur utilisation des logiciels privateurs puisqu’ils acceptent l’existence desdits logiciels privateurs au nom d’une liberté sans restriction. Ils acceptent même que le code qu’ils développent aboutissent dans ces logiciels, ce qui arrive bien plus souvent qu’on ne le croit, voir à ce sujet la liste à couper le souffle des produits commerciaux reposant sur FreeBSD. On peut donc voir dans cette aile de la communauté du Logiciel Libre une totale sérénité à utiliser GitHub. Et ce qui est cohérent vis-à-vis de l’idéologie soutenue. Si vous êtes déjà allé au Fosdem, un coup d’œil dans l’amphithéâtre Janson permet de se rendre compte de la présence massive de portables Apple tournant sous MacOSX.

freebsd
FreeBSD, principal projet des BSD sous licence MIT

Mais au-delà de cet aspect idéologique pur et pour recentrer sur l’infrastructure de GitHub elle-même, l’utilisation du gestionnaire de suivi de bugs de GitHub pose un problème incontournable. Les rapports de bugs sont la mémoire des projets du Logiciel Libre. Il constitue le point d’entrée des nouveaux contributeurs, des demandes de fonctionnalités, des rapports de bugs et donc la mémoire, l’histoire du projet qui ne peut se limiter au code seul. Il est courant de tomber sur des rapports de bugs lorsque vous copiez/collez votre message d’erreur dans un moteur de recherche. Mémoire précieuse non seulement pour le projet lui-même, mais aussi pour ses utilisateurs actuels et à venir.

GitHub propose d’extraire les rapports de bugs via son API, certes, mais combien de projets anticiperont une éventuelle défaillance de GitHub  ou un retournement de situation arrêtant brusquement le service ? Très peu à mon avis. Et comment migrer vers un nouveau système de suivi de bugs les données fournies par GitHub ?

L’exemple de l’utilitaire de gestion de listes de choses à faire (TODO list) Astrid, racheté par Yahoo! il y a quelques années reste un très bon exemple de service ayant grandi rapidement, largement utilisé et qui a fermé du jour au lendemain, proposant pendant quelques semaines seulement d’extraire ses données. Et il s’agissait là d’un simple gestionnaire de tâches à faire. Le même problème chez GitHub serait dramatiquement plus difficile à gérer pour de très nombreux projets, si on leur laisse la possibilité de le gérer. Certes le code reste disponible et pourra continuer de vivre ailleurs, mais la mémoire du projet sera perdue, alors qu’un projet comme Debian approche aujourd’hui les 800 000 rapports de bugs. Une vraie mine d’or d’informations sur les problèmes rencontrés, les demandes de fonctionnalités et le suivi de ces demandes. Les développeurs du projet CPython passant chez GitHub ont anticipé ce problème et ne vont pas utiliser le système de suivi de bugs de GitHub.

 

proposed-debian-logoDebian, l’un des principaux projets du Logiciel Libre

avec autour de 1000 contributeurs officiels

2.3 L’uniformisation

La communauté du Logiciel Libre oscille sans cesse entre un besoin de normes afin de réduire le travail nécessaire pour l’interopérabilité et l’attrait de la nouveauté, caractérisée par l’intrinsèque besoin de différence vis-à-vis de l’existant.

GitHub a popularisé l’utilisation de Git, magnifique outil qui aujourd’hui touche des métiers bien différents des programmeurs auxquels il était initialement lié. Peu à peu, tel un rouleau compresseur, Git a pris une place si centrale que considérer l’usage d’un autre gestionnaire de sources est quasiment impossible aujourd’hui, particulièrement en entreprise, malgré l’existence de belles alternatives qui n’ont malheureusement pas le vent en poupe, comme Mercurial.

git-logo

Un projet de Logiciel Libre qui naît aujourd’hui, c’est un dépôt Git sur GitHub avec un README.md pour sommairement le décrire. Les autres voies sont totalement ostracisées. Et quelle est la punition pour celui qui désobéit ? Peu ou pas de contributeurs potentiels. Il semble très difficile de pousser aujourd’hui le contributeur potentiel à se lancer dans l’apprentissage d’un nouveau gestionnaire de sources ET une nouvelle forge pour chaque projet auquel on veut contribuer. Un effort que fournissait pourtant tout un chacun il y a quelques années.

Et c’est bien dommage car GitHub, en proposant une expérience unique et originale à ses utilisateurs, taille à grands coups de machette dans les champs des possibles. Alors oui, sûrement que Git est aujourd’hui le meilleur des système de gestion de versions. Mais ça n’est pas grâce à cette domination sans partage qu’un autre pourra émerger. Et cela permet à GitHub d’initier à Git les nouveaux arrivants dans le développement  à un ensemble de fonctionnalités très restreint, sans commune mesure avec la puissance de l’outil Git lui-même.

Centralisation, uniformisation, logiciels privateurs et bientôt… fainéantise ?

Le combat contre la centralisation est une part importante de l’idéologie du Logiciel Libre car elle accroît le pouvoir de ceux qui sont chargés de cette centralisation et qui la contrôlent sur ceux qui la subissent. L’aversion à l’uniformisation née du combat contre les grandes firmes du logiciel souhaitant imposer leur vision fermée et commerciale du monde du logiciel a longtemps nourri la recherche réelle d’innovation et le développement d’alternatives brillantes. Comme nous l’avons décrit, une partie de la communauté du Libre s’est construit en opposition aux logiciels privateurs, les considérant comme dangereux. L’autre partie, sans vouloir leur disparition, a quand même choisi un modèle de développement à l’opposé de celui des logiciels privateurs, en tout cas à l’époque car les deux mondes sont devenus de plus en plus poreux au cours des dernières années.

L’effet GitHub est donc délétère au point de vue des effets qu’il entraîne : la centralisation,  l’uniformisation, l’utilisation de logiciels privateurs comme leur système de gestion de version, au minimum. Mais la récente affaire de la lettre « Cher GitHub… » met en avant un dernier effet, totalement inattendu de mon point de vue : la fainéantise. Pour les personnes passées à côté de cette affaire, il s’agit d’une lettre de réclamations d’un nombre très important de représentants de différents projets du Logiciel Libre qui réclament à l’équipe de GitHub d’entendre leurs doléances, apparemment ignorées depuis des années, et d’implémenter de nouvelles fonctionnalités demandées.

Mais depuis quand des projets du Logiciel Libre qui se heurtent depuis des années à un mur tentent-ils de faire pleurer le mur et n’implémentent pas la solution qui leur manquent ? Lorsque Torvald a subi l’affaire Bitkeeper et que l’équipe de développement du noyau Linux n’a plus eu l’autorisation d’utiliser leur gestionnaire de versions, Linus a mis au point Git. Doit-on rappeler que l’impossibilité d’utiliser un outil ou le manque de fonctionnalités d’un programme est le moteur principal de la recherche d’alternatives et donc du Logiciel Libre ? Tous les membres de la communauté du Logiciel Libre capables de programmer devraient avoir ce réflexe. Vous n’aimez pas ce qu’offre GitHub ? Optez pour Gitlab. Vous n’aimez pas Gitlab ? Améliorez-le ou recodez-le.

gitlab

Logo de Gitlab, une alternative possible à GitHub

en choisissant la version Communauté

Que l’on soit bien d’accord, je ne dis pas que tout programmeur du Libre qui fait face à un mur doit coder une alternative. En restant réaliste, nous avons tous nos priorités et certains de nous aiment dormir la nuit (moi le premier). Mais lorsqu’on voit 1340 signataires de cette lettre à GitHub et parmi lesquels des représentants de très grands projets du Logiciel Libre, il me paraît évident que les volontés et l’énergie pour coder une alternative existe. Peut-être d’ailleurs apparaîtra-t-elle suite à cette lettre, ce serait le meilleur dénouement possible à cette affaire.

GitPourTous

Finalement, l’utilisation de GitHub suit cette tendance de massification de l’utilisation d’Internet. Comme aujourd’hui les utilisateurs d’Internet sont aspirés dans des réseaux sociaux massivement centralisés comme Facebook et Twitter, le monde des développeurs suit logiquement cette tendance avec GitHub. Même si une frange importante des développeurs a été sensibilisée aux dangers de ce type d’organisation privée et centralisée, la communauté entière a été absorbée dans un mouvement de centralisation et d’uniformisation. Le service offert est utile, gratuit ou à un coût correct selon les fonctionnalités désirées, confortable à utiliser et fonctionne la plupart du temps. Pourquoi chercherions-nous plus loin ? Peut-être parce que d’autres en profitent et profitent de nous pendant que nous sommes distraits et installés dans notre confort ? La communauté du Logiciel Libre semble pour le moment bien assoupie.

cat-sleeping-fireplace
Le « lion » du Libre assoupi devant la cheminée (allégorie)

Liens :




L’internet des objets nous surveille aussi

Bruce Schneier est un spécialiste reconnu de la sécurité informatique auquel nous donnons souvent un écho sur ce blog. Il chronique régulièrement les avancées et les risques de l’Internet des objets dont la montée en puissance semble irrésistible. On peut présager que dans un délai sans doute très rapproché ces objets vont centupler le volume des données collectées sur nous, puisque non seulement ils nous environnent ou vont le faire, mais ils participeront à notre propre construction sensorielle et mentale du monde, jusqu’au plus secret de notre intimité. (1)

La vitesse de développement de ce marché en fait le nouveau Far-west des géants comme Intel, Cisco, Microsoft ou HP, et bien sûr des fabricants d’électronique. L’espoir de profit qui les anime les fait franchir sans scrupules la barrière de la vie privée (2) : non seulement l’implémentation de la sécurité sur ces objets est minime voire inexistante, mais ils sont aussi de parfaits petits espions programmés pour moucharder.

Nous n’échapperons pas plus à l’Internet des objets que nous n’avons échappé à l’ubiquité des smartphones. Faut-il cependant renoncer définitivement à notre vie privée au profit de ces objets intrusifs ? Quelles limites poser et comment ? Au fait, existe-t-il des objets connectés libres et éthiques ?

 

Voici l’Internet des objets qui parlent derrière votre dos

Par Bruce Schneier

Source : The Internet of Things that Talk About You Behind Your Back (cet article a fait l’objet d’une première publication sur Vice Motherboard).

Traduction Framalang : r0u, goofy, teromene, et un anonyme


bruce-blog3SilverPush est une startup indienne qui essaie de lister les différents appareils que vous possédez. Elle embarque des sons inaudibles dans des pages web que vous lisez et dans les publicités télévisées que vous regardez. Un logiciel secrètement embarqué dans vos ordinateurs, tablettes, et smartphones récupère ces signaux, et utilise des cookies pour transmettre ces informations à SilverPush. Au final, cette société peut vous pister d’un appareil à l’autre. Elle peut associer les publicités télévisées que vous regardez avec les recherches web que vous effectuez. Elle peut relier ce que vous faites sur votre tablette avec ce que vous faites sur votre ordinateur.

Vos données numériques parlent de vous derrière votre dos, et la plupart du temps, vous ne pouvez pas les arrêter… ni même savoir ce qu’elles disent.
Ce n’est pas nouveau, mais cela empire.

La surveillance est le business model d’Internet, et plus ces sociétés en savent sur les détails intimes de votre vie, plus elles peuvent en tirer profit. Il existe déjà des dizaines de sociétés qui vous espionnent lorsque vous surfez sur Internet, reliant vos comportements sur différents sites et utilisant ces informations pour cibler les publicités. Vous le découvrez quand vous cherchez quelque chose comme des vacances à Hawaï, et que des publicités pour des vacances similaires vous suivent sur tout Internet pendant des semaines. Les sociétés comme Google et Facebook font d’énormes profits en reliant les sujets sur lesquels vous écrivez et qui vous intéressent avec des sociétés qui veulent vous vendre des choses.

Le pistage entre tous les appareils est la dernière obsession des commerciaux sur internet. Vous utilisez probablement plusieurs appareils connectés à Internet : votre ordinateur, votre smartphone, votre tablette, peut-être même votre télévision connectée… et de plus en plus, des appareils connectés comme les thermostats intelligents et consorts. Tous ces appareils vous espionnent, mais ces différents espions ne sont pas reliés les uns aux autres. Les startups comme SilverPush, 4Info, Drawbridge, Flurry et Cross Screen Consultants, ainsi que les mastodontes comme Google, Facebook et Yahoo sont tous en train de tester différentes technologies pour « régler » ce problème.

iotfail
Les revendeurs sont très intéressés par ces informations. Ils veulent savoir si leur publicité télévisée incite les gens à rechercher leurs produits sur internet. Ils veulent corréler ce que les gens recherchent sur smartphone avec ce qu’ils achètent sur ordinateur. Ils veulent pister les positions des personnes grâce aux capacités de surveillance de leur téléphone, et utiliser cette information pour envoyer des publicités ciblées géographiquement sur leur ordinateur. Ils veulent que les données de surveillance des appareils connectés soient reliées avec tout le reste.
C’est là que l’Internet des objets aggrave le problème. Comme les ordinateurs sont de plus en plus embarqués dans les objets que nous utilisons au quotidien, et pénètrent encore plus d’aspects de nos vies, encore plus de sociétés veulent les utiliser pour nous espionner sans que nous soyons au courant et sans notre consentement.

Techniquement, bien sûr, nous avons donné notre accord. Les accords de licence que nous ne lisons pas mais que nous acceptons légalement quand nous cliquons sans y penser sur « J’accepte », ou lorsque nous ouvrons un colis que nous avons acheté, donnent à toutes ces sociétés les droits légaux de procéder à cette surveillance. Et quand on voit la façon dont les lois sur la vie privée aux États-Unis sont actuellement écrites, ils sont propriétaires de toutes ces données et n’ont pas besoin de nous laisser y accéder.

Nous acceptons toute cette surveillance internet parce que nous n’y pensons pas réellement. S’il y avait des dizaines de personnes provenant d’entreprises publicitaires avec leurs stylos et leurs carnets qui regardent au-dessus de notre épaule lorsqu’on écrit un mail sur Gmail ou tout simplement quand on navigue sur Internet, la plupart d’entre nous s’y opposeraient. Si les sociétés qui fabriquent nos applications sur smartphones nous suivaient réellement toute la journée, ou si les sociétés qui collectent les plaques d’immatriculation pouvaient être vues lorsque nous conduisons, nous exigerions qu’elles arrêtent. Et si nos télévisions, nos ordinateurs et nos appareils mobiles parlaient de nous à voix haute et se coordonnaient d’une manière qu’on peut entendre, nous serions épouvantés.

La commission fédérale du commerce (FTC) est en train d’examiner les technologies de pistage d’un appareil à l’autre, avec la volonté de pouvoir les réguler. Mais si nous nous fions à l’histoire récente, toute résolution prise sera mineure et inefficace pour s’occuper du plus gros du problème.
Nous devons faire mieux. Nous devons avoir un débat sur les implications du pistage entre appareils sur notre vie privée, mais, surtout, nous devons réfléchir à l’éthique du marché de la surveillance. Voulons-nous vraiment que des entreprises connaissent les détails de notre vie, et qu’elles puissent garder ces données éternellement ? Croyons-nous vraiment que nous n’avons pas le droit d’accéder aux données collectées sur nous, de corriger les données erronées, ou de supprimer celles qui sont trop intimes ou embarrassantes ? Au minimum, nous devons mettre des limites sur les données comportementales qui peuvent légalement être récoltées, savoir pour combien de temps, avoir le droit de télécharger les données collectées sur nous, et pouvoir bannir le pistage par des publicités de parties tierces. Le dernier point est crucial : ce sont les entreprises qui nous espionnent de site en site ou d’appareil en appareil qui causent le plus de dommages à notre vie privée.

Le marché de la surveillance d’Internet a moins de 20 ans, et a émergé parce qu’il n’y avait pas de régulation pour limiter son comportement. C’est désormais une industrie puissante, et qui s’étend au-delà des ordinateurs et téléphones, dans tous les aspects de nos vies. Il est grand temps que nous posions des limites sur ce que peuvent dire et faire avec nous dans notre dos depuis longtemps les ordinateurs et les entreprises qui les contrôlent.

 

(1) Un article parmi d’autres pour en savoir plus sur les objets connectés et comment ils altèrent sensiblement notre mode de vie : Objets connectés : allons-nous tous devenir idiots ?

(2) Voici un article très récent sur les espoirs et les craintes qu’on peut éprouver : « Rapport de l’UIT sur Internet des objets : un grand potentiel de le développement mais des risques pour la confidentialité et l’interopérabilité » (source)

Quelques passages (ma traduction) :

L’UIT (Union Internationale des Télécommunications, un organisme qui dépend de l’ONU) a publié aujourd’hui son rapport [pdf] « Exploiter l’internet des objets pour le développement mondial », produite en collaboration avec Cisco Systems.

Les appareils connectés qui communiquent les uns avec les autres et avec les êtres humains pourraient résoudre les grands défis mondiaux et être un vecteur pour le développement mondial(…) Toutefois, des questions demeurent, telles que les stratégies visant à protéger la vie privée, et l’interopérabilité entre les dispositifs et systèmes.

(…) des défis importants persistent, selon le rapport, en particulier le fait que « la même infrastructure qui permet aux gens de créer, stocker et partager des informations peut également mettre en péril leur vie privée et leur sécurité »

« Ces mêmes techniques peuvent être utilisées pour la surveillance, qu’elle soit ciblée ou à grande échelle », dit le rapport.




Apprenez à lire une URL (et sauvez des chatons)

Vous voulez sauver des chatons ? Nous aussi. Tout le monde aime les chatons. Cet article ne vous dira pas comment faire. Mais il vous apprendra (ou vous permettra d’apprendre à votre neveu) comment lire une adresse web. Ce qui est, n’en doutons pas, indispensable lorsque l’on veut sauver des chatons.

Nous avons donc décidé de piller sauvagement le blog Grise-Bouille de Gee, dessinateur libriste, chanteur yukuléliste, et framasoftien chevronné… parce qu’il a dessiné là un article d’utilité publique qui mérite d’être partagé (rappel : si vous ne le faites pas pour vous, faites-le pour les chatons !)

URL über-lue

Aujourd’hui, parlons de l’une de ces nombreuses choses auxquelles on ne prête pas d’attention parce qu’elles semblent trop compliquées… alors qu’elles peuvent nous aider énormément : l’URL.

Je précise que cet article est une introduction pour novice et qu’il ne vise pas l’exhaustivité (on ne parlera pas de protocoles FTP, de ports ou de résolution DNS). En plus, il est déjà assez long comme ça !

Bonne lecture 😉

tsq_008_url_uberlu

Lien vers l’article original.




Debian perd son Ian

L’année 2015 n’a pas été la meilleure année du monde, et elle s’est malheureusement conclue avec un énième triste événement : le décès de Ian Murdock, célèbre créateur de Debian. Alors qu’une nouvelle année qu’on espère plus joyeuse commence, voici une petite BD pour lui rendre hommage.

dm_008_debian_perd_son_ian

Crédit : Simon Gee Giraudot (Creative Commons By-Sa)