Esto puede ser demasiado tarde para usted, ya que es posible que ya haya aceptado un contrato para hacerlo, y podría haber aceptado términos mutuamente incompatibles con diferentes clientes.
Hay dos maneras en que puede proporcionar a sus clientes su código fuente. Propiedad de los derechos de autor y licencia.
Algunos clientes querrán la propiedad del código fuente. Esto significa que, al final del proceso, le pagarán dinero y, a cambio, les otorgará los derechos de autor del código que usted cree para ellos. Una razón para esto es si ven un potencial significativo para la propiedad intelectual en el código fuente y es posible que deseen valorarlo en el balance de la empresa. En este escenario, no tendrá derecho a continuar usando ese código fuente para otros proyectos, a menos que también obtenga una licencia de su cliente que le otorgue este derecho.
Si su cliente está comprando un producto 'disponible en el mercado', esperarán recibir una licencia para usar el software, no la propiedad del código fuente. Deben esperar que usted esté vendiendo el mismo software (o similar) a muchas otras organizaciones, y que se espera que se beneficien de un menor costo de compra debido a la base más amplia de clientes.
Sin embargo, la situación en esta pregunta es una mezcla de las dos.
Esto es lo que querría poder hacer. Le otorgaría a su cliente una licencia para usar (y modificar) su código compartido. Si el cliente lo interrogara, me gustaría señalar que este es un código compartido que ya ha utilizado en varios proyectos y tiene ofertas actuales para futuros trabajos que se basan en que usted continúe utilizando este trabajo. señale que esto ha resultado en menos tiempo en este proyecto para su cliente y que, como resultado, han pagado un precio más bajo. Al igual que otras bibliotecas de código compartidas utilizadas por el proyecto, tienen una licencia para usar este código y permitir que otros equipos de desarrollo desarrollen esto y otros proyectos basados en esta biblioteca. Sin embargo, si prefieren la propiedad de todo el código, está dispuesto a crear un reemplazo, pero esto sería un cargo adicional.
Dependiendo de lo que ya te hayas comprometido, podrías tener que escribir una función de reemplazo gratis o regalar tu código fuente.
Recuerda, hay diferentes tipos de bibliotecas. La Biblioteca de plantillas estándar en C ++ es un buen ejemplo de una biblioteca que se incluye a nivel de código fuente y se compila en un ejecutable de proyecto que puede ser muy similar a cómo ha usado su código común.