Hmm read further and perhaps not in Europe
In the case of computer programs, the EU directive states (11) that the ideas and principles underlying a program are not protected by copyright, and that (12) logic, algorithms and programming languages may to some extent comprise ideas and principles.
Analysis of the function of a program (but not decompilation (13))is permitted under Article 5.3, if it is carried out by a licensed user in the normal use of the program.
Reverse engineering is allowed under Article 6, but only for the single purpose of producing an interoperable program (rather than a competing program).
For this purpose, in addition to reverse engineering itself (i.e. producing a high level version of the code) subsequent forward engineering to produce the interoperable program is permitted.
However, the reverse engineer has to cross a host of formidable barriers before he can make use of this right;
It must be indispensable to reverse engineer to obtain the necessary information.
The reverse engineering has to be by a licensee or authorised user.
The necessary information must not already have been readily available to those people.
Only the parts of the program necessary for interoperability (i.e. the interfaces) can be reproduced.
The information generated by the reverse engineering cannot be used for anything other than achieving interoperability of an independently created program.
The information cannot be passed on to others except where necessary for this purpose.
The information obtained cannot be used to make a competing program (rather than just an interoperable one).
The "legitimate interests" of the copyright owner or "normal exploitation" of the program must not be prejudice.
Thus, far from creating a general right to reverse engineer, these provisions create only the smallest of openings for the reverse engineer; they are intended for use only to defeat locked, confidential, proprietary interfaces.