Le blog de vetetix

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 3 décembre 2008

Quelques nouvelles du front XMPP

Sur le nouveau blog de la XMPP Foundation, il y a régulièrement des petits billets intéressants, comme celui-ci.

On y voit que petit à petit que l’usage de XMPP est en train de s’étendre (j’allais dire s’imposer, mais c’est peut-être un peu tôt pour le dire), et ça me conforte dans mon idée que ce n’est pas une mauvaise chose que d’avoir essayé de remplacer IRC (#ec-lille@irc.rezosup.net) par Jabber (ec-lille@im.ec-lille.fr) à la résidence de Centrale Lille.

  • XMPP et Jingle pourraient techniquement remplacer SIP ;
  • Un fournisseur télécom Portugais a adopté XMPP (depuis quelques années, mais visiblement ils en sont contents) ;
  • XMPP commence à être intégré dans des outils collaboratifs autres que de simples clients Jabber — les groupwares OBM et Zimbra, et je crois que Thunderbird va s'y mettre aussi ;
  • Les communications Jingle audio et vidéo vont pouvoir se faire à plus de deux participants (je trouvais dommage que ce ne soit pas possible, parce que les concurrents comme Skype le permettent) ;
  • XMPP s'attaque au Cloud-Computing, et pourrait être utilisé comme protocole pour la collaboration entre les réseaux de cloud-computing (là je dois avouer que je n'ai pas encore lu, donc je ne sais pas exactement quel est l'objectif, mais visiblement ça vise à créer un truc ouvert pour qu'un utilisateur d'un provider de Cloud-computing puisse interagir avec les ressources d'un autre provider).

samedi 29 novembre 2008

Microblogging, le nouvel RSS ?

On voit de plus en plus d'exemples d'utilisation du microblogging pour faire du RSS : le compte Twitter de Obama pendant sa campagne, le compte de Hamon (je ne suis pas sûr de l'orthographe de son nom) pendant la compagne interne du PS, ou bien encore Koreus qui annonce tous ses nouveaux jeux et vidéos sur Twitter, en plus d'avoir un flux RSS. Ce ne sont que quelques exemples qui me viennent à l'esprit, il y en a surement beaucoup d'autres.

Je ne sais pas trop quoi en penser. Visiblement, de nombreuses personnes préfèrent utiliser du microblogging que du rss pour certains usages. Il y a des bons côtés, comme l'instantanéité ou la possibilité de « répondre » à l'auteur, sans passer par un système de commentaire, mais ce n'est quand même pas du tout adapté pour « gérer » les éléments qui arrivent. Ça force à les prendre en compte en direct, on ne peut pas aisément les retrouver par la suite, ou bien les laisser dormir pendant ne serait-ce que quelques heures, pour s'en occuper dès qu'on en a le temps.

Comme dirait l'autre :« Tous ces protocoles doivent mourir » (j'ai lu ça l'autre jour, je n'arrive pas à retrouver la référence exacte). Pour tout ce qui est social, le seul protocole qui soit vraiment intéressant et viable d'un point de vue ouverture, c'est xmpp.

samedi 25 octobre 2008

Convergence

On entend souvent parler de convergence numérique, principalement sous forme matérielle, parfois sous forme d'usages, et plus rarement sous forme de protocole. La convergence matérielle, avec le téléphone qui va sur internet et qui permet de regarder la télé, ça commence à arriver assez sérieusement. Le seul problème dans ce domaine, c'est la vitesse à laquelle progresse la technologie, et le prix du matériel. Par contre, pour ce qui est de la convergence des usages et des protocoles, on est encore loin du compte, et malgré les dernières évolutions du web, on pourrait faire beaucoup mieux. Les limitations ne sont plus physiques, elles sont dues à l'inertie face au changement, et à l'absence de volonté de changer, voire l'absence de connaissance de systèmes alternatifs.

