URL: https://linuxfr.org/users/patrick_g/journaux/dtrace-est-passe-en-licence-gpl Title: DTrace est passé en licence GPL Authors: patrick_g Date: 2018年02月15日T10:49:16+01:00 License: CC By-SA Tags: développement, dtrace, tracing, debugging et solaris Score: 35 [Dtrace](https://en.wikipedia.org/wiki/DTrace) est un outil de tracing intégré dans le système d'exploitation Solaris. Pendant longtemps il a été présenté comme étant en avance par rapport aux outils disponibles sous Linux et c'était, avec ZFS, un des arguments des promoteurs de Solaris. Oracle, l'entreprise qui possède Solaris, a décidé de porter DTrace sous Linux et a donc changé la licence de cet outil. [On passe ainsi de la CDDL à la GPLv2](https://oss.oracle.com/git/gitweb.cgi?p=linux-uek.git;a=commitdiff;h=e1744f50ee9bc1978d41db7cc93bcf30687853e6). Ce changement est intervenu au milieu de l'année 2017 mais c'est seulement maintenant que la nouvelle s'est répandue par l'intermédiaire [d'un post de Mark Wielaard](https://gnu.wildebeest.org/blog/mjw/2018/02/14/dtrace-for-linux-oracle-does-the-right-thing/). Attention : ce changement de licence ne signifie PAS que DTrace va être automatiquement intégré dans le noyau Linux. Il faut encore que les mainteneurs de la partie Tracing (et Linus) acceptent ce nouvel outil. Selon Brendan Gregg, un ancien développeur DTrace qui travaille maintenant chez Netflix sur l'optimisation des performances du noyau Linux, l'avance technique que pouvait avoir DTrace n'est plus d'actualité. [J'avais déjà parlé](https://linuxfr.org/users/patrick_g/journaux/migration-de-solaris-vers-gnu-linux) de l'article très détaillé posté par Brendan et qui expliquait comment migrer de Solaris vers Linux. Dans cet article il était écrit que l'intégration de [eBPF](http://man7.org/linux/man-pages/man2/bpf.2.html) avait comblé un manque dans le noyau et que cet outil permettait d'offrir [des fonctionnalités équivalentes à DTrace](http://www.brendangregg.com/ebpf.html). C'est pour cette raison que l'annonce du passage de Dtrace en GPLv2 n'a pas soulevé son enthousiasme. Sur Hacker News il commente :> _Unfortunately for DTrace, this is too late. Oracle should have done this years ago. Now Linux has a more powerful tracer builtin, eBPF, and it would be a backwards step to switch the kernel code to DTrace (assuming the DTrace port is completed, which it is not). I'm sure this will not be lost on the maintainers, who have the ultimate say as to what is included in Linux mainline._> _The only hope for DTrace is to have the frontend emit BPF bytecode. The bulk of this GPL DTrace code is no longer needed, only the user-level front end._ Son pronostic est donc que Dtrace ne sera pas intégré dans le noyau mais que les outils en espace utilisateur (comme dtrace-utils) sont de bonne qualité et pourront être utilisés pour générer du code à destination d'eBPF.> _eBPF lacks a high level front end, in part because that's optional. Engineering effort has gone into the essentials first: kernel development of eBPF, basic user-level frameworks to use it (bcc), and lots and lots of testing and bug fixes to make that rock solid. bcc is not as easy to code in, but I've been able to port over many of my DTraceToolkit scripts already._> _We're only more recently looking at higher level languages (...) We can look at taking the /usr/sbin/dtrace code (licenses permitting), and calling into libbcc and emitting BPF bytecode. That'd give us a D language front-end to BPF._