The Software Directive explicitly permits reverse engineering for interoperability.
Interoperability is not explicitly defined, but is widely understood to relate to interfaces. API, or Application Programming Interfaces, are of course interfaces. Hence you can reverse engineer APIs to create something interoperable, without infringing copyright.
This topic has even gone to the CJEU, the top European court. World Programming implemented a language and library compatible with SAS. SAS sued. Ultimately, the court found in favour of World Programming.
Of course, despite reimplementation of APIs clearly being legal in Europe, a ban in the US could still have a chilling effect, due to the international and cross border nature of software development.
Sure it can, unless it's patented, but patents aren't claimed here.
You don't get to pick your own narrow definition of "interoperability" and claim that it's the only one that applies. Requiring 100% compatibility with compiled code quite obviously makes it trivial for the creator of the original work to completely subvert that right to reverse engineer. European courts would almost certainly choose to interpret that right in a way that allows it to have real power.
However a visit or letter from a large litigious opponent is likely to strike fear into the hearts of most regardless of the legal merits of the case. For example this has been effective for Microsoft in licensing patents they cover aspects of the Android operating system[1].
0. https://en.wikipedia.org/wiki/TRIPS_Agreement 1. https://blogs.technet.microsoft.com/microsoft_on_the_issues/...