Perhaps I am wrong about this. For instance, Articles 4.2 and 6 of the Computer_Programs_Directive for the EU discuss this, and I think the intent is to prohibit reverse engineering in general (and most likely thus the sense of whatever happened with R3/IPPOLIT). However, if so, the exact wording of 5.3 is rather poor:the more common opinion is that once software is obtained legally, an end-user can use it for the purposes of discovery unless there is an agreement to the contrary
So if I use a debugger to "observe" what goes on during the "running" of the program, that seems to be explicitly permitted [and I can presumably at that point just take a disassembly of the whole code from it] --- but if I just take the executable and use Hex-Rays on it, that's not (for the program is not "running")? The document is from 1991, and seems rather outdated in methodology, as a strict construal of 5.3 essentially allows almost anything with the "while running" observational tools that are now available. My guess is that they never intended a modern debugger to be part of "observation" as implied here.The person [...] shall be entitled to observe, study, or test the functioning of the program in order to determine the ideas and principles which underlie any element of the program if he does so while performing any of the acts of loading, displaying, running, transmitting or storing the program which he is entitled to do.
At the same time, Section 1.2 indicates that "Ideas and principles which underlie any element of a computer program [...] are not protected by copyright under this Directive", while 1.3 says "A computer program shall be protected if it is original in the
sense that it is the author's own intellectual creation", which simply leaves me to wonder what this last phrase really means.