On voit les choses avancer, bien évidemment. Ce qui m'intéresse dans les évolutions de ces dernières années, c'est le développement des réseaux sociaux. On voit qu'il y a une grosse demande à ce niveau. Tout le monde a un compte MSN (ou Yahoo! ou icq, selon les pays), tout le monde a un compte Facebook ou MySpace, et pas mal de monde a des comptes sur d'autres services sociaux, tels que Google Reader, Picasa, del.icio.us. Ensuite, de nombreuses personnes ont un blog, ou un compte de micro-blogging. Le gros, gros, gros problème, c'est que tous ces services sont séparés et incompatibles.

Bon, alors, comment ça se passe dans les faits ? J'ai un blog, j'écris un billet. Comment mes amis, ou les gens qui veulent suivre mes écrits font-ils pour être au courant des nouveautés (le problème est le même pour un site web qui publie des articles) ? Il y a plusieurs solutions, la première étant de venir sur le blog régulièrement — ce n'est évidemment pas envisageable si on suit beaucoup de sources d'information. La deuxième solution, c'est de s'abonner à une newsletter. C'est quelque chose qui se faisait énormément il y a quelques temps, mais ce n'est vraiment pas une bonne solution. D'ailleurs, ça disparait peu à peu, c'est remplacé par la meilleure solution à l'heure actuelle : le flux RSS.

Super invention que le flux RSS. Je ne parle pas du ATOM, vu que le concept est exactement le même, et c'est moins connu. On choppe un lien vers un fichier mis à jour à chaque nouveautés, qui contient l'article, ou un résumé de l'article. On automatise ça, avec un client qui va le récupérer de manière régulière, et hop, on reçoit les nouveautés. Le seul problème, c'est que c'est mal foutu. Si on veut recevoir les mises à jour rapidement, il faut demander à mettre ses flux à jour très régulièrement, par exemple toutes les minutes, mais si tout le monde fait ça, ça va pourrir les serveurs. En plus, si on décide d'utiliser un client en ligne, comme Google Reader, on ne peut pas choisir l'intervalle de mise à jour.

Les flux RSS, d'ailleurs, ça fait pas grand chose de plus. Il faut déjà prendre en compte les flux qui n'offrent qu'un résumé, voir moins, de l'article. Vous devez alors aller sur le site web pour avoir accès à la totalité du contenu. C'est quand même pas bien pratique comme système, si il faut aller sur le site. Dans le même genre, on peut souvent écrire des commentaires sur les billets et les articles, mais là encore, aucun moyen de le faire depuis son client RSS, il faut aller directement sur le site car le RSS a encore atteint une de ses limites.

Un autre problème, c'est que si on veut partager un lien qu'on a reçu, parce qu'on le trouve intéressant et qu'il intéressera nos amis, on ne peut pas le faire avec un unique client RSS. Il faut publier ce lien sur un truc comme del.icio.us, donc avoir un service de plus, ou bien utiliser un agrégateur un peu plus avancé, tel que Google Reader. On commence alors à partager des liens, puis on ajoute des commentaires avec ces liens, et on se retrouve très vite à vouloir partager des liens qui ne sont pas arrivés par RSS, et voire à faire des commentaires qui n'ont aucun rapport avec un lien. Là, on entre dans le domaine du blog, plus particulièrement du micro-blogging. Google Reader propose ainsi un début de convergence entre le flux RSS, le microblogging, et le partage de liens.

