Entrevue avec Yann Leboulanger, développeur de Gajim

28
17
nov.
2011
XMPP

Gajim est un client XMPP parmi les plus aboutis : on en découvre tous les jours, et son développement se poursuit, lentement, mais sûrement. Yann Leboulanger en est le développeur principal.

LinuxFr.org : T’es qui toi ?

Yann Leboulanger : Je suis enseignant en IUT GEII, et développeur à mes heures perdues. J’ai commencé à développer Gajim en 2003.

LinuxFr.org : C’est quoi Gajim ? Qu’est‐ce que ça fait, et comment ?

Yann Leboulanger : Gajim est un client de messagerie instantanée basé sur le protocole XMPP. L’utilité première de Gajim est donc de discuter avec ses contacts, à deux ou en groupe. XMPP étant un protocole extensible, de nombreuses fonctionnalités ont été ajoutées autour de ça : le transfert de fichiers, les conversations audio‐vidéo, etc.

Roster Gajim

LinuxFr.org : C’est sous quelle(s) licence(s) ?

Gajim est distribué sous licence GPL v3.

LinuxFr.org : C’est développé autour de quelles « technos » ?

Le langage de programmation est le Python, et la bibliothèque graphique est GTK+ version 2.

LinuxFr.org : Ça se compare à quoi de libre ou proprio ?

Le protocole XMPP étant libre, de nombreux clients existent. Les plus célèbres sont sans doute Pidgin et Psi. On pourrait également comparer Gajim au client Windows Live Messenger (WLM), mais en libre et décentralisé, vu qu’il existe de nombreux serveurs partout dans le monde qui communiquent entre eux.

LinuxFr.org : C’est quoi les tueries de ce logiciel ?

Il est assez complet : il gère de nombreuses extensions du protocole XMPP. Sa prochaine version (la 0.15) aura un système de greffons qui permettra d’étendre ses fonctionnalités plus facilement.

LinuxFr.org : Y a‐t‐il un business model autour ?

Absolument aucun. Quelques dons m’aident à payer le serveur qui héberge le projet.

LinuxFr.org : Quels sont les déploiements publics ou privés (dont vous pouvez parler) les plus significatifs ?

Aucune idée. Je n’ai pas eu de retour de sociétés qui l’utilisent largement.

LinuxFr.org : Vous êtes combien de contributeurs ?

Il y a des hauts et des bas. En ce moment on n’est que deux à développer. En général, un étudiant travaille sur Gajim lors du Google Summer of Code pendant 3 mois l’été.

LinuxFr.org : Comment est né le projet ? Comment a‐t‐il évolué ? Quels sont les faits marquants ?

Il est né il y a maintenant 8 ans. Je voulais apprendre à programmer, un copain avait envie de faire un client XMPP, on s’est lancé. Les extensions du protocole ont été ajoutées petit à petit au gré du temps libre des développeurs et des contributions extérieures, et cela continue.

LinuxFr.org : Quels problèmes avez‐vous rencontrés ?

Il n’est pas facile d’intéresser des développeurs pour qu’ils rejoignent l’équipe afin d’accélérer le développement. Les bras manquent pour assurer les corrections de bogues et continuer le développement.

LinuxFr.org : Justement, avec le système de greffons, ça va peut‐être encourager des développeurs ? Quels sont les greffons déjà disponibles ?

Avant même que le système soit fini d’être implémenté, nous avions déjà une contribution. Donc, oui, nous espérons accélérer l’implémentation de nouvelles fonctionnalités grâce à cela. Plus d’une vingtaine de greffons sont actuellement disponibles, dont le tableau blanc, le chiffrement OTR, la configuration des événements émis par Gajim, etc.

LinuxFr.org : Quelle est votre feuille de route ?

Ce n’est pas facile de voir à long terme avec les ressources dont l’équipe dispose, mais à court terme, on finalise la version 0.15 qui a entraîné une grande réécriture de beaucoup de choses dans les entrailles de Gajim. On verra ensuite comment vont se développer les greffons pour améliorer l’API, ce qui signera probablement une version 1.0. Bien sûr, de nouvelles petites fonctionnalités sont prévues (correction du dernier message envoyé, état de conversation dans les groupes de discussion…).

LinuxFr.org : Quelle est votre relation avec la XSF ?

Nous essayons de les aider en implémentant les nouvelles fonctionnalités, en faisant des retours sur les spécifications et en participant à leur rédaction. C’est également sous l’égide de la XSF que nous participons au Google Summer of Code.

LinuxFr.org : Quelles sont les relations avec les autres développeurs de client ? Et de serveur ? Menez‐vous des tests d’interopérabilité ?

