Ce que le monde de la programmation open source peut enseigner à la (...) - Calamart.org

(Calamart.org) Le Blog de Stéphane Dalmard

(Calamart.org) Le Blog de Stéphane Dalmard

Ce que le monde de la programmation open source peut enseigner à la démocratie

jeudi 29 novembre 2012, par Steph

Plus il y a d’idées en circulation, plus il y a de contradictions.

Plus de média signifie toujours plus de débats.

L’imprimerie

La première revue scientifique (16em siècle) a été crée par un groupe de personnes qui se nommaient eux même "le collège invisible". Un groupe de philosophes qui plus tard se nommera scientifiques. Ils voulaient améliorer la façon de débattre. Et pour cela ils devaient répondre à deux critères : nécessité d’ouverture et nécessité de vitesse.

Ouverture : Nécessité d’une norme qui disait que quand vous faites une expérience vous devez publier non seulement vos affirmations mais aussi comment vous avez conduit l’expérience (sinon pas de confiance possible).

Vitesse : Nécessité de synchroniser ce que d’autres philosophes savaient, sous peine de ne pouvoir lancer un bon type de débat

l’imprimerie était un bon moyen pour cela, mais pas le livre, trop lent. Ils ont donc inventée la revue scientifique comme moyen de synchronisation du débat.

Les programmes Open Sources

La programmation est une relation triangulaire entre un programmeur, un code source et l’ordinateur sur lequel le programme est destiné à être exécuté. Alors lorsqu’il y a plusieurs personnes sur le même projet, il est facile pour un programmeur d’effacer le travail d’un autre s’il travaille sur le même fichier, ou bien d’envoyer des instructions incompatibles et d’étouffer l’ordinateur. Et ce problème s’accroit avec le nombre de programmeurs impliqués dans le projet. Bref le problème de la gestion d’un grand projet logiciel est d’éviter ce chaos social.

Une solution canonique à ce problème consiste à utiliser un "système de contrôle de version" fournissant une copie canonique du logiciel sur un serveur. Les seules personnes qui peuvent le changer sont des personnes qui ont l’autorisation d’y accéder (et encore un accès limité à des sous sections du logiciel). Ce système prend la forme d’un organigramme hiérarchique. C’est du féodalisme, un seul propriétaire, beaucoup d’ouvriers.

Mais un programmeur, Linus Torvalds, a décidé que ce n’était pas la façon de travailler.

Il a examiné la façon dont le mouvement open source s’occupe de ce problème. La promesse de base de la licence open source est que tout le monde devrait avoir accès à l’intégralité du code source. Mais il y a menace de chaos. La plupart des projets open source se sont pincés le nez et ont adopté des systèmes de gestion féodale.
Pour Linus Torvalds, lorsque vous adoptez un outil, vous adoptez aussi la philosophie de gestion intégrée dans cet outil.

Il décide d’écrire un système de contrôle de version pour le libre : Git, un contrôleur de version distribué.

Différences avec un contrôleur de version traditionnel :

Tous ceux qui travaillent sur un projet ont accès à toutes les données du code source tout le temps.

A chaque fois qu’un programmeur utilise Git pour faire un changement important (créer un fichier, modifier le fichier, fusionner deux fichiers ...) Git crée un type de signature. Une longue suite de chiffres et de lettres, un identifiant unique lié à chaque modification. Chaque système Git génère ce numéro de la même manière, c’est une signature liée directement et sans possibilité de falsification à un changement particulier.

Effet : Un programmeur à Edimbourg et un programmeur à Madrid peuvent chacun avoir une copie du même logiciel et peuvent les fusionner après modification même s’ils ne savent pas au préalable que l’autre existe. Il s’agit de coopération sans coordination.

Une fois que Git a permis la coopération sans coordination, on commence à voir des communautés de personnes, vastes et complexes, se former, sous la forme d’un organigramme dis-hiérarchique. Cette technique peut être appliquée aux démocraties en général et à la loi en particulier.

La loi

La loi est dépendante des autre lois. Le droit est un endroit où il y a beaucoup d’opinions en circulation, mais elles ont besoin d’être résolues en un seul exemplaire canonique.

Sur GitHub, sur des millions de projets, de codes sources, on peut trouver des gens qui expérimentent les ramifications politique du système. En parallèle le sénat de New York a mis en place "la législation ouverte" et l’hébergement sur GitHub (/nysenate/OpenLegislation), pour des raisons de mise à jour et de fluidité, où vous pouvez choisir un sénateur et ensuite voir une liste des lois qu’il a parrainée. Le fait de déposer le code peut servir à faire progresser le développement de la législation.

Un "diff" montre, pour un texte que plusieurs personnes éditent, quand une modification a été effectuée, qui l’a faite et quel sont les changements.

Les programmeurs prennent cette capacité comme allant de soi. Mais aucune démocratie ne propose cette fonctionnalité à ses citoyens ni pour la législation, ni pour les budgets. Et cela même si ce sont des choses faites avec notre consentement et notre argent.

Le fait que les programmeurs ont mis au point une méthode collaborative à grande échelle, distribuée, bon marché et en phase avec les idéaux de la démocratie signifierait-il l’inéluctable développement de cette innovation ?

Non, et cela par manque d’informations mais surtout à cause du pouvoir.

Les gens qui expérimentent avec la participation n’ont pas le pouvoir législatif et les gens qui ont le pouvoir législatif n’expérimentent pas avec la participation. Ils participent avec l’ouverture, il n’y a pas de démocratie digne de ce nom qui n’ait pas essayé une transparence, mais la transparence est l’ouverture dans un seul sens.

Se voir donner un tableau de bord sans volant n’a jamais été la promesse de base qu’une démocratie fait à ses citoyens.

Nous avons les outils collaboratifs et nous savons qu’ils fonctionnent. Pourquoi ne pas généraliser leur utilisation ? Une nouvelle forme d’argumentation a été inventée de notre vivant, allons-nous laisser les programmeurs la garder pour eux ? Ou allons-nous tenter de la mettre au service de la société ?


Libre traduction de l’intervention de Clay Shirky "Comment internet transformera un jour le gouvernement".

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n'apparaîtra qu'après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Archives

Promouvoir et soutenir le logiciel libre

Mots-clés