Florida Court Orders Disclosure of Breathalyzer Source Code:
Declan McCullagh (news.com) reports on this decision by a three-trial-judge panel in Florida. Note that the decision relies heavily on Florida statutes -- it's not clear whether courts in other states would take the same view, though one can certainly argue for the same result using a more general right-to-discovery-of-relevant-evidence argument that isn't limited to Florida law.
There is an interesting parallel in the adoption of Microsoft Windows overseas- many governments prefer to use open-source software, as it can be examined for back doors. Microsoft has had an "NSA_KEY" embedded in it's crypto systems for years (and a track record of borderline illegal behavior). In all likelihood, this key doesn't do anything in particular- but if you are the Chinese or Venezuelan government, which would you choose?
When important stuff is on the line, most engineers will prefer to use open source tools for these reasons- you can tell what the system will do. Open Source software and algorithms have come to completely dominate the cryptography field- security through obscurity is just too risky.
I am not surprised at the prosecution's position here, but am totally unsympathetic. As Declan points out from the decision:
I also am totally unsympathetic with the manufacturer of the machines. Transparency is the cost of being in this type of business.
Despite its dependence on Florida law, the decision makes enough logical sense that I would expect that it will be persuasive precedent in other jurisdictions. After all, they all face the same problems - whether courts should be able to depend on machines with unknown workings.
I have heard from a number of local attornies that beating a DUI or a speeding ticket is harder than beating a murder charge and at least as expensive.
It certainly is an interesting decision but now I wonder did this open pandora's box?
If the source code was written in 'C' a high level computer language, then a compiler must be used to turn the code into assembler or low-level source code. Is the next step requiring to see the source code of this compiler?
Perfectly reasonable 'C' source code could produce erronious results using a flawed compiler. The same should apply for the other tools used in creating the binary EEPROM memory image and downloading this to the EEPROM.
Mike