On Sunday 05 August 2007 18:06:28 Jakob Eriksson wrote:
Kai Blin wrote:
On Sunday 05 August 2007 04:23:15 Peter Dons Tychsen wrote:
It was regarding the fact that it is not allowed to disassemble and reverse engineer Microsoft DLLs. I understand this part, as their license prohibits it (EULA).
Please note that "reverse engineering by disassembly" is not the same as "reverse engineering by black box testing". The former is not only disallowed by many license agreements, it's actually a violation of copyright in most (western) countries.
Not all western countries by far.
[...]
Dissambling is not illegal. Disassembling and then writing another implementation is against copyright. [snip MSDN etc]
Well, I'm talking about "in the context of using the results for Wine". I was also simplifying. However, given that the USA seem to consider the internet to be under their jurisdiction, the US legal system seems to be par for the interpretation of all of this.
I also can't see how it would be illegal to, for instance, person A disassembling a DLL, then writing documentation for that DLL. Then for person B to reimplement said DLL by means of the specification specified by person A.
This is how Compaq legally reverse engineered the IBM PC BIOS. I don't see how there would be any difference writing the documentation as unit tests or english.
I.e. disassembling for the purpose of creating unit tests must be ok, AFAIK.
Why would you even bother to disassemble to write a unit test? All Wine cares about is "What's the output of function X when I put in Y and Z as parameters?". That's why you write a conformance test that will run on Windows. Then you make Wine behave the same. No need to disassemble anything there.
Cheers, Kai