Il nous arrive effectivement de discuter avec les développeurs des autres clients et des serveurs, en particulier lors de l’implémentation de nouvelles fonctionnalités, ou lors du Google Summer of Code. De plus, nous testons bien sûr Gajim avec les autres clients et un maximum de serveurs, pour vérifier que tout le monde implémente les fonctionnalités de façon interopérable.

LinuxFr.org : Sur GNOME, Gajim a toujours été plus ou moins « boudé » : Ekiga était le client de messagerie instantanée et téléphonie par défaut, maintenant c’est Empathy. Pourquoi ?

Je n’ai jamais cherché à « pousser » Gajim dans GNOME, car je ne l’utilise pas. Nous essayons cependant d’implémenter les fonctionnalités pour s’intégrer dans l’environnement GNOME (GNOME Screen Saver, GNOME session, GNOME keyring…).

LinuxFr.org : Sur Windows, Gajim me semble un peu plus instable que sur GNU/Linux. Est‐ce dû à GTK, Python, ou autre chose ?

GTK est effectivement assez peu développé sous Windows, et n’est pas réputé pour sa stabilité. Nous passons cependant beaucoup de temps à faire notre possible pour que Gajim fonctionne pour le mieux. Une autre chose est que certaines des librairies que nous utilisons ne sont pas (encore) disponibles et utilisables sous Windows (pour avoir les conversations audio et vidéo, par exemple).

LinuxFr.org : Sur Mac OS X, des portages ont été entamés, mais jamais complètement finis. Y a‐t‐il des progrès à prévoir dans ce domaine ?

Les deux principaux obstacles dans ce domaine sont, d’une part, l’intégration de GTK dans Mac OS X balbutiante, d’autre part, le fait qu’aucun des développeurs actuels ne possède ce système d’exploitation. Cependant, depuis les premières tentatives, Gajim est passé au 100 % Python. Les extensions pour s’intégrer au mieux dans Mac OS X ont été écrites en Obective‐C, ce qui implique encore une compilation. Mais aucune tentative n’a encore abouti à un paquet facilement installable.

LinuxFr.org : Quelle est la bibliothèque Python XMPP utilisée dans Gajim ? Est‐elle un fork ? Est‐elle réutilisée ailleurs ?

Nous sommes partis de xmpppy, puis nous avons « forké » pour utiliser des sockets non bloquants. Nous intégrons les améliorations venant de xmpppy, mais notre librairie n’est, à notre connaissance, pas réutilisée dans un autre logiciel.

LinuxFr.org : Pourquoi Jingle peine‐t‐il à décoller sur XMPP ?

Le protocole a été long à se mettre en place, et les différentes implémentations ne sont pas compatibles (Gmail n’utilise pas la dernière version du protocole). Les bibliothèques ne sont pas disponibles dans tous les langages pour toutes les plates‐formes. De plus, l’intérêt de la voix et de la vidéo dans un client de messagerie instantanée n’est peut‐être pas immédiat.

LinuxFr.org : Dans la même veine, PubSub et PEP peinent encore plus à décoller. Est‐ce parce que c’est plus difficile à appréhender ? Qu’est‐ce qui est implémenté dans Gajim ?

PubSub et PEP ne servent à rien en eux‐mêmes. Il s’agit simplement d’un support pour diffuser certains types d’information. Il faut donc définir des protocoles utilisant ces supports et les implémenter. Le protocole est en effet très complet, et donc complexe à mettre en œuvre, aussi bien du côté client que du côté serveur. Gajim a les fonctions de base permettant d’utiliser PEP et PubSub, et l’utilise pour certaines fonctionnalités comme le choix de l’humeur ou de l’activité, l’envoi de la musique actuellement écoutée, ou encore la réception des nouvelles avec Atom.

LinuxFr.org : On a beaucoup parlé de fonctionnalités « sociales » dans XMPP, mais celui‐ci est social par défaut… Des initiatives comme Jappix, Movim, ou encore OneSocialWeb ou BuddyCloud ont été lancées, ont fait parler, mais rien de tout cela ne semble réellement « prendre » à ce stade. Comptez‐vous offrir des telles fonctionnalités dans Gajim ?

Pour l’instant, l’aspect social, au sens partage de sa vie privée, n’est pas du tout sur notre feuille de route, et ne nous intéresse pas. C’est, à mon sens, trop éloigné de la messagerie instantanée pour faire partie du même logiciel. Le système de greffons permettra peut‐être à des développeurs extérieurs intéressés par cet aspect d’intégrer cela dans Gajim.

