How Dtrace could come to Linux
Already half a year ago Oracle put the license of the kernel module for the analysis tool Dtrace under the GPLv2. This is what Red Hat’s Linux developer Mark Wielaard writes in his blog . He is as surprised as much of the community, as this change has been made without much notice. The impact of the license change will not be foreseeable at the moment, but the move is probably too late.
With the acquisition of Sun, Oracle has not only received the technology for the operating system Solaris, but also derived from techniques such as the advanced file system ZFS or even the analysis tool Dtrace. These were previously under the CDDL and were therefore not compatible with the GPLv2, which is why Dtrace could not be incorporated directly into the main branch of the Linux kernel, which is under GPLv2. With the change of license this is at least theoretically possible.
Oracle has apparently already implemented this for its enterprise Linux distribution, so integrates Dtrace into the kernel used there and even maintains a repository of the kernel module with ports based on the current upstream version of Linux.
Dtrace integration not decided
Wielaard describes the approach of Oracle as “right” and also thanks for this step. The developer, who works on the systemtap analysis tool, also points out that a lot of work has to be done to ensure “proper integration” . In addition, there are many technical hurdles to overcome, but the collaboration could begin now.
In the community, however, there is by no means agreement on the procedure for the possible integration of Dtrace. Long-standing former Sun and Oracle employee Brendan Gregg, who now works at Netflix, points out , for example , that relicensing comes years too late. The Linux kernel with eBPF now has significantly more functions than Dtrace offers, and the potential switch to Dtrace is a step backwards.
The analysis specialist Gregg has already described this in detail in his blog in autumn 2016 . The now under GPL code of Dtrace is no longer necessary, however, the user space frontend already, writes Gregg. He assumes that by the end of 2018 there will be a working port of the Dtrace application for executing the so-called D-scripts. These will probably use already existing functions such as eBPF and the resulting compiler collection BCC as a backend.
Whether Gregg will prevail with this assessment or perhaps Dtrace is integrated without major adjustments in Linux, has yet to show.