Clean Room Guidelines
You sometimes run into a need to use the clean-room design techniques to work around the problem without infringing on any copyrights. While you attempt at reverse engineering, all corresponding contributions should follow Council Directive 91/250/EEC, and Directive (EU) 2016/943 of the European Parliament and any newer directives related to reverse engineering. As per Article 6 Decompilation 1. (a) you must own a legal copy/license of the software before doing any attempts at reverse engineering. The software must be officially deprecated and/or obsolete. If you live outside of the European Union, you should follow similar rules described in legal acts issued by the local authorities if they conform to the EU law. This especially means, that
You are allowed to:
- Decompile for Interoperability: According to the directives, decompilation is permissible when it’s necessary to achieve interoperability with other software. This means you can reverse engineer parts of the software to understand the underlying interfaces.
- Own a Legal Copy: You must own a legal copy or license of the software you wish to reverse engineer. This ensures that your starting point is within legal bounds.
- Work with Obsolete Software: The software you reverse engineer should be obsolete or no longer maintained by the manufacturer. This typically applies to software that is no longer receiving updates or support.
You are NOT allowed to:
- Infringe Copyrights: You must not reproduce code or utilize proprietary algorithms from the software without permission, as this would infringe on the copyright.
- Break Protection Measures: You are not permitted to crack or bypass any form of copy protection or digital rights management that the software employs.
- Commercially Exploit the Work: You should not use the knowledge gained from reverse engineering for commercial exploitation or to create direct competitors, unless you have specific agreements that allow for such activities.
- Reveal Trade Secrets: It is generally illegal to uncover and reveal trade secrets through the process of reverse engineering.
Remember, laws and regulations vary by jurisdiction and change over time, so it’s crucial to stay updated on the current laws.