Si on veut aller plus loin dans le réseau social, il faut aller du côté de sites comme Facebook. On peut à peu près tout y faire, de la communication sous forme de messages instantanés, de mails, de forums, de commentaires, mais aussi et surtout des trucs funs, des jeux, des applications addictives. Par contre, c'est une plateforme fermée, contrôlée par une entreprise, on ne peut pas décider de son évolution, on ne peut pas développer n'importe quel type d'application, on est limité par le côté « application web ». Donc au final, on ne peut pas développer un réseau social avec des vraies applications, avec des vrais jeux vraiment puissants (on ne peut pas facilement lancer une partie de Counter Stike avec ses potes facebook, par exemple). Mais bon, ce qui me rebute le plus, c'est le côté fermé et centralisé… Le jour où vous voulez quitter Facebook pour aller chez son concurrent (ou que vous voulez tout simplement utiliser le concurrent en plus de Facebook), vous allez galérer pour emmener avec vous la liste exacte et complète de vos amis. Au final, on a 150 contacts sur MSN, 200 amis sur Facebook, autant sur les services Google, mais toutes ces listes de contact sont séparées, non synchronisées, vous devez les recréer à chaque fois que vous ouvrez un compte sur un nouveau site, bref, c'est galère.

Ajoutons à cela, dans un autre domaine, le fait que l'outil de communication le plus utilisé dans le monde à l'heure actuelle est l'e-mail. Ai-je vraiment besoin de vous dire à quel point cet outil est dépassé ? À quel point il est vérolé de l'intérieur par le spam ? À quel point il n'est pas sécurisé, et donc utilisé pour du phishing et de l'usurpation d'identité ? Bien évidemment, comme c'est un protocole qui est utilisé depuis longtemps, personne ne souhaite l'abandonner, mais un jour ou l'autre il faudra vraiment s'en préoccuper. Les jeunes n'utilisent plus les mails, ni les mailing lists. Ça a été largement dépassé par la messagerie instantanée (depuis quelques années déjà), et maintenant par les réseaux sociaux. Certaines personnes n'ont plus d'adresse mail que parce que c'est nécessaire pour ouvrir un compte sur d'autres sites, mais ils ne s'en servent quasiment jamais en dehors de cela.

Le constat que je fais avec tous ces éléments, c'est qu'il y a plein de trucs super intéressants à faire avec le web, avec les nouveaux modes d'échange qu'il permet, mais pour chaque usage différent il y a un service différent. De plus, chaque service empiète partiellement sur les plates-bandes des autres, mais de manière incomplète et non satisfaisante. Il faut donc trouver une alternative à tout cela. Comme je l'ai dit, le mieux à l'heure actuelle en terme de fonctionnalités, ce sont les sites tels que Facebook ou Myspace, mais étant donné qu'ils sont centralisés, fermés, et à but lucratif, il est n'est pas envisageable de les adopter massivement sans se poser de question (ce que 90% des gens font tout de même…). Ce qu'il faut, c'est une architecture de réseau social qui soit décentralisée et ouverte, qui propose de remplacer efficacement la quasi-totalité des services énumérés dans ce billet. On arriverait alors à obtenir une belle convergence des usages et des outils, et ça serait classe.

C'est exactement pour ce genre de choses que je fais de la pub pour Jabber, que je soutiens les gens qui s'investissent dans son développement, et que j'ai confiance en son avenir. J'imagine que certaines personnes ne seront pas d'accord avec moi, mais je considère que c'est un protocole à tout faire. Je vais donc essayer d'expliquer point par point tout ce qu'on peut en faire, et en quoi il peut remplacer les autres services.

Je vais commencer par le plus facile, les mails : on jarte. Jabber fait tout ce que fait un mail, en plus sécurisé, en plus authentifié, en plus instantané. Donc on a de quoi remplacer efficacement les mails, tout en supprimant le spam. La seule limitation, c'est que pour l'instant les clients Jabber ne sont pas prévus pour gérer les messages à la manière d'un client mail, et les serveurs n'implémentent pas encore le stockage des messages en ligne (mais c'est prévu par le protocole, il faut juste qu'ils l'activent ou l'implémentent). Ce n'est qu'une question d'un peu de développement pour que le mail soit réellement obsolète. D'ailleurs, il semblerait que Mozilla et Thunderbird songent à ajouter des fonctions de messagerie instantanée à leurs logiciels, donc on n'est vraiment pas loin de la solution.

