C'est peut-être trop tard pour vous, dans la mesure où vous avez peut-être déjà convenu contractuellement de le faire et que vous auriez pu accepter des conditions mutuellement incompatibles avec différents clients.
Vous pouvez fournir votre code source à vos clients de deux manières. Propriété du droit d'auteur et sous licence.
Certains clients voudront posséder le code source. Cela signifie qu’à la fin du processus, ils vous paieront de l’argent et vous leur accorderez en échange le droit d’auteur du code que vous avez créé pour eux. Cela s’explique notamment par le fait qu’ils voient un potentiel important de propriété intellectuelle dans le code source et souhaitent peut-être l’évaluer dans le bilan de leur société. Dans ce scénario, vous ne pourrez plus utiliser ce code source pour d'autres projets, sauf si vous obtenez également une licence de votre client vous donnant ce droit.
Si votre client achète un produit «standard», il s’attend à recevoir une licence lui permettant d’utiliser le logiciel et non à la propriété du code source. Ils devraient s’attendre à ce que vous vendiez le même logiciel (ou un logiciel similaire) à de nombreuses autres organisations et qu’ils bénéficient, espérons-le, d’un coût d’achat moins élevé en raison de la clientèle plus large.
Cependant, la situation dans cette question est un méli-mélo des deux.
Voici ce que je voudrais pouvoir faire. J'accorderais à votre client une licence pour utiliser (et modifier) votre code partagé. Si le client m'interroge, je vous ferai remarquer qu'il s'agit d'un code partagé que vous avez déjà utilisé dans plusieurs projets et que des offres actuelles ont été mis en place pour les travaux futurs et basé sur votre utilisation continue de ce travail. Faites remarquer que cela a eu pour effet de réduire le temps consacré à ce projet par votre client, ce qui lui a coûté moins cher. Comme d'autres bibliothèques de code partagées utilisées par le projet, elles disposent d'une licence pour utiliser ce code et permettre à d'autres équipes de développement de le développer, ainsi que d'autres projets basés sur cette bibliothèque. Cependant, s'ils préfèrent être propriétaires de tout le code, vous êtes prêt à en créer un autre, mais cela entraînerait des frais supplémentaires.
Selon ce à quoi vous vous êtes déjà engagé, vous pourriez avoir à écrire une fonctionnalité de remplacement gratuitement ou à donner votre code source.
Rappelez-vous, il existe différents types de bibliothèques. La bibliothèque de modèles standard en C ++ est un bon exemple de bibliothèque incluse au niveau du code source et compilée dans un exécutable de projet qui peut être assez similaire à la façon dont vous avez utilisé votre code commun.