Faire appel à un prestataire externe pour développer un logiciel spécifique est aujourd’hui une solution adoptée par de nombreuses entreprises. La conception et le développement d’un logiciel sur mesure permet de l’adapter aux caractéristiques et aux besoins de l’entreprise tout en bénéficiant de l’expertise du fournisseur. Mais une telle commande doit être encadrée juridiquement par un contrat de développement d’un logiciel, également appelé contrat de prestation informatique.
Cette convention définit la relation contractuelle entre un professionnel en informatique, chargé de développer le logiciel spécifique et une entreprise cliente. Elle permet de délimiter les droits et les obligations de chacune des parties et de protéger ainsi leurs intérêts respectifs.
Comme tout contrat, le contrat de logiciel informatique doit contenir certaines informations :
- L'objet du contrat et les spécificités techniques du logiciel
- Les attentes spécifiques et les besoins du client
- Les modalités d’exécution de la prestation
- La rémunération
- Les délais de production et de livraison du logiciel
- Les droits d’auteur et droits patrimoniaux sur le logiciel
Avant de signer un tel contrat, il est important d’être conscient des points de vigilance, souvent méconnus des entreprises, pour éviter les mauvaises surprises. Connaître ces risques et négocier en toute transparence les clauses du contrat protège les clients des conséquences juridiques potentielles.
Cet article vous dévoile quelques éléments auxquels les entreprises doivent faire attention avant d’externaliser le développement d’un logiciel. Il traitera principalement le cas du contrat de développement d’un logiciel spécifique qui a vocation à être installé sur les postes de travail des collaborateurs de l’entreprise.
La propriété intellectuelle et la cession des droits
La cession des droits n’est pas automatique en matière de propriété intellectuelle. Elle obéit à un formalisme très strict édicté par le code de la propriété intellectuelle. Il n’existe qu’une exception à ce principe : la dévolution des droits à l’employeur, mise en place par l’article L.113-9 du code de la propriété intellectuelle, dans le cadre d’un développement de logiciel par un salarié dès lors que certaines conditions sont remplies.
Ainsi, ce n’est pas parce qu’une entreprise commande le développement d’un logiciel à un prestataire externe qu’elle devient titulaire des droits de propriété intellectuelle. Une clause de cession de droits doit obligatoirement être insérée dans le contrat de développement.
C’est un point important qui va définir le périmètre des droits de l’entreprise. Peut-elle commercialiser le logiciel ? Peut-elle confier la mise à jour à un autre prestataire ? Il va aussi encadrer les droits et obligations du développeur. Par exemple, ce dernier pourra-t-il commercialiser ce logiciel auprès d’autres utilisateurs ? Quels éléments doit-il fournir à son client ?
Pour répondre à ces questions et apporter une sécurité juridique à la fois pour le développeur et l’utilisateur, il convient donc d’inclure une clause de cession de droits qui devra :
- lister les droits cédés (tout ce qui n’est pas indiqué est réputé non cédé) : s’il s’agit d’une cession totale des droits, l’usage veut que l’on indique que la cession porte sur l’ensemble des droits patrimoniaux ;
- mentionner le caractère exclusif ou non de la cession: de cette précision, dépendra la possibilité ou non pour le développeur d’exploiter le logiciel ou d’accorder des licences d’utilisation à d’autres entreprises ;
- indiquer la durée et l’étendue territoriale de la cession.
Pour approfondir ce point, vous pouvez consulter le livre blanc de l’APP sur les bonnes pratiques en matière de cession de droit.
La continuité de l’activité via l’accès aux codes sources
Pour une entreprise, le recours à un logiciel spécifique peut être un élément essentiel à son activité. Elle doit donc s’assurer que la maintenance puisse avoir lieu dans des délais raisonnables et que ce programme soit toujours opérationnel. Or, la défaillance du prestataire peut remettre ces points en cause et ainsi mettre en péril l’activité de l’entreprise. C’est pourquoi il est vivement conseillé de prévoir les cas dans lesquels l’utilisateur pourra avoir accès aux codes sources du logiciel au sein d’un contrat de développement de logiciel.
Cela peut prendre la forme d’une clause d’accès aux sources. Mais il est préférable d’opter pour un contrat d’entiercement qui sera mis en annexe du contrat de développement. Ce contrat signé par le fournisseur, l’utilisateur et un tiers séquestre chez lequel les codes sources seront déposés, va encadrer toutes les étapes importantes à la mise en place de cet accès.
Qu’est-ce que l’entiercement ?
L’entiercement consiste, pour le fournisseur d’un produit ou d’un service, à confier à un tiers séquestre des éléments essentiels à l’usage de ce produit ou à la réalisation de ce service en vue d’assurer à ces clients la possibilité d’y accéder dans des cas préalablement définis. Dans le cadre d’un contrat de développement de logiciel, cela se matérialise par le dépôt des codes sources, de la documentation et de tout autre élément nécessaire au bon fonctionnement de la solution informatique.
L’Agence pour la Protection des Programmes occupe depuis 40 ans ce rôle de tiers séquestre auprès de nombreuses entreprises.
Quel intérêt présente l’entiercement pour chacune des parties ?
L’intérêt de l’entiercement pour les utilisateurs d’un logiciel spécifique est évident. C’est une assurance contre la défaillance du fournisseur. Cette défaillance peut être de différentes sortes : liquidation judiciaire, défaut de maintenance, etc. Ces situations peuvent entraîner des répercussions sur l’activité de l’entreprise. Une panne bloquante peut réduire drastiquement la productivité si elle n’est pas réparée rapidement. Une liquidation judiciaire sans que les codes sources aient été préalablement remis à l’utilisateur rend impossible la mise à jour ou la maintenance corrective du logiciel.
L’entiercement offre également des avantages pour les fournisseurs. Il représente un argument commercial non négligeable face à des concurrents. Un tel contrat sécurise en effet la relation contractuelle entre les deux parties et rassure le client. En outre, il permet d’anticiper un éventuel litige sur les éléments livrés et leur conformité aux cahiers des charges. Cela est particulièrement vrai lorsque des modules open source sont présents et que l’utilisateur peut les modifier. Si les modifications génèrent des pannes bloquantes, le dépôt des codes sources pourra être utilisé comme élément de preuve par le fournisseur pour démontrer que les modifications ont été réalisées après la livraison de la solution informatique.
Enfin, l’entiercement représente un moyen, pour le fournisseur de préconstituer la preuve de ses droits d’auteur. Le dépôt du logiciel, étape indispensable pour mettre en place un contrat d’entiercement, donne une date certaine à la création prouvant ainsi l'antériorité des droits de propriété intellectuelle en cas de litige. Le dépôt auprès de l’APP est une solution reconnue devant les tribunaux en France et à l’international.
Quels points nécessitent une attention particulière ?
Pour mettre en place un contrat d’entiercement, plusieurs dispositions doivent attirer la vigilance des juristes :
- Le contenu du dépôt : il est conseillé que les éléments déposés ne se limitent pas aux codes sources du logiciel mais incluent également la documentation technique et les outils nécessaires à la mise à jour du logiciel (sous réserve des droits du fournisseur sur ces outils). Mais, comment être certain que le fournisseur dépose bien les éléments listés dans le contrat ? Pour apporter une plus grande sécurité juridique au contrat d’entiercement, l’APP propose deux types de dépôt.
- Le dépôt vérifié : un agent assermenté de l’APP va s’assurer de la lisibilité des supports fournis pour le dépôt, de la présence d’un contenu structuré et du calcul de l’empreinte électronique (hash) de chaque support.
- Le dépôt contrôlé : il s’agit d’une procédure plus complexe par laquelle un agent assermenté de l’APP va procéder à un examen du contenu déposé, en présence des deux autres parties. Il va ainsi compiler les codes sources et installer le code objet ainsi obtenu. Il contrôlera ensuite que la solution répond bien au cahier des charges.
- Les conditions d’accès aux sources : quelles situations donnent le droit à l’utilisateur de demander l’accès aux sources au tiers séquestre ? Il est essentiel de bien définir ces situations pour éviter un litige sur l’interprétation de telle ou telle condition. Les cas de défaillance doivent donc être listés et définis. Qu’est-ce qu’une panne bloquante ? A partir de combien de jours un défaut de maintenance est critique ? La reprise de la société du fournisseur en liquidation judiciaire arrête-t-elle la défaillance ?
- La procédure d’accès aux sources : il est important que la procédure d’accès aux sources soit expliquée pour qu’aucun contentieux ne se développe lors de sa mise en œuvre. Faire appel à un tiers séquestre expérimenté comme l’APP permet de s’appuyer sur une procédure standardisée qui a déjà été mise en application plusieurs fois.
- La fréquence des mises à jour du dépôt : le dépôt doit régulièrement être mis à jour. La fréquence de ces mises à jour doit être indiquée dans le contrat afin qu’en cas d’accès aux sources, l’utilisateur se retrouve en possession de la dernière version et non pas d’une version périmée.
- L’environnement nécessaire pour utiliser les sources: après avoir accédé aux codes sources, l’utilisateur doit pouvoir les exploiter. Le contrat d’entiercement doit donc mentionner l’environnement technique nécessaire pour utiliser ces codes sources. Il indique aussi qu’il incombe à l’utilisateur de s’assurer qu’un membre de son équipe soit en mesure d’utiliser les sources pour assurer la maintenance corrective et évolutive du logiciel ou de confier cette dernière à un autre prestataire.
- L’étendue des droits conférés par l’accès aux sources : accéder aux codes sources ne permet pas à l’utilisateur de faire ce qu’il veut avec. Généralement, les droits conférés par l’accès aux sources se limitent à la maintenance corrective et évolutive.