LinuxFr.org : Merci beaucoup !

  • # Pas immédiat?

    Posté par . Évalué à  6 .

    De plus, l’intérêt de la voix et de la vidéo dans un client de messagerie instantanée n’est peut‐être pas immédiat.

    Le succès de Skype est largement du à cet intérêt! C'est très difficile de "vendre" XMPP à des utilisateurs habitués à utiliser leur webcam depuis des années sur des logiciels propriétaires...

    • [^] # Re: Pas immédiat?

      Posté par (page perso) . Évalué à  4 .

      Effectivement, mais inversement, les libristes habitués à utiliser leur clavier depuis des années ne seront pas forcément immédiatement convaincus de l'intérêt de la voix et de l'image.

      • [^] # Re: Pas immédiat?

        Posté par . Évalué à  5 .

        euh perso je suis habitué à mon clavier, mais j'aurais la voix et la vidéo dans mon client jabber (un truc stable, qui passe bien les parefeu à la con), je prends direct !

        C'est pas vraiment le meme usage, les deux usages texte et VoIP se complète très bien.

    • [^] # Re: Pas immédiat?

      Posté par . Évalué à  6 .

      Le succès de Skype est largement du à cet intérêt!

      Peut-être que Skype a aussi pour lui la compatibilité avec le réseau de téléphonie.. Et ça, ce n'est pas une fonctionnalité due au protocole, mais bien un service proposé par une entreprise.

      Il existe pas mal de fournisseurs de comptes SIP (j'en avais trouvé une douzaine en cherchant), avec possibilité d'appeler sur des lignes de téléphonie (moyennant finances évidemment), à des tarifs intéressants et concurrentiels par rapport à Skype, et leur business semble pérenne. Peut-être que l'audio sur XMPP prendrait son décollage si un tel fournisseur proposait, en plus du SIP, un compte XMPP permettant d'appeler les téléphones.

      THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

  • # T’es qui toi ? 囧

    Posté par . Évalué à  9 .

    Ce serait bien d'éviter le langage "djeunz" lors des interviews

  • # Merci

    Posté par . Évalué à  9 .

    Je profite de cette dépêche pour remercier les développeurs de Gajim, mon client XMPP depuis pas mal de temps maintenant. J'apprécie particulièrement sa simplicité et le fait de pouvoir l'utiliser facilement sans Gnome. Pour moi il se place entre les logiciels en console et les gros comme pidgin ou empathy.

    Il est plus léger et a moins de dépendances que les gros et face à ceux en console il est présent dans mon systray.

    Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

    • [^] # Re: Merci

      Posté par . Évalué à  6 .

      J'aime aussi beaucoup sa non-dépendance à gnome, mais malgré tout la possibilité de pouvoir greffer des fonctionnalités comme gnome-keyring, ... pour ceux qui veulent.

      J'aime beaucoup le fait qu'il ne bloque pas systématiquement si une librairies n'est pas disponible, mais désactive la fonctionnalité.

      J'aime l'interface.

      J'aime le "protocole unique".

      J'aime les choix fait par les développeurs.

      J'aime pas les gens qui le critiquent sans l'avoir testé.

      J'aime pas les gens qui le compare à d'autre client, parce que Gajim il est mieux, c'est tout. Inutile de cherche la petite bête.

      (non, je faillotte pas, je m'exprime !)

      • [^] # Re: Merci

        Posté par (page perso) . Évalué à  3 .

        J'aime pas les gens qui le compare à d'autre client, parce que Gajim il est mieux, c'est tout. Inutile de cherche la petite bête.

        Je ne suis pas d’accord :(

        • [^] # Re: Merci

          Posté par . Évalué à  6 .

          J'aime pas les gens qui le compare à d'autre client, parce que Gajim il est mieux, c'est tout. Inutile de cherche la petite bête.

          Je ne suis pas d’accord :(

          c'est parce que t'es pas objectif, autrement tu saurais que j'ai raison.

  • # GTK3

    Posté par . Évalué à  3 .

    Est-ce qu'il y a un portage GTK3 de prévu ?

    • [^] # Re: GTK3

      Posté par . Évalué à  4 .

      Pas pour l'instant. GTK3 est récent pas encore très stable, et surtout ne fonctionne pas sur tous les OS ... Mais un jour bien sur !

  • # L'open source utilisable, contradiction

    Posté par . Évalué à  -5 .

    Comment dire ?
    C'est délicat..
    ..

    Tant pis ! Voilà :
    Fuck u !!! On veut de la VoIP open source qui MARCHE (presque toute seule) !!
    C'est tout !
    Arrêtez tout ! Tout de suite !
    Le chat, c'est bon. Maintenant il faut du chat VOCAL ! Qui marche (c-a-d à travers NAT, sans fichier de conf avec équations différentielles incluses !!).

    Voilà.
    Désolé.
    Pénible.

  • # Deux dev? Je ne savais pas et...

    Posté par . Évalué à  1 .

    Il n'y a que moi pour tiquer?
    On a plus de contributeurs pour les alternatives msn que pour les alternatives libres.
    Voilà en partie pourquoi les alternatives ne se développent pas bien.

    C'est là qu'il faut aller chercher des bras, convaincre certains de passer un peu de temps aussi sur les alternatives libres.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.