Pour tout ce qui est blogging, micro-blogging, et RSS, Jabber peut très bien faire l'affaire. Il y a depuis quelques temps dans le protocole un système de pubsub pour créer du contenu, le mettre en ligne à disposition des autres utilisateurs, et prévenir les gens abonnés à son blog qu'un nouvel article est disponible. Ça remplace très efficacement le RSS, ça offre un système parfait pour le micro-blogging, et pour ce qui est du blog à proprement parler, ça fournit tout ce qu'il faut pour la gestion du contenu, et des commentaires. La seule inconnue à mes yeux est la gestion de « l'à côté » du blog, c'est à dire les widgets et autres, mais il est possible qu'une partie de ce qu'on souhaite ajouter à un blog existe déjà sous une autre forme dans un client hybride de messagerie instantanée et de réseau social. Pour ce qui est du remplacement du RSS sur les vrais sites web, il suffit à mon sens qu'ils implémentent un système envoyant l'article directement à chaque personne qui s'est abonné à leur flux, un peu à la manière d'une newsletter contenant uniquement l'article en question (un peu comme le contenu des éléments d'un flux rss à l'heure actuelle). Pour l'utilisateur, l'avantage serait qu'il n'aurait plus à se soucier du temps de rafraîchissement de ses flux, puisqu'ils seraient envoyés immédiatement par le site web, et pour ce dernier, ça signifiera une diminution drastique du nombre de requêtes, et de la bande passante utilisée.

En ce qui concerne le partage de liens, et le remplacement de sites comme del.icio.us, le problème est différent. Pour le partage simple, un petit plugin Firefox qui ajoute un bouton « Partager le lien via le client Jabber » suffit. Le client web fait appel au client Jabber, et envoie un message de microblogging, avec ou sans possibilité d'ajouter un petit commentaire, et le tour est joué. Le seul problème, c'est que ça ne remplace pas le côté mise en commun de tous les liens bookmarkés et création de statistiques intéressantes que proposent les sites spécialisés. Comme de toute façon, c'est quelque chose que ne permet pas non plus Google Reader, et que je n'utilise pas del.icio.us, ça ne me dérange pas de m'en passer. On peut de plus très bien imaginer des services qui indexeraient les flux de microblog disponibles sur le net, pour en sortir les liens, et pour faire des stats. Donc pour moi, Jabber peut très bien être utilisé à ce niveau, ça n'enlèverait pas de fonctionnalité.

On arrive maintenant au point le plus sensible à mon avis, qui est le remplacement des véritables réseaux sociaux. C'est là que Jabber peut avoir du mal à vraiment sortir son épingle du jeu. Pour tout ce qui est communication, échange de messages, de commentaires, de « graphitis sur son mur » (je sais plus comment ça s'appelle en français, le "Wall" de Facebook), Jabber a tout ce qu'il faut, et en mieux. Je pense que le problème vient des applications funs et des jeux, car c'est un peu plus complexe que du simple échange de texte. Jabber offre la possibilité de créer une interface facilement accessible pour lancer des sessions d'applications ou de jeux, sans avoir à passer par des mécanismes internes aux applications et nécessitant de connaître l'adresse ip de son correspondant, ou même d'ouvrir des ports dans son pare-feu. C'est ce qu'est en train d'apporter le client Empathy au bureau Gnome, même si ce n'est pas encore assez mûr pour pouvoir être réellement utilisable. Empathy propose d'utiliser une API pour créer un « tube » entre l'application locale et celle du correspondant, en mettant en place une communication Jabber (soit du Jabber pur, si ça demande peu de bande passante, soit carrément une session Jingle si ça nécessite l'envoi de beaucoup de données). Quand ça sera en place, ça sera super classe comme système.

