Brendan Gregg is excited that Oracle Linux DTrace has been ported over from DTrace Solaris, a move Oracle announced in December. But as with practically anything regarding Oracle and Linux, there are stipulations to the excitement.
I honestly don't know a lot of people using the cloud who are excited to become Oracle customers.
lead engineer, Joyent
Gregg, the lead performance engineer at Joyent Inc., is a well-known DTrace expert and a former Sun and Oracle employee. He said that Red Hat's similar bug tracing tool, called systemtap, is designed to solve the same performance bottlenecks but just isn't production ready. So, while the opportunity for enterprise customers using Linux DTrace is great, Gregg said there are some drawbacks to using Oracle.
"I honestly don't know a lot of people using the cloud who are excited to become Oracle customers," said Gregg. Aside from the remaining dissatisfaction over the outcome of the Sun buyout, he pointed to the clause in Oracle's user terms and conditions that allows for Oracle to conduct an audit at a user's site, saying that in order for the user to adopt Oracle Linux, he'd have to consult with his legal department.
DTrace is a dynamic tracing framework that allows systems admins to observe, debug and tune system behavior. Its benefits extend beyond the kernel into other programming languages as well, including Java, Perl and Python. DTrace works by placing probes on the fly throughout a system. These probes are points of instrumentation in the kernel or language, and when a program execution passes this point, the probe that enabled it "fires." Originally developed for Solaris, DTrace was considered by Gregg and other Solaris developers to be a jewel in the crown of Sun. An authority on DTrace Solaris, Gregg released the DTraceToolkit with over 200 scripts that is currently hosted by Oracle.
By porting DTrace to Linux, Oracle is doing something that members of the Linux community have been trying to do for years. One Linux developer, Paul Fox, has even been independently embarking on the project since 2005.
But the excitement may not last.
Linux DTrace locked into Oracle
At this point, the addition of DTrace is specific to the Oracle Unbreakable Enterprise kernel and can't easily be integrated into kernels in other distributions. And Oracle may keep DTrace closed source, to the ire of many in the open source community. Additionally, by adding DTrace to Linux, Oracle may be signaling the end of Solaris development -- the final nail in the coffin of a beloved operating system.
Gregg echoed those concerns, saying he's skeptical of what Oracle will do next. He thinks that having Linux DTrace in the kernel could be a major competitive advantage in the enterprise space for Oracle over Red Hat, so he sees little incentive for the company to open it up to the larger Linux community. And, as it is, by and large those using Oracle Linux are already Oracle enterprise customers.
Beyond the hesitancy of members in the open source community to allow Oracle to audit their systems, other open source community members have taken issue with how Linux DTrace has been implemented. A long discussion on LWN.net occurred after the announcement, in which many commenters raised their eyebrows over how DTrace was being used and if Oracle's code around it is violating GPL.
The concern stems from the fact that DTrace in the Unbreakable Enterprise Kernel is under the Common Development and Distribution License rather than GPL, which means you can use but not modify the kernel and code around the inclusion of Linux DTrace and the inserted trace points. The use of CDDL is not surprising, as OpenSolaris was developed under it rather than the GPL, much to the chagrin of the Free Software Foundation. The CDDL is not considered to be compatible with the GPL, so its use in combination with a Linux Kernel product (which is part of the GPL) raises eyebrows.