À quelles conditions décompiler un logiciel ?
Publié le 06/12/2021 par Etienne Wery
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) ?
Décompiler dans le cadre de l’interopérabilité
L’article 6 de la directive permet la décompilation (même sans l’accord de l’auteur) lorsque « la reproduction du code ou la traduction de la forme de ce code au sens de l’article 4 points a) et b) est indispensable pour obtenir les informations nécessaires à l’interopérabilité d’un programme d’ordinateur créé de façon indépendante avec d’autres programmes (…) ».
C’est ce qu’on appelle l’exception d’interopérabilité.
La directive soumet l’opération à plusieurs conditions, dont :
- ces actes sont accomplis par le licencié ou par une autre personne jouissant du droit d’utiliser une copie d’un programme ou pour leur compte par une personne habilitée à cette fin ;
- les informations nécessaires à l’interopérabilité n’ont pas déjà été facilement et rapidement accessibles ;
- ces actes sont limités aux parties du programme d’origine nécessaires à cette interopérabilité.
Par ailleurs, la réutilisation des informations ainsi obtenues est encadrée par la directive. En substance, elles ne peuvent pas :
- être utilisées à des fins autres que la réalisation de l’interopérabilité du programme d’ordinateur créé de façon indépendante ;
- être communiquées à des tiers, sauf si cela s’avère nécessaire à l’interopérabilité du programme d’ordinateur créé de façon indépendante ou
- être utilisées pour la mise au point, la production ou la commercialisation d’un programme d’ordinateur dont l’expression est fondamentalement similaire ou pour tout autre acte portant atteinte au droit d’auteur.
Décompiler pour corriger des erreurs
L’article 5 crée un système complexe d’exceptions aux prérogatives de l’auteur en vue de la correction des erreurs, mais sans viser explicitement la décompilation ni évoquer, comme le fait l’exception d’interopérabilité, la reproduction du « code » du programme.
D’où la question préjudicielle soumise par la cour d’appel de Bruxelles : « L’article 5, paragraphe 1, de la [directive 91/250] doit-il être interprété comme permettant à l’acquéreur légitime d’un programme d’ordinateur de décompiler tout ou partie de celui-ci lorsque cette décompilation est nécessaire pour lui permettre de corriger des erreurs affectant le fonctionnement dudit programme, y compris quand la correction consiste à désactiver une fonction qui affecte le bon fonctionnement de l’application dont fait partie ce programme ? ».
Au terme d’un raisonnement en trois étapes, la Cour répond affirmativement :
- La décompilation implique l’accomplissement d’actes, à savoir la reproduction du code de ce programme et la traduction de la forme de ce code, qui relèvent effectivement des droits exclusifs de l’auteur, tels qu’ils sont définis à l’article 4, sous a) et b), de la directive 91/250.
- L’article 5, paragraphe 1, de la directive 91/250, permet à l’acquéreur légitime qui souhaite corriger une erreur d’accomplir tous les actes énumérés à l’article 4, sous a) et b), de cette directive.
- Il en découle que « l’acquéreur légitime d’un programme est en droit de procéder à la décompilation de ce programme afin de corriger les erreurs affectant le fonctionnement de celui-ci. »
À quelles conditions décompiler pour corriger une erreur ?
La cour d’appel de Bruxelles avait eu la bonne idée de poser une seconde question préjudicielle : si la CJUE valide sur le principe la décompilation en vue de corriger une erreur, à quelles conditions l’opération peut-elle être menée ?
La CJUE répond avec un louable souci pédagogique.
Il doit s’agir d’une « erreur »
L’article 5 de la directive vise la correction des « erreurs » mais sans définir ce concept, de sorte que la Cour s’attache en premier lieu à fournir une définition : « (…) dans le domaine de l’informatique, une erreur désigne communément un défaut affectant un programme d’ordinateur qui est à l’origine d’un dysfonctionnement de celui-ci. » La Cour ajoute que l’erreur ainsi définie doit encore « affecter la possibilité d’utiliser le programme concerné d’une manière conforme à sa destination ».
Il y a donc quatre conditions pour parler d’erreur au sens de la directive :
- L’existence d’un « défaut » ;
- Le défaut doit affecter « un programme d’ordinateur » ;
- Le défaut doit être « à l’origine d’un dysfonctionnement » de ce programme ; et
- L’erreur ainsi définie doit « affecter la possibilité d’utiliser le programme concerné d’une manière conforme à sa destination ».
Améliorer le logiciel n’équivaut pas à la modification d’une erreur
Il ne saurait être question d’utiliser le droit à la correction des erreurs pour modifier la « destination » du logiciel, qui relève exclusivement de la liberté de son auteur.
Qu’est-ce à dire ?
Il faut plonger dans les conclusions de l’AG pour comprendre.
Celui-ci relevait que « 73. (…) l’existence même d’une erreur dans un programme d’ordinateur peut constituer un sujet de discorde entre l’auteur et l’utilisateur de ce programme. Ce qui, du point de vue de ce dernier, peut constituer une erreur peut être une fonctionnalité ou une caractéristique voulue du point de vue de l’auteur dudit programme. » (…)
La destination correspond donc aux fonctionnalités, au mode de fonctionnement ou aux caractéristiques du programme, et celles-ci sont définies par l’auteur et relèvent de ses prérogatives exclusives. L’AG l’écrit noir sur blanc « 75. La destination du programme d’ordinateur est celle définie par son auteur ou, selon le cas, celle convenue par le fournisseur et l’acquéreur du programme lors de son acquisition. Une erreur est donc un dysfonctionnement qui empêche l’utilisation du programme conformément à cette destination. Seule la correction de telles erreurs peut justifier les actes de l’utilisateur, y compris la décompilation, effectués sans le consentement du titulaire des droits d’auteur. »
Il ne saurait donc être question d’améliorer un programme sous le couvert d’une correction d’erreur : « 76. En revanche, aucune modification ni amélioration du programme par rapport à sa destination initiale ne constitue une correction des erreurs justifiant de tels actes. Il s’agit notamment de la mise à jour du programme liée au progrès technologique. Autrement dit, l’obsolescence technique du programme d’ordinateur ne constitue pas une erreur au sens de l’article 5, paragraphe 1, de la directive 91/250. »
La décompilation doit être « nécessaire »
La Cour relève que la décompilation envisagée doit être nécessaire pour permettre à l’acquéreur légitime d’utiliser le programme concerné d’une manière conforme à sa destination. Il y a donc deux composantes à prendre en compte :
- L’objectif poursuivi. Il n’y a qu’un seul objectif acceptable pour envisager une décompilation : l’utilisation du programme par l’utilisateur légitime d’une manière conforme à sa destination ;
- La nécessité de la décompilation par rapport à cet objectif. Il ne suffit pas que la décompilation soit utile ou commode : elle doit être nécessaire à la réalisation de cet objectif.
Pour ceux qui n’auraient pas compris toute l’importance de cette précision, la CJUE ajoute : « 63 Cependant, lorsque le code source est légalement ou contractuellement accessible à l’acquéreur du programme concerné, il ne saurait être considéré qu’il est « nécessaire » pour celui-ci de procéder à une décompilation de ce programme. »
La réutilisation du programme est strictement encadrée
La CJUE juge que : « (…) l’acquéreur légitime d’un programme d’ordinateur ayant procédé à la décompilation de ce programme dans le but de corriger les erreurs affectant le fonctionnement de celui-ci ne peut utiliser le résultat de cette décompilation à des fins autres que la correction de ces erreurs. »
Cela ne ressort pas de l’article 5 de la directive, mais du régime général fixé à l’article 4 selon lequel l’auteur dispose des droits exclusifs de « traduction, adaptation, arrangement et toute autre transformation d’un programme d’ordinateur », ainsi que le droit de « reproduction du programme en résultant », c’est-à-dire, dans le cas de la décompilation, le code source résultant de cette décompilation.
L’avocat général concluait dans le même sens : « Ainsi, toute reproduction dudit code source dans un but autre que la correction des erreurs est soumise à l’autorisation du titulaire des droits d’auteur. Par ailleurs, l’article 4, sous c), de cette directive interdit la distribution au public d’une copie d’un programme d’ordinateur sans le consentement du titulaire des droits d’auteur sur ce programme, ce qui s’applique aussi aux copies du code source résultant de la décompilation. »
Les aménagements contractuels acceptables
La CJUE constate une apparente contradiction : d’un côté l’article 5 de la directive 91/250 permet la correction d’erreurs sous réserve des « dispositions contractuelles spécifiques », mais d’un autre côté le considérant 17 énonce que les opérations nécessaires à la correction des erreurs affectant le fonctionnement de celui-ci « ne peuvent être interdites contractuellement ».
Pour la CJUE, la contradiction n’est qu’apparente. Elle juge que :
- Les parties ne peuvent pas exclure contractuellement toute possibilité de procéder à une correction des erreurs ;
- En revanche, elles demeurent libres d’organiser contractuellement les modalités d’exercice de cette faculté. Concrètement, « elles peuvent, en particulier, convenir que le titulaire doit assurer la maintenance corrective du programme concerné ».
Commentaires
C’est la première fois que la CJUE se penche sur la décompilation ; elle livre une réponse nuancée.
D’un côté, elle valide le principe de la décompilation dans le cadre de la correction des erreurs. Les juges devront en prendre note, à commencer par la cour d’appel de Paris qui a jugé en sens inverse dans le passé.
D’un autre côté, elle encadre l’opération d’un grand nombre de précautions et contraintes, rendant l’opération très risquée juridiquement.
Plus d’infos en lisant l’arrêt et les conclusions de l’AG disponibles en annexe.