Code source, propriété des données et transfert

Par Manboo Studio4 min de lecture
Demander une estimation du projetWhatsApp
Code source, propriété des données et transfert

« Nous avons payé, donc nous en sommes propriétaires » : telle est l’hypothèse. Sa véracité dépend entièrement de ce que prévoit le contrat et, en l’absence de clause, le régime par défaut de nombreuses juridictions favorise le développeur.

Ce que la propriété devrait couvrir

Un contrat qui traite correctement ce point aborde séparément quatre éléments :

  • Code source personnalisé écrit spécifiquement pour ce projet.
  • Éléments de design — écrans, icônes, illustrations et fichiers sources modifiables, et pas uniquement les images exportées.
  • Données — tout ce que l’application stocke, qui devrait sans ambiguïté appartenir au client.
  • Documentation — spécifications, notes d’architecture, instructions de déploiement.

La clause à rechercher transfère au client la propriété des travaux personnalisés au moment du paiement final. Deux détails sont importants : le transfert doit avoir lieu au paiement plutôt qu’à une date ultérieure, et il doit préciser explicitement qu’il inclut les fichiers sources de design, souvent oubliés et difficiles à obtenir ensuite.

Ce dont vous ne pouvez pas être propriétaire

Certains composants font l’objet d’une licence plutôt que d’un transfert de propriété, ce qui est normal :

  • Bibliothèques open source. Toute application moderne en utilise de nombreuses. Elles sont régies par leurs propres licences, dont la plupart autorisent librement l’utilisation commerciale. L’important est que ces licences soient compatibles avec votre utilisation — il est raisonnable d’en demander la liste.
  • Composants commerciaux — bibliothèque de graphiques payante, police sous licence, modèle acheté. Ils sont assortis de licences qui peuvent être accordées par projet, par développeur ou par déploiement, et la licence doit vous être transférée ou être rachetée.
  • Code de framework préexistant du développeur. De nombreuses agences réutilisent leurs outils internes d’un projet à l’autre. Cette pratique est légitime et généralement bénéfique, mais le code devrait vous être concédé sous licence à perpétuité plutôt que de rester indéfini — sinon une partie de votre application appartient à quelqu’un d’autre.

Les images issues de banques sont un problème récurrent. Les images sous licence pour une maquette ne le sont parfois pas pour une utilisation en production, et le découvrir après le lancement coûte cher. Demander d’où provient chaque image vaut les cinq minutes nécessaires.

Le dossier de transfert

Le test d’un transfert est simple : un développeur compétent qui n’a jamais vu ce projet pourrait-il en reprendre la gestion ? Cela nécessite :

  1. Le dépôt complet avec son historique, transféré vers un compte contrôlé par le client. L’historique des commits est important : c’est ainsi qu’un nouveau développeur comprend pourquoi les choses sont comme elles sont.
  2. Des instructions de déploiement suffisamment détaillées pour reconstruire l’environnement à partir de rien.
  3. La configuration de l’environnement — les paramètres existants, leur fonction et ceux qui sont secrets.
  4. Tous les identifiants des comptes — hébergement, domaine, base de données, services tiers, comptes de boutiques — transférés au client, qui en devient propriétaire.
  5. Le schéma de la base de données et les scripts de migration éventuels.
  6. L’inventaire des services tiers avec l’usage de chacun et son coût.
  7. Les fichiers sources de design.
  8. Les problèmes connus et les éléments reportés, consignés honnêtement.

Ce dernier élément mérite d’être demandé explicitement. Chaque projet comporte des compromis connus, et un développeur disposé à les documenter fournit au client quelque chose de véritablement précieux.

Vérifier que le transfert fonctionne

La vérification la plus solide consiste à demander à une personne indépendante de déployer l’application uniquement à partir du dossier de transfert, dans un environnement vierge, sans rien demander au développeur initial. Si cette opération réussit, le transfert est réel.

Effectuer cette vérification tant que la relation est encore bonne est bien plus facile que de le faire après sa fin. Il est raisonnable de conditionner une petite partie du paiement final à sa réussite.

Séquestre

Lorsque le développeur conserve le code — ce qui arrive parfois dans le cadre d’offres basées sur une plateforme ou d’abonnements — le séquestre du code source consiste à en déposer une copie auprès d’un tiers, qui la remet au client dans des conditions définies, par exemple lorsque le développeur cesse son activité.

Cette solution coûte de l’argent et ajoute des tâches administratives ; elle est surtout proportionnée lorsque l’application est critique pour l’activité et que le développeur est une petite structure. Pour la plupart des petits projets, un transfert de propriété clair accompagné d’un transfert vérifié offre davantage pour un coût moindre.

Tout régler avant de commencer

  • Qui est propriétaire du code personnalisé et à partir de quand.
  • Si les fichiers sources de design sont inclus.
  • Comment le code préexistant du développeur est concédé sous licence.
  • Que les données appartiennent sans ambiguïté au client, dans un format exportable.
  • Ce que contient le dossier de transfert.
  • Que les comptes soient créés au nom du client dès le départ.

Services Manboo associés

Demander une estimation de projet

Parlez-nous de l’objectif du produit, du flux de travail actuel, de la plateforme cible, des contraintes et du calendrier de décision. Nous examinerons le périmètre et vous recommanderons une prochaine étape concrète.

Code source, propriété des données et transfert

Préciser les besoins du projet (facultatif — pour estimer le périmètre et le coût)
Nous utilisons ces informations uniquement pour étudier et répondre à votre demande de projet. Consultez notre politique de confidentialité. Merci de ne pas transmettre de mots de passe ni de clés d'API sensibles.