It was all hookers and balloons at Sun Microsystems when the company first found out that Apple would pick up its well-regarded DTrace analysis tool for use with Mac OS X. Now, however, one of the lead DTrace developers has expressed some regrets after Apple "broke" his software in an apparent bid to protect big media and ISVs. …
Isn't it copylefted?
I don't understand. I did a little bit of looking, at it looks like DTrace is copyleft protected, and thus the source code with Apple's modifications is all available. If someone wants an un-crippled DTrace on Macintosh, why don't they just take the source code of Apple's DTrace and remove the crippling elements and then recompile? This is exactly the kind of freedom that copyleft is supposed to preserve?
Or am I missing something?
Not just broken for tracing iTunes
The part that seems to have the fellow from Sun riled up is that if you're running an app that's protected from their version of DTrace, you could get broken information for anything that you're doing -- not just if you're attempting to trace the protected app.
And, Bob, you'd have to know that the app was broken before you recompiled the "original" version. At the mercy of only what Apples tells us, no one would have known.
isn't that the point of open source?
that someone can take your baby, improve/mutilate it, and you can do sweet fa about it, as long as they make it open to improvements/counter mutilations?
Sounds like someone needs to get a job at MS.
Oh fuck off you timewaster! Of course, Apple's changes are open source, which is why they are quoted in the article. Not that "copyleft" has got much to do with it and "freedom" even less so. It's a low level tool that doesn't work properly if components can be excluded.
Er, no. It's not "his baby".
That's kind of the whole _point_ of the GPL. Or such was the impression I was given. (I'm a bit rusty on which particular prophet the GNU / FOSS folks are worshiping these days. Never was big on religion.)
If DTrace were a closed, copyrighted work, Apple would have no right to go farting about with it to begin with. But it isn't. It's Free Open Source Software. With the capital letters. And Apple aren't hiding the source code, so they're entirely in keeping with the GPL.
You don't get to have it both ways: either it's open to *anyone* to mess with as they choose (as long as they stick to the GPL's requirements), or it isn't. Which is it? I'm confused.
The difference between Sun and Apple...
According to Bryan Cantrill, one of the DTrace developers, at least two ISVs approached Sun about disabling DTrace-ing of their products (he doesn't say so outright, but implies Oracle is one). Sun flat refused to do so.
"Oh fuck off you timewaster!"...
Seriously, that comment is out of order.
(unless your wife ran off with another woman, that would definitely constitute a bad karma day, flame or no flame.)
The DTrace code is under the CDDL (an MPL variant). While it requires Apple to release their changes to any CDDL-licensed files, it does not require that the entire app be released or that they provide a way to relink it with updated versions of the CDDL files.
So there is no guarantee in the license that you could recompile and continue with a fixed DTrace. Of course, this doesn't mean that it isn't possible: just that the license doesn't require it.
Doesn't this just mean that people will now stop using the bundled version of Dtrace? I haven't looked yet but I will not be at all surprised if there are half a dozen ports of the full original code online. Surely anyone who actually wants a proper DTrace now will just use one of them.
Sure it adds a few more minutes of hassle, but somewhat less than the hassle of not getting the trace you want or the hassle of recompiling Apple's version sans changes.
Hmmm, so this is what happens when commercial entities use open source BSD to underpin their basic software packages and create a right royal B****rd progeny full of more closed source bugs the the open variety it is based on !
But as always Apple prefers put their fingers up any customers nose knowing full well to their fans they can do no wrong not ever !
Now what would Paris say about that again ?
Looks like one people commenting on the blog article tried recompiling DTrace:
It does seem that Apple has used their rights under the CDDL to link some proprietary code into the DTrace library making it difficult to produce a replacement library.
Sure it's "his baby" if he did most of the work on it. He never claimed a license violation, Apple is within their rights. That doesn't mean he has to be happy about Apple taking his good work, and compromising and crippling in order to appease the pigopolists. This is classic Apple though, and why I've never considered an Apple product -- after years of using fully open systems, it's clear that Apple pays lip service to open source as much as the licenses require, but are not really interested in open systems.
where's the meat ?
Dtrace on a desktop operating system is pretty much a 'who cares' deal. Serious performance analysis on an enterprise server is where it counts.
The difference between Sun and Apple...
... is that one of those two companies has a significant business involving the leasing (sorry, sale) of copyrighted works.
Do you really think that the distributors of said works would be happy if a tool was able, either deliberately or in error, to give direct access to unencrypted versions of said work?
Apple may be bending over a little to eagerly but you do have a choice, you don't have to use their OS...
binary patching anyone?
Is there any sort of code signing protecting the kernel? How about a /dev/mem or /dev/kmem? If there's a kernel symbol table lying around (dynamically loading drivers often require this) all we need to do is identify where that one little 'if' statement is (use the symbol table for some idea of what memory range to look in rather than trying to brute force all of memory), and make the mask it uses for testing a 0 and voila, test never sees any processes marked with the offending flag. If you can't reach in from userland maybe a special device driver or kernel module is required. People have been fixing these sorts of things in most OSes for a long time.
Having the source just makes it a little easier to find the code you need to 'update'.
@Chad (and others)
Yes, the point of Open Source is, among other things, that Apple can do what they did, but the point of Free Speech is that Adam can protest against it, and any other thing that he think is wrong. People too often forget that the same principles of freedom that give anyone the right to think or do what they want, within the agreed upon laws, gives others the right to oppose and protest against anything they want. I think most would agree that Apple's behaviour in this case is less than valiant and Adam is therefore not only right to voice against it, but also, in my opinion, obliged to do so.
Unseriously, that comment was funny. And if my wife ran off with another woman I'd be over the moon. What do you mean 'they wouldn't let me watch'?
What do people expect Apple should do in this case? Release a tool which essentially leaves them open to law suits, essentially a tool which could be considered a 'hacking' tool, and so would probably result in the ban of sales of Leopard from Germany due to it (ie KisMAC).
And as others said, if someone wants to get a version which allows them to circumvent copyright, they have the ability to do so, as it is open source and may already have non-altered versions out there on the net..
Apple did the right thing, and I would have no doubts Microsoft would've done the same in this situation, the author is just being a whingy little twat.
something odd - slightly OT
I can't figure out Apple these days in relation to it's DRM policies. They appear to be opposed to DRM on the surface of things. That nice open letter from Steve last year about how he hates DRM and it's the labels fault. Followed by the DRM free tracks on iTunes from only one publisher - with the shame firmly placed on the other three for not playing ball. They prevailing wisdom is that they are all annoyed with Steve for not allowing a variable pricing strategy on iTunes. But all this makes no sense in the context of what is happening
- the major labels all selling DRM free at low price through Amazon, yet no significant development in DRM free music at iTunes
- the recent hashing of the iTunes database
- Apple continuing to protect it's "Fair" play secrets... to the point of mangling this software in case somebody uses it to uncover its DRM (WTF??? there has to be something I am mis-understanding here)
Perhaps it was ok to lobby for a DRM free world until it came time to sell/rent Pixar downloads ;)
Just want to point out that Ashlee's sources for this article are a blog and an unqualified comment on that blog. It's an interesting story, but surely it's not one that's so urgent it couldn't have benefited from a bit more digging? I only point this out because AV is normally a bit better than this.
It would be nice if Apple could raise an error if this particular condition arose, so you can be sure that dtrace is working properly. Otherwise, I don't think this is all that big a deal anway. If you're trying to trace your own app, don't have iTunes (or whatever) running. The only way this should affect you is if you are writing an iTunes plugin. And exactly how likely is it that an iTunes plugin developer needs dtrace? Right.
Confusing Steve Jobs with Richard Stallman
I can't see what grounds they have for bitching.
It's basically a licence issue. If you release your stuff under a BSD-like licence you are effectively saying "go ahead and do what you like with it".
You can hardly then complain when someone else does something you don't like, because your licence allowed them to.
And you can't dig up the old "spirit of the licence" bullshit. The wording of the licence *is* the spirit of the licence.
Don't throw a tantrum, hurl a crapper
"The Sun software engineer lobbed a bog ,"...
A good trick if you can do it, especially if it's still plumbed in.
The overalls, ta.(Editor's note - copy now updated to read 'blog'. Sub-editors? We've heard of them...)
@ Bill Coleman
I suspect Apple's continued use of DRM (in general) is more a result of the realities of getting the labels to play ball, initially atleast. Idealism is great, but if it stops you doing business all together, you wont last long. The movies thing they have going now Jobs tried to get going with movie sales last year, using unDRM protected files, but the movie studios despite long periods of attempted (and failed) negotiations clearly wouldn't buy into it unless he was willing to meet their demands, so he met them halfway with their rental system.
The fact there are now non-DRM versions of music finally made available I would hope Apple does catch up on though with their iTunes store.
See no evil, hear no evil
>> ... they're contractually obliged to do all they possibly can to prevent direct access >> to the decoded images (eg. via a debugger).
>> ... they're contractually obliged to prevent access to the decoded audio.
So Apples don't have video and audio outputs these days?
RE See no evil, hear no evil
There is a huge difference between having access to the analogue audio output, and having access to the decoded bitstream for (say) all the DRM-controlled stuff you've rented. Without restrictions, DTrace could pretty easily give you access to the latter, which might be a reasonably serious problem for Apple.
On the other hand, you can get access to a bitstream reasonably easily anyway since most macs have digital audio output. I suspect that has some copy-protection bit set though, so to work around that you'd need to buy not only hardware, but hardware which strips the copy protection from the stream (you can get this, of course).
So it might be that Apple's view is that while they can't really stop someone who cares getting hold of the stream, they are not going to provide a tool which lets you do it with almost no effort at all. That seems to me not unreasonable.
Challange to all MAC users
Who will be the first MAC user to recompile DTrace without all of the apple bollocks?
Who will be the first to circumvent itunes or dvd software?
Ready, steady, GO.......
What's the big deal?
Ok, so Apple tried to do the right thing in their port so they wouldn't get sued by the media companies. They are entitled to do what they did.
Adam Leventhal doesn't like Apple's code and complains as he is entitled to do.
So what! People are free to use their version of Dtrace (whatever the heck it does!?) or write their own! Why doesn't Adam write a version for Mac and show us the difference? People can then choose it (if they want/care) the same way people can use Firefox instead of IE.
Nothing to see here
"I can't see what grounds they have for bitching."
It's easy - he wrote a brilliant app, helped and encouraged Apple to port it, and without his knowledge they turned his app into a turd. It's a bit like the way Mac users keep whining about how windows "stole mac ideas" and how it "isn't as good" as their grotesquely overpriced bsd boxes. Of course they have no grounds to bitch, but it doesn't stop them does it?
True to form
Given that Apple make hundreds of millions of dollars from the back of free software (i.e. FreeBSD) it sounds about true to form. Why write your own software when you can get some chump to write it for you? Exploiting the work of others for profit is a masterstroke and Steve Jobs is a capitalist genius.
@Andrew - They turned his app into a turd...
... just like he said they could in his licence.
The rest of your post seemed to be some non-original whining about other people whining, so I lost interest. Sorry.
Majorly annoying for performance analysis
As I see it, one of the program's functions is to measure performance statistics, so you can see what is taking up all those resources. So what our fruity friends have done is to make certain processes not report their performance stats to dtrace.
This, makes the fruity version of dtrace worse than worthless for performance analysis, because one of the performance pigs may well be one of those DRM-encrusted monstrosities, and you get no figures on them. Not only that, but the percentages for the rest of the processes will also be wrong.
I'm sure that the cigar-smoking fat bastards don't want us to know how many of our CPU ticks they are stealing, but dammit! This is *my* computer and I want to know how my money is being spent.
Now if Apple had informed their user base that on the behest of the MAFIAA, they had fscked up the performance statistics, then we could simply have acknowledged that, thrown away the Mac and bought a real computer. But they didn't, and we had to find out when the author found that his numbers weren't adding up.
So saying that they didn't break any license is a bit like saying that some yob at least didn't break your windows when he kicked in your door.
Still, we know enough now never to trust any performance statistics coming out of Apple computers.
@Mostor - Completely missing the point
"So saying that they didn't break any license is a bit like saying that some yob at least didn't break your windows when he kicked in your door."
At risk of straining the already-flaky analogy beyond breaking point, *my* point was that the yob didn't have to kick anyone's door in, because Sun left it wide open and hung a big neon sign outside saying "please come and take my stuff".
You and Andrew are too busy foaming at the mouth with anti-Apple rhetoric to make a point that hasn't been trotted out a million times on the Reg or elsewhere. Apple are just doing what comes naturally - making money. As another poster said, there really is nothing to see here.
I seriously doubt whether DTrace is as crippled on Apple computers as you say it is, or else it would be useless even for them, but I don't care because I don't have to use it - and unless you have been kidnapped by gun-toting Apple jihadists, neither do you.
Broken is broken
I gave up on both Apple and MS when it became clear to me that their money-making strategies precluded providing me with reasonable performance on reasonably-priced hardware. Yes, they're "just making money," but not from me. YMMV.
"I can't figure out Apple these days in relation to it's DRM policies. They appear to be opposed to DRM on the surface of things. That nice open letter from Steve last year about how he hates DRM and it's the labels fault...."
Mr. Jobs thought that Apple could increase revenue with an anti-DRM stance but most of the suppliers thought differently.
Appe don't have much of a business beyond content provision and their hardware more and more reflects that. A modern Mac is just a jukebox; if you want a computer look elsewhere.
Anyway, as such, Jobs is only interested in sucking up to the wholesellers of that content and the end user can take it up the jacksie like a good little poor person. Come back when you've got a few billion in the bank and Steve will listen to your complaints.
DMCA anti-circumvention legisaltion
The fact that you have to modify the application will ensure it falls under the anti-circumvention provision of the DMCA (in the US) if it's used to bypass DRM, whereas using an unmodified application supplied with the machine would have been less clear cut.
It covers Apple's backside legally and leaves your's open.
As some-one quite rightly hinted, it's your fault for buying a mac. They serve no functional purpose. Their only reason for existance is to be Job's personal cash cow. Stop arguing. End of.
p.s. This is server sofware. And which retard would run a server on OS X?
Apple is just as bad as Microsoft
No difference, really...
Nothing to see here, as with anything done with software, this has been easily fixed already:
tinyurl giving headaches,
Apple have no business calling their crippled, stunted version of this tool DTrace. DTrace is a fantastic tool whose whole point of being is to identify application and system bottlenecks, usually in production (not staging) environments. If it is prevented from looking at particular applications then its output become pretty pointless.
It's also counter-productive because it cannot be used to reliably increase performance for the forbidden applications. So there we go. Proof, as if it was needed, that Apple puts form above functionality at all costs. As El Reg once pointed out, if Apple desgined a lovely looking iChair with a spike coming out of the seat, people would be queuing to sit on it. Anyone have a link to that pic, I can't find it?
Hopefully someone will get an unmolested DTrace out for the Mac so it can properly benefit from it.
@Majorly annoying for performance analysis
Speaking of performance, iTunes is a bloated piece resource hungry turd that makes sure the hard disk of my 512MB Windows 2000 machine swap like mad when I launch it, particularly if I try to watch a downloaded MOV file in it...
Hmmm... perhaps that's another reason apple doesn't want people DTracing iTunes and Quicktime ;)
"At risk of straining the already-flaky analogy beyond breaking point, *my* point was that the yob didn't have to kick anyone's door in, because Sun left it wide open and hung a big neon sign outside saying 'please come and take my stuff'."
And a lovely point it was, Graham. But perhaps you have misunderstood what Mr. Leventhal was saying.
The problem is not that MacDevelopers took Mr. Leventhal's code, modified it and included it in their offerings. This, they are completely within their rights to do. It's the whole point of Open Source. Mr. Leventhal was perfectly happy for this to happen: "Hookers and balloons" was the phrase I believe.
The problem is that Apple deliberately makes Dtrace produce the wrong figures, without telling the public that some processes are not to be looked at. Now if you are using a performance tool just to see whether your box is CPU or I/O bound, then I suppose it doesn't matter much. But Dtrace is a more refined and complicated tool than that - meant for people who need detailed figures on what their machine is doing, so they can tune it. MacDtrace does not give you the correct figures, so you can't use it for its intended purpose. Mr. Leventhal was justifiably upset about this.
So what's going to happen now is that someone is going to produce a version of Dtrace that does look at all the processes as it should, whereupon Apple modifies its proprietary code to prevent this and then nobody will have accurate performance stats anymore. A pointless battle, lost by all participants.
@Mostor - you could well be right
Your predictions of the future - where there's an escalating arms race of hacking DTrace to make it work how it was intended, followed by Apple hacks against those hacks - might right. I guess we'll find out soon enough and I'm looking forward to that.
My problem is that the inevitable I-hate-Apple rants obscure the real issue, which is more about the compromise between FOSS and big business. Apple is in a unique situation, with its hybrid open-source guts and proprietary GUI. They chose to hobble DTrace, which is obviously controversial, but it seems to me the only alternative they had was not to port it at all. As I am not a DTrace user, I can't say which is better - crippled or nothing.
OK, Leventhal's upset but so what? People have taken code that I wrote and mangled it up in all sorts of ways - sometimes they improved it, sometimes they did things with it that I didn't like. But I got paid for it, so that was their right to do so.
What a lot invective caused by a very small technical detail! It's well known that Apple have disabled gdb on their DVD Player app for a long, long time. Disabling dtrace on iTunes isn't really any different.
I seriously doubt this counts as "crippling" dtrace. How many developers here actually use dtrace on the Mac and have suffered any inconvenience as a result? Would their life be any easier if Apple had simply decided NOT to include tools like dtrace at all? Would as many people have heard of dtrace or be reading Leventhal's blog? Or is this all just a convenient excuse for Mac-bashers to criticise a company they don't particularly like.
It's not clear why Apple evokes such strong feelings but is it really any different from any other company? It's there to make money, like every other business on the planet. It's no more open and ethical than other companies, and no less so. Sure, a lot of people don't like its "holier than thou" arrogance, but plenty of companies have a mission statement that says they strive to be the best at one thing or another. The main difference I see with Apple is that they actually seem to take that objective reasonably seriously in what they do rather than just talking about it.
@Apple is just as bad as Microsoft
No they're not, they're far worse.
At least MS don't pretend to be open-source. And they look after their developers.
Apple? Open Source? You're having a giraffe!