Pour la première fois, la CJUE se penche sur la décompilation d’un logiciel. Elle livre une réponse nuancée. Tout en acceptant le principe de la décompilation dans le cadre de la correction des erreurs, elle encadre l’opération d’un luxe de précautions et contraintes, rendant l’opération très risquée juridiquement.
Code source vs. Code objet
Lorsqu’il écrit un programme d’ordinateur, l’informaticien utilise un langage de programmation (il en existe un grand nombre). Conséquence : tout autre informaticien qui connait ce langage est en mesure de comprendre ce qu’a écrit le premier. C’est ce que l’on appelle le code « source ».
Ce code source, compréhensible pour un être humain, n’est pas exploitable par la machine. Il faut le transcrire sous une forme exécutable par un ordinateur, à savoir sous la forme d’un code « objet ».
La « compilation » est une opération consistant à transformer un code source en code objet.
Inversement, la « décompilation » vise à reconstituer le code source d’un programme à partir de son code objet. La décompilation est une opération très invasive car elle permet de remonter vers le programme tel qu’il a été écrit par son auteur, avec le risque de pouvoir se substituer à lui et violer ses droits de propriété intellectuelle.
C’est ce risque qui explique que la directive 91/250 protège tous les codes, source et objet.
La CJUE le rappelle : « (…) le code source et le code objet d’un programme d’ordinateur, en tant qu’ils constituent deux formes d’expression de celui-ci, bénéficient de la protection par le droit d’auteur sur les programmes d’ordinateur conformément à l’article 1er, paragraphe 2, de la directive 91/250 (voir, en ce sens, arrêt du 22 décembre 2010, Bezpečnostní softwarová asociace, C‑393/09, EU:C:2010:816, point 34). »
Ceci étant posé, quand et à quelles conditions peut-on décompiler (hormis, bien entendu, l’hypothèse de l’accord de l’auteur ou de l’ayant droit) ?