Via Joerg came this link to Adam Leventhal, regarding Sun’s Open-Sourced “DTrace” software, and Linux, and what happens when some in the Linux community runs headlong into some desirable technology which is not apparently “ritually clean” enough for them to adopt:
Last week at OSCON someone set up a whiteboard with the heading “Tools We Wish We Had”. People added entries (wiki-style); this one in particular caught my eye:
dtrace for Linux
or something similar
(LIKE SYSTEMTAP? – jdub)
(NO, LIKE dtrace – VLAD)
(like systemtap, but not crap)
So what exactly were they asking for? [...] Most simply (and least humbly) DTrace lets you express a question about nearly any aspect of the system and get the answer in a simple and concise form. And — this is important — you can do it safely on machines running in production as well as in development. [...]
So is SystemTap like DTrace?
…and the posting continues, outlining the history of SystemTap and the stated “knockoff” qualities of it with respect to the cleanliness and elegance of DTrace.
What I find fascinating is the comments to the posting; to give him his due Matthew Garrett – a respected Linux guy – is toeing the party line on how the GPL works and from that the painfulness of adding DTrace to Linux, and therefore couldn’t Sun just relicense DTrace (or perhaps OpenSolaris) under the GPL and have done with it all?
The majority of core Linux contributors believe (based on legal advice) that it’s impossible to produce a loadable Linux kernel module without it being a derivative of the kernel code to some extent, and therefore having to fall under the GPL due to the GPL’s restrictions on derivative works. It’s not a situation that’s ever been tested in court, and clearly not everyone agrees – however, it’s plausible enough that there’s basically no chance of code being added to the core kernel for no purpose other than facilitating a set of non-GPLed kernel modules.
Really, the only way that you could guarantee a port of dtrace to Linux would be for it to be relicensed under a GPLv2 compatible license as well as the CDDL. Otherwise it’s likely to have to be a reimplementation.
Posted by Matthew Garrett on August 02, 2007 at 05:34 PM PDT #
…and he further does agree:
You’re right, though. The CDDL itself doesn’t make it impossible to port DTrace to Linux – the union of the GPL and the CDDL make it a problem.
Given that Linux has been under the GPLv2 for longer than DTrace has existed, though, it shouldn’t come as a surprise to anyone that the Linux community don’t feel able to take advantage of the code Sun have supplied.
…which argument <dig class=humour>also perhaps helps explain the dreadful state of Linux NFS.</dig>
Of course I am biased – or perhaps I just have an opinion? – but my opinion was not formed by my working for Sun.
In a series of staccato e-mails, Richard wanted to know who were the authors of my “fcrypt” implementation, whether it was free, and whether he could ask us to do the FSF thing – the GNU copyleft notice, etc… He was most polite about the whole thing – at worst I would say a little abrupt, which is a common trait amongst programmers – yet the entire exchange left me feeling a little, I dunno, “collectivist”? Like I was being urged to join a church?
The result was that I was put-off GNU to the point of adopting the Artistic License instead, and was very happy with the results; but today I still hear the same echoes, that the GPL is the true book and anything which does not mesh with it is of itself in error…
I still don’t agree.
I’m also amused by the presumption that “if Sun want DTrace in Linux…” – of course I do not speak for the company as a strategic thinker on matters of open-source, but it strikes me that there’s a pretty obvious gap between Sun corporately wanting something, versus being perfectly happy for it to occur.
Not seeing the difference is presumably a consequence of believing that you are on the one true path.