Oracle Linux DTrace suscite un enthousiasme encore méfiant
Si le portage de DTrace vers Linux est louable, il reste encore des zones d’ombres quant aux intentions d’Oracle. Brendan Gregg, ingénieur chez Joyent, et ex employé de Sun, revient sur les enjeux autour de Linux DTrace.
Brendan Gregg, ingénieur, spécialisé dans la performance chez Joyent, un pionnier du Cloud d'infrastructure et du PaaS basé à San Francisco, est très enthousiaste à l’idée du portage de DTrace de Solaris sur Linux, comme Oracle l’a annoncé en décembre dernier. Mais comme avec pratiquement tout ce qui concerne Oracle et Linux, il pose encore quelques conditions à cet enthousiasme.
Brendan Gregg est connu pour être un expert de DTrace et un ancien employé de Sun et d’Oracle. Il affirme que Red Hat développe un outil identique de détection de bugs et de génération de traces, baptisé systemtap, également conçu pour résoudre les problèmes de performances. Mais celui-ci n’est pas encore prêt pour la production. Pourtant, alors que Linux Dtrace a tout pour intéresser les entreprises, il soutient qu’il existe quelque inconvénients à utiliser un outil Oracle.
« Honnêtement, je ne crois pas que quiconque ayant recours au cloud aujourd’hui soit enthousiaste à l’idée de devenir un client Oracle », indique-t-il. Les polémiques encore persistantes, suite au rachat de Sun, mises à part, il pointe surtout du doigt une clause dans les conditions d’utilisation qui autorise Oracle à conduire un audit sur le site d’un utilisateur. Sous le seul prétexte qu’il doit consulter son département juridique pour que l’utilisateur puisse adopter Oracle Linux.
DTrace est un framework dynamique de génération de traces qui permet aux administrateurs système d’étudier, de débugguer et d’ajuster les comportements du système. Son usage va bien au delà de l’analyse du noyau et fonctionne également avec les langages de programmation comme Java, Perl et Python. DTrace repose sur un mécanisme de sondes qui sont placées au coeur du système. Ces sondes correspondent à des points de contrôle et d’instrumentation au sein du noyau ou du langage. Initialement développé pour Solaris, DTrace était considéré par Gregg et d’autres développeurs Solaris comme l'un des joyaux de la couronne de Sun. En tant que spécialiste de DTrace sur Solaris, Gregg a également publié le DTrace Toolkit avec plus de 200 scripts qui sont actuellement hébergés par Oracle.
En portant DTrace sur Linux, Oracle a réalisé quelque chose que les membres de la communauté Linux ont essayé de faire pendant des années. Paul Fox, un développeur Linux, s’est impliqué dans le projet de façon indépendante depuis 2005. Mais cet enthousiasme pourrait ne pas durer.
DTrace Linux verrouillé chez Oracle
Aujourd’hui, l’ajout de DTrace est spécifique au noyau Oracle Unbreakable Enterprise et ne peut pas être facilement intégré au sein de noyaux d’autres distributions. Il est également possible qu’Oracle conserve une approche « fermée » vis-à-vis de DTrace, provoquant alors l’ire de la communauté Open Source. De plus, en associant DTrace à Linux, Oracle pourrait envoyer un signal marquant la fin des développements de Solaris - le coup de grâce à un OS bien aimé.
Gregg a les mêmes préoccupations, affirmant qu’il reste sceptique quant aux intentions d’Oracle. Selon lui, intégrer Linux DTrace au noyau pourrait donner un sérieux avantage concurrentiel à Oracle sur le marché des entreprises par rapport Red Hat. Il ne voit donc que peu d’intérêt à ce que le groupe de Larry Ellison l’ouvre à l’ensemble de la communauté Linux. Et en grande partie, ceux qui utilisent Oracle Linux sont de facto des clients entreprises d’Oracle.
Mais au-delà de la frilosité des membres de la communauté Open Source à autoriser les audits de leurs systèmes par Oracle, d’autres ont soulevé la question de l’implémentation de Linux DTrace. Une longue discussion sur LWN.net a pris forme après l’annonce, où de nombreuses personnes ont tiqué sur la façon d’utiliser DTrace et se demandant si le code d’Oracle ne viole pas la GPL.
Le problème réside dans le fait que DTrace dans le noyau Unbreakable Linux est encadré par une licence Common Development and Distribution Licence (CDDL) au lieu de la GPL. Ce qui signifie que l'on peut utiliser, mais pas modifier, le noyau et le code de Linux Dtrace ainsi que des traces insérées. Le recours à la CDDL n’est pas surprenant car OpenSolaris a été développé sous cette même licence, préférée alors alors à la GPL - ce qui avait chagriné la Free Software Foundation (NDLR : Apple, qui n'a pas de telle réserves, a embarqué la technologie DTrace dans MacOS X et que la technologie est notamment mise en oeuvre dans les outils de de développement de la firme à la pomme pour le débogage et l'analyse de performance de code). La CDDL est considérée comme n’étant pas compatible avec la GPL. Son association à un produit sous noyau Linux a en effet de quoi faire tiquer ( d'ailleurs le système de fichiers ZFS n'est officiellement pas porté sous Linux pour cette raison, Sun ayant torpillé la bascule du code source de ZFS de la licence CDDL vers la GPL avant son rachat par Oracle, NDLR).
Traduit de l'anglais par la rédaction