DUI lawyer Lawrence Taylor has been writing for a while about the resistance by breathalyzer manufacturers to various legal attempts by defense lawyers to get a peek at the source code for software that controls the machines. As a civil libertarian and software developer, I have mixed feelings about this.
I can certainly understand why the defense would want to know more about the software that is saying their client is guilty. On the other hand, I also understand why the company doesn’t want to give up the source code. It’s valuable stuff.
Lawrence Taylor has been fighting some of the crazier aspects of our DUI laws for years, but I think he hits far off the mark in some of his commentary on this issue:
I’ve also written ad nauseum about the myriad problems that render these machines inaccurate and unreliable. Among other things, for example, their operation and computation of blood alcohol levels is controlled by an old Z-80 microprocessor — an historical antique that used to drive the original Pong computer game.
The implication here, that the old processor makes the breathalyzer unreliable, is just plain wrong. There could be a lot of things wrong with the breathalyzer equipment, but that’s almost certainly not one of them.
The Zilog Z80 is a well-understood processor with a 30-year operational history. It has been used in hundreds or thousands of embedded applications, from hard drive controllers to financial point-of-sale devices to electronic musical instruments. All its bugs, quirks, and glitches have already been discovered. I’ll bet it’s been 20 years since anyone found out anything new about it.
When it comes to microprocessor designs, old means reliable. Old processors like the Z80 are the mainstay of critical systems. Their reliability has been proven by years of use in the real world. Processors of similar vintage are used to control medical instruments and spacecraft, including the Space Shuttle.
(I looked for examples of Z80 processors in life-critical applications, but haven’t found any. They’ve been used in outer space, but I didn’t find any examples where human life depended on it.)
Commenting on a manufacturer’s refusal to divulge the source code that runs their breathalyzer, Taylor says:
Kind of makes you wonder what the manufacturer is trying to hide, doesn’t it? Maybe the secret software code for computing blood alcohol levels isn’t all that it’s claimed to be?
Or maybe they’ve spent a few million dollars developing the source code and they regard don’t want to give it all away to settle a legal matter they’re not a party to.
Consider another scenario: Suppose there was a criminal case that relied on a digital photo that had been enhanced in Photoshop to reveal someone’s face. If the accuracy of the enhancement became an issue, should a judge really be able to order Adobe to give him hundreds millions of dollars worth of source code so the defense could examine it?
On the other hand, a company that makes breathalyzers seems much more involved in the resulting DUI case than Adobe is in my hypothetical example, so maybe they shouldn’t have the same protection I think Adobe deserves. I’m just not sure how to draw a principled distinction.
(Hat tip: Mike at Crime & Federalism.)
Leave a Reply