A qui appartiennent les codes sources dans un contrat informatique ?

Quelle est la différence entre un logiciel et un progiciel sur le plan juridique ?
Généralement, le contrat informatique met en relation une entreprise, la SSII (ou Société de services et d’ingénierie en informatique) et son client, une autre entreprise qui souhaite soit acquérir un logiciel métier spécifique à son activité, soit un progiciel généralisé. C’est pour cela que l’on distingue les contrats portant sur les logiciels de ceux portant sur les progiciels.
Le progiciel est préexistant, sa réalisation est déjà effectuée. Il est fourni à plusieurs personnes ou plusieurs licenciés, contrairement au logiciel spécifique qui n’est en général donné en licence qu’à une personne particulière, sauf exceptions. C’est pour cela que juridiquement, la licence du progiciel est souvent consentie à titre non-exclusif et organise la concession d’un droit d’usage le plus limité possible, alors que la licence du logiciel est accordée, par la même occasion, sur le savoir-faire qui l’entoure, ce qui n’est pas le cas pour une licence de progiciel où le licencié ne peut qu’utiliser « mécaniquement » ledit progiciel en suivant les instructions qui lui sont transmises, sans aucune spécificité et sans obtenir de prérogatives particulières. Aucune prestation intellectuelle personnalisée n’est fournie au licencié qui se confond généralement avec la masse des autres licenciés. De ce fait découlent les conséquences sur la remise du code source et sur la précarité des droits sur ledit code pour le licencié.
Comment savoir à qui appartient le code source ?
En premier lieu, il est nécessaire de définir le code source. Par définition, le code source est la description d’un logiciel sous une forme lisible par l’homme dans un langage informatique, code qui est ensuite transcrit dans une forme binaire déchiffrable par l’ordinateur, le code objet. Ce dernier est donc un ensemble d’instructions sous forme de chiffres directement exécutables par la machine : c’est plus précisément le langage utilisé par la machine pour exécuter le programme. Le code source, langage de programmation, est indispensable pour comprendre le fonctionnement d’un logiciel et pour le modifier. Or, présenté comme tel, il n’est pas compréhensible par l’ordinateur. C’est pourquoi, il doit être « converti » en code objet : un tel procédé est appelé « compilation ».
Le code source appartient au propriétaire du logiciel (c’est-à-dire au concédant) qui dispose bien entendu de ses droits d’auteurs, qu’il peut céder ou louer ou concéder au licencié, moyennant rétribution. D’où l’importance de bien rédiger la clause portant sur les codes sources dans le contrat informatique.
Justement, quelles sont les règles à respecter et les risques à éviter dans la rédaction de cette clause ?
En tant qu’élément particulier du logiciel, le sort du code source mérite beaucoup d’intérêt. En effet, il représente plus qu’un simple texte car, sans lui, il ne serait pas possible de comprendre le fonctionnement du logiciel. C’est une sorte de « droit de comprendre » qui doit donc être prévu au contrat afin de permettre au licencié d’utiliser le logiciel avec efficacité et performance. Dès lors, une clause sera spécialement prévue pour organiser la « communication » du code source au licencié et pour garantir l’utilisation du logiciel dans le temps. Il faut cependant souligner que le simple fait de mettre à disposition du licencié le code source ne signifie pas pour autant qu’une cession des droits d’auteur en est faite. C’est pourquoi, le contrat devra prévoir les conséquences du défaut de remise du code source impliquant que le licencié ne s’est pas vu octroyé le droit de modifier le logiciel, droit important en la matière. S’il modifie le code source sans autorisation, il risque d’être poursuivi pour contrefaçon (car il serait entré par effraction dans le bien d’autrui, en forçant la serrure). D’où l’intérêt de prévenir le licencié des conséquences de tels agissements.
En cas de refus d’accès au code source, de blocage du système ou même de liquidation du concédant, que pourrait faire le licencié ?
Afin de garantir l’accès au code source dans certaines circonstances, notamment en cas d’impossibilité pour le concédant de fournir un tel accès ou de refus de garantir le logiciel (par exemple, en cas de panne bloquant son fonctionnement), les parties devront organiser cette remise. Les hypothèses, les conditions et les formes de cette remise (listings, supports magnétiques, etc.), les modalités d’utilisation des codes, la version communiquée, la documentation associée, etc. seront mentionnés au contrat. Le concédant demandera éventuellement des garanties au licencié en contrepartie de cette remise, telles qu’une caution bancaire pendant la durée de détention des programmes, ainsi qu’un engagement de confidentialité.
Mais d’autres solutions existent : l’une de nature technique, c’est ce qu’on appelle la décompilation ou « désassemblage », il s’agit de traduire un programme d’un langage dans un autre, plus évolué, c’est-à-dire de passer du code objet au code source. Concrètement, la structure du logiciel est « démontée » pour connaître et appréhender les données qui en permettent le fonctionnement afin d’assurer sa compatibilité avec les interfaces d’autres logiciels ou appareils informatiques. Autrement dit, le but est de permettre l’interopérabilité du logiciel avec d’autres logiciels installés sur la machine concernée et avec le système lui-même de cette machine, le tout devant fonctionner ensemble et sans difficulté. Le procédé de décompilation est une partie de l’ingénierie inverse et est autorisé par la loi dans des conditions strictes. Il permet de rendre un logiciel difficilement copiable, l’utilisateur ne disposant que d’une version simplifiée et tronquée du principe de son fonctionnement. La licéité de cette méthode a longtemps posé des problèmes et a suscité de nombreux débats, en particulier parce que, comme l’ingénierie inverse, ce procédé présente de graves dangers pour les concepteurs de logiciels, autrement dit, les auteurs mais aussi les éditeurs. C’est pourquoi les licences contiennent des dispositions très restrictives en matière de décompilation. C’est pourquoi également la rédaction ou du moins la révision de la clause des codes sources autorisant la décompilation doit être faite par un professionnel.
La deuxième solution est ce qu’on appelle l’ « entièrcement ». Ainsi, le contrat pourra prévoir que le code source sera déposé chez un tiers tel qu’un organisme privé – comme l’Agence pour la protection des programmes (APP) – en indiquant les cas et les conditions dans lesquels le client pourra y avoir accès. Cette procédure dite « entiercement » ou « sauvegarde » consistera à déposer chez ce tiers des copies du logiciel ainsi que la documentation technique ayant servi à sa conception/réalisation. Le dépôt fera l’objet de mises à jour chaque fois qu’une modification ou qu’une nouvelle version du logiciel sera installée par le licencié. De telles mesures s’avèrent utiles, par exemple, si le licencié modifie la configuration de son système et que le logiciel rencontre des difficultés de fonctionnement, impossibles à résorber pour le concédant. Sans aide ni réaction de sa part malgré des relances, le licencié risque de se retrouver dans une situation délicate. Ainsi, une cessation d’activité du concédant, volontaire ou non, doublée d’une absence de successeur, une liquidation judiciaire, une décision de ne pas mettre à niveau les fonctionnalités du logiciel en cas de modification législative ou réglementaire sont autant de motifs justifiant la remise des codes sources au licencié. La jurisprudence admet à ce titre que ce dernier peut exiger leur communication