You have just finished developing a software program and want an optimal protection for it. If you are the developer, you are the author and owner. But maybe you had it developed by a third-party, in which case you have to make sure you have full ownership over it.
Best-case scenario, you were able to protect your software by a patent (see the Practical Article entitled “How to protect your invention by a patent”: http://www.bondard.fr/index.php?rubrique=18839&action=article&categorie=503&article=2103).
This being said, you worry about what may happen once the product is on the market: won’t your clients or partners try to decompose and analyze your product to operate your software without calling upon your services? These are “reverse engineering” practices that are strictly defined by the law. We give you a précis of your rights as well as some advice.
1. What is “reverse engineering”?
Under certain conditions, software users can, without your consent, legally analyze your program in order to understand how it works and how to use it correctly. These are called “reverse engineering” or “retroengineering” practices.
The user can therefore reproduce the software code or translate its form if he complies with the conditions laid out by the law (section L. 122-6-1 IV of the French Intellectual Property Code). This user may then create a copy, or even develop an enhanced version of your software and you’ll be unable to claim any copyright infringement.
Some reverse engineering practices therefore are legal (those aimed at understanding how to use a software correctly) and some are illegal (those aimed at copying or enhancing your software, often for commercial purposes).
So you appreciate who important it is to fully understand the relevant rules: your objective is to create a framework for these actions so as to prevent any user from carrying out these legally prescribed reverse engineering practices to the detriment of your business.
2. Are reverse engineering practices legal?
Under French law, reverse engineering practices are not prohibited, but a strict framework is laid out by section L.122-6-1 IV of the French Intellectual Property Code.
Section L.122-6-1 IV of the French Intellectual Property Code allows the “reproduction of the code of the software or translation of its form” without the author’s consent when such reproduction or translation is “indispensable for obtaining the information necessary to achieve the interoperability of the software”.
Therefore, retroengineering practices are legal when they meet three conditions:
- the user must have the right to use the software or be authorized to do so (by means of a license or another contract);
- such analysis was necessary as the user was not provided with sufficient information to achieve interoperability, i.e. “the capacity for different software programs or protocols to work together”,
- reversed engineering practices are restricted to the parts of the software necessary to achieve interoperability.
However, these practices are limited. The user cannot communicate the information to third parties – unless such information is necessary for the use of the said software -, nor sell a similar software program.
If a user decompiles or dismantles the software to recreate the way it operates without your consent and for commercial purposes, you can sue him for copyright infringement.
Be careful about the reversed engineering provision in your license agreements
Beware of not including a provision in your agreement that completely prohibits reversed engineering practices, as it will be deemed null and void.
However, you can introduce a provision stating that third parties shall not be authorized to practice reversed engineering, decompile, dismantle the software, help or in any way facilitate such actions unless a written agreement has been signed between the parties in compliance with the law applicable for the purpose of interoperability.
3. Practical advice to prevent risks of reversed engineering
Here are some practical tips to help you avoid legal reversed engineering practices:
- communicate any useful information so that the user cannot claim it is impossible to achieve interoperability, i.e. other software programs cannot interact because of the incompatibility;
- avoid communicating the source code of the software;
- set protective technical measures that do not prevent interoperability.
Should you be victim of reversed engineering practices outside of the bounds of the law, you will be able to sue the users (or third parties) for infringement of your copyright.
Note: The software owner’s obligation to inform
As the owner of the software, if you refuse to provide the user with the information necessary for an optimal use of the software, he might ask Hadopi (the French High Authority of Diffusion on the Art Works and Protection of Rights on the Internet) to rule on the matter.
The bill n° 2009-669, passed on June 12th 2009, created that authority whose functions include supervising and regulating technical protection measures. Therefore, according to section L.331-32 of the French Intellectual Property Code, any software publisher, technical system manufacturer and service operator can refer to that authority to have access to any information necessary for interoperability.
The only way you can then force your users to renounce the publication of the source code and the technical documentation, is to prove, as the copyright owner for the software, that such action would be greatly damaging to the security and efficiency of the technical measure.