Le cas IM, et digressions sur les logiciels libres

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.

blogroll

social