Bonjour à tous.
Je voudrais réagir aux différentes interventions de Vincent Becker
qui me semble soulever des points importants. Je vous préviens, c'est
long. Mais c'est parce que ça fait pas mal de temps que j'accumule
des remarques et je n'ai jamais pris le temps de les formuler
auparavant.
Tout d'abord, je voudrais moi aussi insister sur la séparation
importante qu'il faut faire entre le logiciel demexp et le projet
politique « Expérience démocratique ». Premièrement, il faut bien
prendre conscience qu'un logiciel comme demexp peut avoir un très
important rôle d'aide à la décision au sein de petites structures
telles que des associations, des communes, des entreprises, la
gestion de projets, etc. C'est ce que dit Vincent, mais je veux bien
insister sur ce point. Cela signifie que le logiciel ne doit pas être
développé dans l'objectif unique du projet « Expérience démocratique
» mais bien avec le soucis de généralité qu'on peut attendre d'un tel
logiciel. Il faut d'autant moins négliger cet aspect que
l'«Éxpérience démocratique » est un projet de longue haleine, dont la
réussite est hasardeuse. La réussite du projet est aussi sans doute
soumise à la confiance que les gens pourront avoir en demexp, ce qui
plaide pour l'introduction de demexp dans la prise de décision dans
des structures de plus petite échelle et où l'enjeu est moins
important que la gestion d'une nation. En outre, un tel déploiement
peut servir de preuve de concept et permettre d'améliorer le logiciel.
J'insiste sur ce point parce qu'il m'a semblé que le développement
initial du logiciel était trop préoccupé par l'idée du projet
politique, au risque de faire des erreurs dans le choix de
l'architecture du logiciel (cf. le débat qui agite la liste
actuellement autour de la possibilité de supprimer une question). Il
me semble que le tir a été corrigé et que le développement actuel du
logiciel tient mieux compte des autres usages possibles. Raison de
plus pour y réfléchir.
À ce propos, je voudrais introduire ici une comparaison entre demexp
et wiki. Les divers logiciels wiki ont été écrits dans l'idée de
développer wikipedia, mais pour autant, l'outil a été conçu pour être
le plus souple possible de façon à ce qu'on puisse déployer des wikis
dans d'autres contextes. La préoccupation n'était pas inutile : pour
preuve les wikis qui fleurissent sur les sites de différents projets
logiciels (demexp en premier lieu).
Cette comparaison m'amène à une autre réflexion : la question des
droits. Dans un soucis de démocratie la plus large possible, vous
vous interdisez la création de droits particuliers pour certains
utilisateurs. Comme le fait remarquer Vincent, ça bride l'usage du
logiciel. J'ajouterai qu'introduire la notion de droits ne signifie
pas qu'on est obligé de les utiliser de sorte qu'il vaut mieux avoir
un logiciel qui permet de gérer de droits que non. Mais surtout,
regardez les wikis : n'est-ce-pas là un logiciel qui a pour vocation
la totale liberté d'édition par tous ? Pourtant le logiciel a été
conçu pour permettre l'utilisation de droits, et l'usage qui en est
fait (même s'il est le plus limité possible) permet une bonne
régulation des contributions et facilite l'utilisation du logiciel.
Je pense donc qu'il faudrait réfléchir sérieusement à cela pour
introduire la fonctionnalité dans les futures versions.
J'ajouterais en vrac quelques demandes de fonctionnalités. Ce sont
des idées en vrac ; souvent, il n'y a rien d'urgent, mais c'est pour
les porter à votre connaissance de façon à ce que les futures
évolutions en tiennent compte pour ne pas se boucher de possibilités.
- Une réponse systématique à toute question : « cette question est
sans objet » (cf. le débat qui anime la liste en ce moment à propos
de la suppression de question. Je n'ai pas d'idée vraiment idéale sur
la façon de résoudre le problème. Ceci n'est qu'une piste).
- Possibilité de fermer le vote de certaines questions (ça a déjà été
dit et ça me semble important ; d'abord, il y a des questions qui
n'ont qu'une durée limitée dans le temps ; ensuite, la plupart des
questions attendent une réponse qu'on considère comme définitive à un
instant donné, de façon à prendre les mesures qui s'imposent pour
l'application de la décision. Ça ne veut pas dire que la population
ne pourra plus changer d'avis, mais cela assure une certaine
stabilité des positions de la base. Si on veut reprendre le vote
d'une question, on peut commencer par soumettre une question de la
forme « Doit-on rouvrir au vote la question machin ? »). Lorsque le
vote est fermé, les questions, leurs réponses et la position de la
base à leur sujet doivent rester visibles, mais dans une autre
rubrique du logiciel. Ainsi, on n'encombre pas la prise de décision
sur les questions d'actualités par des vieilleries. Si on veut, ça
revient à séparer les codes de lois existants (les vieilleries) des
questions actuellement débattues à l'Assemblée (les questions
actuelles de la base).
- Sur la navigation dans l'interface, il y a beaucoup de choses à
dire, mais je pense que ça viendra dans (très) longtemps. Il faudra à
terme pouvoir faire des liens hypertextes entre questions, associer à
chaque question et à chaque réponse un lieu de débat (nous avions
commencé à y réfléchir avec un copain. C'est assez délicat. À
l'occasion je vous soumettrais nos idées là-dessus). Il faudrait
qu'il y ait un classement des questions en différentes rubriques, à
la base même de demexp de façon à différencier clairement des choses
qui n'ont rien à voir. Par exemple, les questions classées, les
questions urgentes, les questions de fond, les questions concernant
l'application de décisions prises par la communauté, que sais-je...
De manière générale, la catégorisation des questions est la plus
grosse faille de la version actuelle de demexp d'après moi. Au fait,
une question doit pouvoir être classée dans plusieurs catégories ou
sous-catégorie. Il y a aussi les méta-questions : « doit-on
considérer que la question machin n'a plus lieu d'être ? » par
exemple. Il faut songer à mettre en place un nombre de voix exprimées
minimal pour que la base prennent position.
Bien sûr dans très long temps, il faudra inclure un moteur de
recherche malin, un moyen d'avoir une vue globale de la base avec ses
différentes rubriques.
À terme, il faudrait qu'il y ait une rubrique : « questions sur
lesquelles vous ne vous êtes pas encore exprimées », ou encore «
questions datant de moins de tant de jours ».
- À propos de la délégation, au moment où elle sera mise en place, il
faudra à ce qu'on puisse déléguer une question particulière ou bien
tout une catégorie de questions. Il faut bien sûr pouvoir déléguer
les réponses à différentes personnes suivant les questions : ce n'est
pas parce que je suis d'accord avec Machin à propos de l'immigration
que je suis d'accord avec lui concernant la politique économique. Il
faudra pouvoir voir rapidement les questions qu'on a déléguées et
quelles réponses y ont été faites. En particuliers, il faut une
rubrique « changements de position prises par vos délégués depuis la
dernière fois ». Cette dernière fonctionnalité est indispensable pour
éviter les abus du genre : je délègue à Machin qui prend une position
qui me plaît bien mais qui, dès que j'ai le dos tourné change d'avis
sans me le dire. La délégation ne doit bien évidemment pas empêché
que je donne ma propre opinion plutôt que celle de mon délégué si je
ne suis pas d'accord avec lui ponctuellement. Cette dernière
réflexion a de l'importance lorsqu'on décide de déléguer toute une
catégorie de questions à quelqu'un : dans ce cas, je peut être en
désaccord ponctuel avec mon délégué sur une question ; je dois alors
pouvoir récupérer ma liberté d'expression sans pour autant supprimer
la délégation pour les autres questions de la catégorie.
Au fait, une réflexion qui m'est venue : la délégation n'est pas
forcément quelque chose d'unilatéral. Lorsque je délègue mon vote à
un ami qui a les même idées que moi, il pourrait vraisemblablement me
déléguer lui aussi les mêmes questions. Dans ce cas, on est dans une
situation où l'on décide à plusieurs de se répartir le travail :
n'importe qui de Bidule ou de Machin a le droit de répondre à telles
questions et lorsqu'il prend position, cela prend simultanément
position pour Bidule et pour Machin. Ainsi, on peut se regrouper en
courant de pensée et traiter à plusieurs toutes les réponses à une
catégorie de questions où on sait qu'on est tous d'accord.
- De manière générale, tout ajout de question ou de réponse dans la
base, ou toute modification de formulation doit être traité avec le
plus grand soin : par exemple, lorsqu'on ajoute une réponse à une
question, il est délicat de considérer que les votes précédents
tiennent toujours car l'introduction d'une réponse nouvelle peut
changer la donne. D'un autre côté, on ne peut pas remettre à zéro
tous les votes à une question sous prétexte qu'une réponse à changer.
À cela, je vois deux solutions, non mutuellement exclusives. La
première est une information systématique et automatique des gens
lorsqu'une question ou une réponse change dans la base (cf. idées
développées plus haut). La deuxième est d'introduire une catégorie «
Question en cours d'élaboration » qui permet de nettement séparer la
phase de préparation des questions et de leur réponses et la phase de
vote. Je penche très fort en faveur de la mise en place d'un tel
système. Ainsi, on peut se préoccuper de poser des questions, puis de
proposer divers réponses. Une fois que tout le monde est d'accord sur
les différentes réponses qu'on doit proposé à une question donnée, et
seulement à partir de ce moment-là, on soumet au vote, mais il n'est
alors plus question de modifier la question ou la réponse.
À ce propos, ça me permet de dire qu'il serait agréable de pouvoir
modifier la formulation d'une question ou d'une réponse, de supprimer
une question ou une réponse à tout moment. Pour éviter les abus, je
milite pour l'introduction de droits (par exemple, seul un collège
d'administrateurs a le droit de faire ce genre de modifications ; si
on veut, on peut mettre en place des systèmes sophistiqués du genre :
on soumet d'abord au vote une autorisation de modification.
Évidemment, le risque est rapidement de tomber dans de la lourdeur
administrative).
- À propos de sécurisation : ce n'est pas indispensable dans un
premier temps, même si sur un projet politique à grande échelle,
c'est indispensable. Mais dans le cadre de petites structures,
généralement, on se fait confiance. Par conséquent, l'effort
principal ne devrait pas être porté là-dessus d'après moi. D'autant
qu'en concevant bien les interfaces de communications, ce ne sera
rien que de rajouter une couche de SSL le temps venu.
À ce propos, j'attire votre attention sur une faille possible de la
méthode Condorcet en matière d'anonymat. Quelqu'un qui veut forcer le
vote peut s'y prendre ainsi : on introduit une quinzaine de réponses
pipeau. Puis, on le chef de la mafia va voir Bidule et lui dit : «
les questions pipeau, tu les mets à la fin de ton vote, et dans
l'ordre précis que voilà. En première position de ton vote, tu votes
pour moi ». Comme il y a 15! possibilités, ça permet à la mafia de
donner une signature unique à chacun. Si elle a accès au
dépouillement du serveur, elle peut alors savoir qui a suivi ou n'a
pas suivi la consigne de vote et aller flinguer qui de droit. La ruse
est indépendante de la sécurisation des transactions. D'aucun diront,
il suffit alors d'interdire à la mafia de voir le dépouillement. Mais
alors on a un grave problème de publicité de la méthode : comment
savoir si le serveur qui dépouille (qu'on n'a pas le droit de voir
dépouiller) n'est pas un serveur trafiqué par la mafia qui élit
toujours le chef de la mafia quoiqu'il arrive ?
Bref, il y a là quelque chose d'assez délicat à propos duquel je n'ai
pas trouvé de solution satisfaisante.
- Où en est l'interface Web ? Ça me semble une bonne chose de la
mettre en place. Mais ce n'est pas forcément urgent.
- Je finirais par une remarque sur le vote Condorcet : il a trois
défaut.
Le premier est de demandé de classer des réponses plutôt que de juste
donner une réponse. À la longue, ça peut être fastidieux. Néanmoins,
si le logiciel est bien pensé et si le système de délégation
fonctionne efficacement, je pense que le problème disparaît. Oublions
donc ce point.
Le deuxième défaut est qu'il oblige les gens à classer sur une même
échelle des réponses qui leur conviennent et des réponses qui ne leur
conviennent pas. Ainsi, aux présidentielles, je préfère Bidule à
Machin, mais je les aime bien tous les deux, alors que je n'ai pas du
tout Truc. Cependant, il faut préciser que Truc serait moins pire
tout de même que Chose, qui vraiment n'est pas bien du tout. Ça
demande beaucoup de pédagogie d'expliquer aux gens qu'il faut classer
les gens qu'on aime bien et les gens qu'on aime pas sur une même
échelle sans indiquer où commencent les gens dont on ne veut pas. Je
pense que ça amène une certaine méfiance vis-à-vis du système de vote.
Troisième défaut : que faire lorsqu'aucun candidat Condorcet ne se
dégage et qu'on a un ensemble de Schwarz non trivial ? Là, il y a
plusieurs variantes possibles et le choix de l'une d'elle est
arbitraire.
Je propose donc deux choses : d'abord que le choix de la méthode de
vote soit fait de façon bien modulaire dans le code de façon à ce que
tout un chacun puisse avoir le loisir de changer la méthode lorsqu'il
met en place un serveur demexp pour un besoin particulier. On
pourrait alors proposer par défaut avec demexp plusieurs systèmes et
l'administrateur de la base ferait son choix au moment du déploiement
du logiciel. En outre n'importe qui pourrait facilement écrire son
propre module sans avoir à lire tout le code de demexp. Ça nécessite
de bien documenter le module « méthode de vote ».
Quant à moi, je me demande si on ne pourrait pas résoudre les deux
derniers défauts soulevés de la manière suivante : les gens font deux
listes : une liste de réponses auxquelles ils adhèrent et une liste
de réponses auxquelles ils n'adhèrent pas. Les deux listes sont
ordonnées. Pour choisir la réponse gagnante, on fait d'abord un vote
Condorcet en concaténant les deux listes. Si un candidat Condorcet se
dégage, c'est le vainqueur. Sinon, on choisit le vainqueur dans
l'ensemble de Schwarz en faisant un vote par assentiment : pour
chaque votant, on ne considère plus que la liste des gens auxquels il
adhère et on les met ex-aequo. Celui de l'ensemble de Schwarz qui
totalise le plus de voix gagne le vote.
Il me semble qu'on bénéficie ainsi à la fois des avantages du vote
Condorcet et du vote par assentiment. Mais je m'étonne de n'avoir
jamais entendu parler d'un tel protocole. En tout cas je trouve que
ça mériterait qu'on y réfléchisse parce que ça permet de régler les
deux défauts principaux de la méthode Condorcet.
Voilà. Ce fut long, mais c'est le fruit d'un an de réflexions autour
de demexp. J'espère que ce sera profitable.
Au fait, il n'est pas exclu que je me mette à coder pour demexp un
jour ou l'autre. C'est juste que pour l'instant, je n'ai pas
tellement le temps.
Bon courage aux développeurs.
Cordialement,
Sylvain Chevillard
--
Liste de discussion demexp-fr.
Pour se désinscrire, cliquer sur le lien ci-après.
mailto:[EMAIL PROTECTED]