Petit extrait d'un journal, à propos du projet Tracker :

Il est fort probable qu'il vienne remplacer beagle dans ubuntu (gnome?). Il est freedesktop-compliant (non lié à un DM particulier). C'est en fait un framework complet, permettant d'y venir y stocker d'autres infos applicatives (certaines applis l'utilise déjà). Il existe déjà des frontend gtk et qt.

Une chose me dérange un peu dans ce commentaire. Et non, ce n'est pas quelque chose qui peut porter à polémique :-) C'est simplement le Il est freedesktop-compliant, qui est ensuite repris dans certains commentaires. Cela ne veut pas dire grand chose de manière générale, et dans ce cas précis, cela a encore moins de sens que généralement. Et je ne jette pas la pierre sur l'auteur de ce journal en particulier car cela arrive régulièrement que quelqu'un dise, à propos d'un projet hébergé sur les serveurs freedesktop.org, que ce projet est un projet freedesktop, donc il est super important et bien.

Pour tenter de clarifier un peu les choses, partons de ces quelques extraits de la page d'accueil de freedesktop.org :

freedesktop.org is open source / open discussion software projects working on interoperability and shared technology for X Window System desktops. [...]
freedesktop.org is building a base platform for desktop software on Linux and UNIX. [...]
freedesktop.org hosts any "on-topic" software projects. [...]
freedesktop.org is not a formal standards organization, though some see a need for one that covers some of the areas we are working on. [...]
Unlike a standards organization, freedesktop.org is a "collaboration zone" where ideas and code are tossed around, and de facto specifications are encouraged.

Bien sûr, cette page ne contient pas la vérité pure et absolue, mais elle permet d'avoir une idée de ce qu'est freedesktop.org. Ce qu'il faut retenir est que freedesktop.org est un regroupement de personnes travaillant sur différents projets liés (de près ou de loin) aux environnements de bureau et qui souhaitent collaborer et promouvoir l'interopérabilité afin d'améliorer à terme l'expérience utilisateur.

Pour des raisons d'ordre pratique, freedesktop.org offre un service d'hébergement, mais ce service n'est en rien une reconnaissance officielle des projets hébergés. Un tel hébergement signifie simplement que le projet est en rapport avec les buts de freedesktop.org (collaboration, interopérabilité, amélioration de l'expérience utilisateur). Une liste de projets hébergés sur les serveurs freedesktop.org, pas forcément à jour, est disponible. On peut notamment citer Xorg, GStreamer, D-Bus, cairo, HAL, poppler, mais il y en a encore d'autres.

En outre, un résultat de discussions entre les participants peut se trouver sous la forme d'une spécification. Une spécification n'est pas un standard, et il est tout à fait raisonnable de ne pas faire ce que recommende une spécification si l'on juge que cela n'est pas sensé (heureusement, généralement les spécifications sont sensées ;-)). Il est important de remarquer la page listant les spécifications est catégorisée, ce qui permet de voir quelles spécifications sont stables et bien acceptées, et lesquelles ne sont qu'en développement[1]. La majorité des discussions qui aboutissent à une spécification ou qui sont liées aux spécifications a lieu sur la liste de discussion xdg. Cette liste est en quelque sorte l'origine et le centre de freedesktop.org car c'est grâce à elle que les gros efforts de collaboration et d'interopérabilité ont commencé.

Petite apartée, pour ajouter un brin de confusion dans vos esprits : certaines spécifications freedesktop.org feront partie de LSB 3.2, qui elle est un standard. Donc ces spécifications seront, indirectement, des standards.

Reste une partie de la définition de freedesktop.org que je n'ai pas abordée : il s'agit de la plate-forme freedesktop.org. L'idée était de regrouper certaines bibliothèques essentielles au bon fonctionnement de la grande majorité des environnements de bureau et de les inclure dans une plate-forme freedesktop.org. Ainsi, on aurait pu dire GNOME 2.18 dépend de la plate-forme freedesktop.org 0.4 au lieu de dire GNOME 2.18 dépend de xlib 1.0, de xcursor 1.1, de fontconfig 2.4, de dbus 1.0, etc.. En gros, cela aurait simplifié quelque peu les choses d'un point de vue clarté des dépendances. Ce projet ne s'est, à ma connaissance, jamais totalement concrétisé. D'ailleurs, si une bonne âme est motivée, cela pourrait être intéressant de relancer ce projet.

Si vous avez lu jusqu'ici, vous devez désormais avoir une bonne idée de ce qu'est freedesktop.org. Revenons-en donc maintenant à l'origine de ce billet et appliquons ce que nous avons appris. Tracker est-il freedesktop-compliant ? Le seul sens que cela pourrait éventuellement avoir est que Tracker respecte les spécifications freedesktop.org (freedesktop.org specifications-compliant), plus particulièrement celles qui sont bien établies. Ceci est fortement probable, mais étant donnée la nature du projet, cela ne doit pas concerner un grand nombre de ces spécifications. En réalité, Tracker n'est pas un projet freedesktop-compliant, mais simplement un logiciel indépendant de l'environnement utilisé (et c'est ce que l'auteur du journal mentionne dans sa parenthèse).

Le prochaine fois que vous lirez quelqu'un mentionnant freedesktop.org comme argument, rappelez-vous ce qu'est freedesktop.org et demandez-vous si c'est bien fondé ou s'il s'agit d'un petit abus de langage !

Notes

[1] c'est un rien plus compliqué que cela car la page n'est pas forcément parfaitement à jour et donc tout n'est pas forcément bien catégorisé ;-)