Par contre, je ne suis pas sûr de comment un système tel que je le décris pourrait gérer les applications qu'on trouve sur facebook, un peu comme toutes les applications open-socials. Quelque part, je ne vois pas pour quelles raisons un client Jabber ne pourrait pas implémenter une architecture compatible Open-Socials, et donc permettre d'installer tout plein d'applis, et de s'en servir avec ses contacts. Le plus gros problème à mon avis, c'est qu'on se prive du côté « centralisé » de ces réseaux, qui permettent d'offrir des services qu'une architecture décentralisée ne pourra pas fournir (où et comment seraient stockés les scores, les statistiques, d'une manière globale pour tous les utilisateurs ?).

enfin bon, si vous avez réussi à lire ce billet jusqu'à la fin, laissez-moi un petit commentaire, soit pour réagir/critiquer/compléter mes propos, soit pour me montrer que je ne l'ai pas écrit pour rien :-)

lundi 11 août 2008

La classe mondiale :-)

J'ai posé une question sur la mailing officielle des utilisateurs de Jabber, et Peter Saint-Andre, le grand boss du xmpp mondial (il est président de la XMPP Software Foundation) m'a répondu lui-même, et a même mis sa réponse sur son propre blog.

Ma question était plutôt simple, mais je n'avais pas réussi à en trouver la réponse sur Google. D'ailleurs, dans ma question j'avais bien identifié les deux mesures techniques qui existent dans le protocole pour se protéger du spam, il est étrange que je n'ai pas trouvé de confirmation dans mes recherches Google.

Enfin bon, c'est énorme, je pose une question et PSA me répond personnellement sur son blog. Je suis de plus en plus fan de Jabber/XMPP. La communauté est relativement petite, et on peut facilement entrer en contact avec les mecs qui font avancer le protocole et qui prennent les décisions. J'imagine que c'est pareil pour beaucoup de domaines de l'informatique, mais ça ne change pas le fait que je suis content de m'enthousiasmer pour Jabber.

P.S. la mise en page de ma question est complètement explosée parce que j'avais d'abord envoyé un mail, qui n'est pas passé, donc je suis allé poser ma question sur le forum en copiant/collant mon mail.

vendredi 11 juillet 2008

Pourquoi il faut abandonner ou faire évoluer IRC

Comme on peut le voir sur ce blog, il y a de gros problèmes avec le protocole IRC, dus tout simplement au fait qu'il ne prévoit pas d'avoir une gestion avancée de la présense et du message d'état.

Le principe, c'est de pouvoir être connecté, et dire « Je suis absent », ou bien « Je suis en cours », mais aussi, « Je travaille, ne me dérangez pas », ou bien tout simplement « Je suis content que telle chose soit arrivée ».

Avec IRC, il existe la commande « /away », qui permet d'indiquer aux autres personnes que l'on n'est plus devant son ordinateur, et on peut spécifier une raison, comme ceci?: « /away Je suis parti faire les courses ». Le problème, c'est qu'il n'y a pas moyen de mettre ce genre de message si on n'est pas absent, contrairement à la plupart des autres protocoles de messagerie, comme MSN messenger ou Jabber.

Au final, beaucoup de personnes ne connaissent pas cette commande, et ne l'utilisent jamais, et même s'ils la connaissent et l'utilisent régulièrement, il arrive souvent d'avoir quelque chose à dire, et ils modifient leur nick. C'est logique, parce que le protocole IRC n'offre aucune alternative, mais sur un salon qui accueille des centaines voire des milliers d'utilisateurs c'est absolument insupportable (imaginez le nombre de changements de nick que cela engendre, si 1000 personnes changent de « Statut » plusieurs fois par jours).

IRC, c'est sobre, c'est « simple », c'est efficace, et même s'il faut un tout petit temps d'adaptation et être un poil geek, c'est très bien adapté pour communiquer au sein de projets communautaires (logiciels libres, tout ça), mais aujourd'hui on se dirige plutôt vers des communications de type « réseau social », avec moins de sobriété, plus d'options, plus de possibilités.

