Pas plus tard qu'avant hier, je discutais
avec un ami qui avait du mal à comprendre mon attachement aux logiciels libres.
La discussion portait plus précisément sur les pilotes libres ou propriétaires,
il pensait que l'acheteur payait le couple matériel-pilote, alors que je
pensais que non, on achète le couple matériel-« fonctionnement sur *son*
système ». Il est en effet très important d'avoir la possibilité de changer de
système d'exploitation, et de passer de Windows à Linux, ou bien même de Linux
à Solaris ou BSD (je me demande quel est l'état des pilotes pour les cartes ATI
sous BSD, quand on voit ce qu'il est sous Linux). J'affirmais aussi que ce qui
est vraiment important, c'est que le matériel soit ouvert, c'est à dire que ses
spécifications soient publiques. Cela permet à tout développeur compétent de
créer un pilote pour l'OS qu'il utilise, pas seulement pour les OS que le
fabricant considère comme une plate forme rentable. Le refus d'utiliser un
pilote propriétaire se fait plus au niveau de la crainte de voir sa vie privée
ou ses informations personnelles violée par une fonction cachée du pilote, et
le refus d'un simple pilote ouvert (sans que le matériel le soit) est
nécessaire parce que le fabriquant peut alors cacher le fonctionnement exact de
son produit et n'en activer que le strict nécessaire. Pour appuyer cette
position, je n'ai qu'à citer la récente affaire des carte son Creative (si je
ne me trompe pas de marque)?: la compagnie créait des pilotes qui
n'exploitaient pas toutes les fonctionnalités des cartes, car elles ne les
activaient que pour celles haut de gamme et plus chères. Ainsi, on achetait une
carte moyenne gamme dont le fonctionnement était bridé par le constructeur,
c'est totalement ridicule mais ça existe, et c'est pour ça qu'il faut exiger
que les spécifications du matériel soient publiées.
Un gros problème que j'ai lorsque je discute de logiciel libre est que j'ai
parfois du mal à expliquer pourquoi c'est important. En effet, lorsque qu'un
exemple simple et concret s'offre à nous — via un énième scandale à propos de
la politique de respect de l'utilisateur de Microsoft par exemple, ou via
l'histoire des cartes son Creative — il n'est déjà pas toujours simple de faire
comprendre que le système actuel n'est pas satisfaisant, alors quand il s'agit
de s'occuper d'un cas théorique (je veux dire par là qu'il n'y a pas d'exemple
concret et clair à montrer en exemple, soit parce qu'il n'y a encore jamais eu
d'abus, soit parce que je n'en connais pas de précis), il est quasiment
impossible de faire comprendre à son interlocuteur pourquoi on est opposé à
telle ou telle pratique d'un fabricant ou développeur de logiciel.
Dans le premier cas, alors même qu'on a des exemples concrets de violations des
droits des utilisateurs, il y a toujours des gens pour tenter d'expliquer ou de
justifier les actions de l'éditeur de logiciel. Prenons par exemple le cas de
Microsoft et de son spyware, Windows. Les exemples de fonctionnalités du
système d'exploitation qui envoient sans nous l'annoncer des informations aux
serveurs de Microsoft sont nombreux. Soit on n'est pas au courant, parce que ce
n'est dit nulle part, et quelques personnes s'en rendent comptent en analysant
le traffic réseau, soit c'est dit clairement des le contrat que l'on accepte
avant d'utiliser un logiciel (comme Windows Media Player), mais premièrement le
service n'a pas besoin de ces échanges d'informations pour fonctionner, et
deuxièmement il est impossible de les désactiver (se déconnecter du net n'est
pas une solution satisfaisante). Certaines personnes ne comprennent pas que
c'est une violation de la vie privée de de l'utilisateur, que la loi interdit
de collecter des informations sur ses clients sans les déclarer à la CNIL et
les rendre consultables, éditables ou supprimables par leur propriétaires. Ils
ne se rendent pas compte que si eux, en tant que particuliers n'en ont rien à
faire que Microsoft sache qu'ils écoutent tel album de Lorie ou qu'ils ont
commandé un disque dur sur Surcouf, cela peut gêner d'autres utilisateurs. Les
utilisateurs que cela peut gêner peuvent être des hommes politiques, des
businessman, des fonctionnaires, voire même des agents de la DST. Si Microsoft
possède des infos sur vous sur leurs serveurs à Redmond, il est fort probable
que la CIA ou d'autres services américains y aient accès. Si aujourd'hui vous
êtes un simple étudiant de 20 ans, demain vous serez peut-être un élu, un
militant s'opposant au régime, ou tout simplement un ingénieur chez Airbus
devant prendre des décisions en étant sûr que Boing ne soit au courant de
rien.
Malgré tout, il y a toujours des gens pour dire qu'un certain contrôle de ce
qu'on fait peut être bénéfique, pour arrêter des terroristes, pour rendre le
monde plus sûr, etc. À ceux-là, je leur dirai d'aller demander leur avis à tous
les blogeurs et journalistes emprisonnés en Chine ou en Corée du Nord parce
qu'ils sont considérés comme des criminels par le pouvoir en place. Le respect
de la vie privée et d'un certains nombre de droits fondamentaux est primordial
pour ne pas en arriver à une situation politico-industrielle insoutenable (je
lisais un article il n'y a pas longtemps que désormais il ne faut plus craindre
les dictatures politiques, mais les dictatures industrielles, bien plus
insidieuses).
Dans le deuxième cas, lorsqu'on n'a pas d'exemple concret à avancer pour
dénoncer une situation, il est toujours difficile de se faire comprendre. C'est
la lecture d'un article sur le Framablog qui m'a poussé à écrire ce billet, car
il m'offre un exemple d'une situation qu'il n'est pas facile de dénoncer.
L'article peut être trouvé à l'adresse suivante
http://www.framablog.org/index.php/post/2008/05/24/msn-windows-live-messenger,
et traite de la façon dont Microsoft impose insidieusement l'ensemble de ses
solutions logicielles aux consommateurs, en commençant par les plus jeunes. Je
vous conseille vivement sa lecture, même s'il est un peu long. La question ici
n'est pas de dénoncer une violation évidente de la liberté de l'utilisateur,
comme c'est souvent le cas, mais de dénoncer la mise en place à long terme
d'une telle situation parce que le public ne se rend pas compte de l'évolution
du marché. Cette évolution est bien évidemment façonnée par la main
d'industriels à l'éthique douteuse (quand on entre en bourse, le seul critère
important est le profit, le reste vient après et n'est considéré que s'il a un
incident sur le profit) et par l'absence de réaction des consommateurs, qui se
laissent attirer par des fonctionnalités alléchantes mais oublient qu'en
contrepartie on les enferme dans un système propriétaire et liberticide.
Imaginez mon désarroi quand je tente de convaincre mes amis qu'il faut arrêter
d'utiliser MSN ou Facebook. Le gros problème est qu'ils se contentent de juger
une solution sur ce qu'on voit à la surface, c'est à dire les fonctionnalités
offertes à l'utilisateur. Dans le cas de Windows, j'ai toujours moyen de leur
faire comprendre que depuis que je suis sous Linux je ne suis plus limité par
la politique de fermeture de Microsoft, que c'est un système créé par des
utilisateur, pour des utilisateurs, qu'il y a moyen de le personnaliser comme
il ne sera jamais possible de personnaliser un système propriétaire, voire même
qu'il est possible d'étendre les possibilités du système en bidouillant
soi-même une fonctionnalité qui nous est indispensable, et qu'il est impossible
d'avoir sous Windows. Pour ce qui est de Facebook, je n'ai pas d'alternative
libre à proposer. Facebook est presque unique en son genre. Certes il y a
Myspace, Hi5, ou d'autres plateformes, mais le problème est le même dans tous
les cas, toutes ces plate-formes sociales enferment l'utilisateur. Il n'existe
pas d'équivalent libre et respectueux de l'utilisateur à l'heure actuelle,
comment puis-je leur faire comprendre qu'il faut faire le sacrifice de quitter
Facebook si je n'ai rien à leur offrir à la place?? Idem pour MSN, il n'y a pas
de solution libre proposant les wizz, la voix, la vidéo, les petits jeux en
ligne.
Le problème à ce niveau là est le même que celui auquel s'attaquent les
militants écologistes, il s'agit de tenter de créer un monde meilleur, pas un
monde qui évolue le plus rapidement possible sans se soucier des conséquences à
long terme. Construire un système informatique libre, respectueux des
utilisateurs, étant prévu pour être implémentable par tout un chacun prend
énormément de temps. Construire le même système au sein d'une entreprise, de
manière fermée, en s'appuyant sur la puissance commerciale d'une base existante
d'utilisateurs d'autres services, sans se soucier du respect des utilisateurs,
cela prend beaucoup moins de temps, est moins coûteux, et apparaît aux yeux du
public comme étant une meilleure solution, car cela leur permet de profiter de
plus de fonctionnalités plus rapidement. La plupart des gens ne se rendent pas
compte des problèmes que cela pose. Ils préfèrent utiliser MSN parce qu'il y a
le démineur dedans, mais ils ne se rendent pas compte qu'ils n'auront jamais
accès qu'aux cinq jeux qui sont proposés par Microsoft. Le jour où ils voudront
un autre jeu, ils ne l'auront pas parce que personne n'est capable de créer un
nouveau jeu, ne sachant pas comment ils sont implémentés. Concernant ce point
ci, je dois avouer que dans de nombreux domaines je me situe au même niveau que
le reste de la population, et que je ne me rends pas compte de ce genre de
risques.
Il est donc primordial de refuser tout système fermé. Il n'existe pas de raison
suffisante pour justifier l'utilisation d'un système fermé, car les avantages à
court terme de l'utilisation d'un tel système ne valent pas les inconvénients
qui en découleront à long terme. Un monde libre évolue bien plus rapidement
qu'un monde fermé et propriétaire, il faut juste lui laisser le temps de
démarrer et de rattraper son retard sur ce dernier
Pour en revenir au titre de ce billet, je vais citer en exemple le protocole de
messagerie instantanée XMPP. En effet, il s'insère bien dans ce cadre de combat
entre le libre et le propriétaire, avec d'un côté MSN, fermé et limité aux
décisions de Microsoft, et de l'autre côté XMPP, ouvert, destiné à être
distribué et non centralisé, et aux possibilités extensibles. J'ai parlé de
MSN?Messenger un peu plus haut dans ce billet, et j'ai déjà dit qu'il était
extrêmement limité. Même si à l'heure actuelle il offre plus de possibilités
que son concurrent libre, il est totalement contrôlé par une boite qui n'a
comme seul objectif que la création de profits, au détriment du respect de
l'utilisateur. Il ne sera jamais possible de le modifier pour pouvoir y ajouter
une fonctionnalité qui nous serait utile, que ce soit en tant qu'utilisateur ou
en tant que professionnel qui a besoin d'intégrer une solution de messagerie
instantanée à son produit. De l'autre côté, XMPP a à l'heure actuelle moins de
fonctionnalités visibles du point de vue du l'utilisateur. Il n'y a pas encore
de jeux, les clients sont moins complets, la voix et la vidéo ne sont pas
encore stabilisés, etc. Par contre, il remplit parfaitement le rôle de base,
qui est de faire de la messagerie instantanée, et il peut être utilisé
relativement simplement dans des produits tout autres que de la messagerie
instantanée.
Parmis les usages notables de XMPP, outre les exemples d'usage en tant qu'IM
par Meetic, Google, Sun, IBM, et autres, on peut citer son utilisation par TiVo
et par le Nabaztag. Dans les deux cas, il sert à remplacer le système de suivi
d'info par rss, qui devient de moins en moins adapté aux utilisations actuelles
d'internet. Dans le cadre du TiVo, la machine est notifiée en temps réelle de
l'arrivée d'une nouvelle vidéo, et dans le cas du Nabaztag, le lapin est
notifié de l'apparition de je ne sais quelle nouvelle info (mail ou autre, je
ne sais pas trop à quoi sert cet appareil). Ici, l'intérêt d'un point de vue
technique est que XMPP fournit un système de notification de type PUSH, et non
de type PULL, c'est à dire qu'au lieu de faire une requête au serveur toutes
les minutes pour savoir si il y a des nouveautés, il n'y a communication entre
l'appareil et le serveur que lorsque qu'il y a vraiment une nouveauté. Cela
réduit considérablement la charge que subit le serveur. Mais l'intérêt
principal est que XMPP est libre et ouvert, extensible et complet, il aurait
été impossible d'utiliser le protocole MSN pour faire la même chose, tout
simplement parce que c'est un protocole fermé.
Un gros problème à l'heure actuelle dans la communauté du libre est que au lieu
d'aider à développer des clients XMPP variés et performants, beaucoup de
développeurs perdent leur temps à implémenter des protocoles fermés dans les
clients libres. Si on prend l'exemple de Pidgin, j'ai lu dernièrement que 80%
des ressources-développeurs du projet étaient utilisées à implémenter la voix
et la vidéo MSN. C'est du gros gâchis, il vaudrait mieux qu'ils utilisent leur
temps à implémenter des fonctionnalités XMPP qui sont en attente depuis des
mois que de perdre leur temps à faire du reverse engeneering sur un protocole
fermé. Implémenter un protocole ouvert est bien évidemment bien plus aisé et
rapide, mais que voulez-vous, on ne peut pas les forcer à abandonner MSN, ils
sont libres de faire ce qu'ils veulent. Je ne peux pas les forcer, mais le jour
où j'aurai une famille et des enfants (si j'en ai un jour), ils n'utiliseront
ni Windows, ni MSN, je ferai tout pour bloquer les communications avec les
serveurs de Microsoft, et mes enfants devront apprendre à vivre sans être
dépendants de systèmes propriétaires.