Parecería un mal negocio. Básicamente estás diciendo que tu amigo cree que el código tiene un gran valor, pero que no se le está pagando lo que realmente vale, por lo que, aunque esté vendiendo el código directamente, necesita recuperar parte de él para tratar de exprimirlo por lo que realmente vale más adelante. Eso no tiene sentido. Debería pedir el precio correcto o sólo licenciar algo estrecho como "lógica de negocio única" (sólo por ejemplo) al cliente. Lo que se licencie exactamente se determinará cuando se tantee al cliente, se le eduque sobre las normas de la industria y lo que es posible y se le ofrezcan algunas opciones de precios. Pero hay que hacer frente a si el cliente quiere la luna y sólo paga por los bocadillos.
Los acuerdos de licencia que he hecho con los clientes cubren parte o la totalidad de a.) su capacidad de transferir el software cuando venden su empresa, b.) su capacidad de revender el software a múltiples clientes, c.) los requisitos para identificarme como autor, d.) la capacidad de copiar/modificar el código.
Por curiosidad, ¿alguna vez ocurren estas cosas? Me enteré de esta propuesta a través de un amigo de un amigo, porque la empresa quería la propiedad completa, pero no le importaba que se reutilizara el código fuente.
Sí. Los clientes pueden pedir cualquier cosa y algunos desarrolladores les dan lo que quieren. Curiosamente, según mi experiencia, cuanto más dinero paga un cliente, menos paranoico se muestra (tal vez porque las empresas más grandes tienen su propia gestión de software y desarrolladores que entienden mejor estas cosas).