Avec ce type d'utilisation, que tout le monde fait plus ou moins (moi aussi, je dois avouer), la sobriété et l'efficacité du protocole IRC est complètement détruite, parce que ça doit être le protocole le moins adapté au monde. Je pense vraiment que des protocoles comme XMPP vont finir par surpasser IRC dans le milieu des logiciels libres, et qu'IRC va doucement devenir un vieux protocole pour geeks acariatres. Enfin, il est toujours possible qu'un protocole IRC2 sorte de terre un jour ou l'autre, pour rattraper le retard, mais j'en doute fortement.

dimanche 25 mai 2008

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.

mardi 5 février 2008

Yahoo!, Google, et le spim XMPP

Un des événements qui fait le plus de bruit en ce moment est l'annonce de Microsoft il y a quelques jours, annonçant la volonté de la firme de racheter un de ses plus grands concurrents, Yahoo!. Cette annonce a fait réagir de nombreux acteurs du monde de l'internet, Yahoo! bien évidemment (qui semblerait-il a appris la nouvelle en même temps que tout le monde), mais aussi Google, qui dénonce une tentative de création de monopole sur le web de la part d'une compagnie qui s'est déjà constituée un monopole sur les ordinateurs personnels (enfin bon, de nombreuses personnes ont peur du « monopole Google», donc Google n'est pas tout blanc non plus).

Ce rachat ne s'est pas encore effectué, et il y a de grandes chances qu'il ne se fasse jamais. En effet, tout d'abord Yahoo! estime que Microsoft le sous-évalue, et ne souhaite donc pas être racheté au prix annoncé, ensuite il semblerait que d'autres investisseurs soient sur l'affaire, et souhaiteraient eux-aussi acquérir Yahoo!, mais surtout il se pourrait que Google s'en mêle, et empêche ce rachat en mettant en place un partenariat avec Yahoo! (elle a toujours refusé tout partenariat avec Google, mais elle va peut-être se raviser maintenant qu'elle est en position de faiblesse).

Je voudrais pour ma part réagir sur plusieurs points, qui concernent la position de Yahoo! vis-à-vis du logiciel libre, et les répercussions que ce rachat pourrait avoir sur le monde de la messagerie instantanée. En effet, Yahoo! soutient plusieurs projets de logiciel libre (on peut par exemple citer Zimbra), et il est assez clair qu'en cas de rachat par Microsoft la politique de Yahoo! envers le logiciel libre va totalement changer (surtout quand un des projets en question est un concurrent plutôt sérieux de Outlook). Cet article en parle mieux que moi. Concernant la messagerie instantanée, il semblerait qu'un certain nombre de changements soient à attendre suite à ces événements. Si un rapprochement Microsoft/Yahoo! s'opère, il est fort probable que leurs deux réseaux de messagerie instantanée soient fusionnés, ce qui mettrait le réseau résultant au même niveau que celui de aim/icq, voire devant. AOL, qui est actuellement en train de tester un rapprochement entre son réseau et le réseau fédéré xmpp ne pourrait alors plus que mettre plus de moyens dans cette démarche de façon à rendre son réseau plus attractif.

Quand à un rapprochement Yahoo!/Google, je ne sais pas ce que ça pourrait donner. En effet, dans une interview datant d'il y a un an, le directeur produit de Yahoo Messenger annonçait clairement qu'il était opposé à tout rapprochement entre leur réseau de messagerie instantanée et Jabber. Il avançait comme arguments que ça serait beaucoup de travail pour très peu de monde, mais aussi que cela mettrait leur réseau en danger, à la merci de tous les « spimmers » (les spammers, mais pour la messagerie instantanée). C'est l'argument le plus ridicule que j'ai entendu, étant donné qu'il est possible de désactiver la réception des messages de personnes ne se trouvant pas dans nôtre liste de contacts…

L'avenir nous dira ce qu'il en est.