[As ever, this is also on the BBC News website]
In the far off past when I was a professional programmer writing software for money I relied on a variety of tools to fix the inevitable errors in my work. These tools would look at my thousands of lines of code and check that I had all my brackets and semi-colons in the right place and that I hadn’t mis-spelled the names of variables or functions.
I also relied on more serious debugging software, programs like ‘dbx’ that could investigate the inner workings of other programs, monitoring them as they ran and giving me complete access to the instructions I was executing and the data structures they were manipulating.
Tracing running programs in this way is hard and detailed work, but it is often the only way to spot subtle errors, and a lot of work has gone into improving such tools in the years since I was working on sixteen-user UNIX systems with a generous 512Mb of RAM.
One of the best tracing programs around is DTrace, developed by Sun Microsystems for use on their Solaris operating system. DTrace is available under an open source license, and when Apple announced that it would be available on Leopard, the new version of Mac OS X, every serious Mac OS programmer looked forward to having a new, powerful tool to work with.
Unfortunately early experiments with the Apple version of DTrace identified some unusual behaviour. Adam Leventhal, one of its original developers, found that he could not see any information about iTunes, apparently because Apple had modified his tool to ignore some of its own programs.
Leventhal is rather annoyed about this, because the point of a trace program is that it can see everything in order to help developers find and fix errors.
Apple has not made any comment on his findings, but the general consensus is that iTunes is being shielded to protect details about how it implements FairPlay, the digital rights management system that Apple use to limit the uses of music and video files downloaded from their online store. And Apple is probably doing this because it has been told to by the ‘content industries’, the companies that package and sell the products of other people’s creativity.
This would not be too surprising, and Apple is certainly no worse than other companies in limiting what users and developers can see and do. Microsoft makes it almost impossible to get inside their Xbox360 games console, resulting in the absurdity of having to get a special cable if you want to transfer your information to a new console when you upgrade, and certainly doesn’t open it up to developers.
Modifying Dtrace is also perfectly legitimate, if irritating. Apple is perfectly entitled to change software in any way it wants within the law, even if it does reveal yet again just how much power the record companies have over the computing industry.
The inner workings of a complex debugging tool may seem like the sort of issue that only affects programmers, but it has a direct impact on every Mac user since it makes it harder to find and fix problems in software, especially software written by independent developers.
Like many Mac users, I rely on a range of free and open source tools like the Acorn image editor or the twhirl twitter client, so I have a direct interest in ensuring that the programmers behind them have proper access to the internals of the operating system.
And it also shows the sort of issues that can arise when any part of a complex computing environment is restricted in order to satisfy requirements that have nothing to do with effective operation and are solely motivated by a desire to limit what users can do.
It’s the same with Microsoft Vista, where vast efforts have been made to ensure that ‘protected content’ like high-definition video doesn’t leak out of the controlled environment. This has an effect on system performance and on hardware compatibility that can seriously affect the user experience.
The restrictions are not really a serious problem. Landon Fuller has already posted details of a workaround, although there is no sign yet of Apple themselves responding to Leventhal’s point that ‘Apple has done a service by porting DTrace, but let’s convince them to go one step further and port it properly.’
And digital rights management is not, in itself, an objectionable technology. Encrypting email so that they can only be read by the intended recipient is a way of managing the readership of a document, and a vital one for anyone wanting to use the public internet for private communications.
It is also useful in helping groups of people keep control and ownership of material that is important to them for non-commercial reasons. For example an Australian Warumungu community has created a digital archive that uses DRM to enforce rules that they consider vitally important when dealing with photographs, because only elders can look at sacred objects, while images of dead people should not be viewed and other objects may be restricted by family or gender.
The Mukurtu Wumpurrarni-kari archive uses DRM to help the community manage these rules, although it also allows individuals to decide to vary or even break them, recognising that the technology should be at the service of its users and not the other way around.
It is a lesson that the record industry seems slowly to be learning, as more and more online services offer unlocked MP3s to download. Perhaps Apple will eventually free DTrace from its restrictions, just as Steve Jobs has worked to get rid of DRM on music.