계약을 체결하기로 이미 계약 한 것에 동의하고 서로 다른 고객과 상호 호환되지 않는 조건에 동의 할 수 있다는 점에서 너무 늦을 수 있습니다.
고객에게 소스 코드를 제공 할 수있는 두 가지 방법이 있습니다. 저작권 및 라이센스의 소유권.
일부 고객은 소스 코드의 소유권을 원할 것입니다. 즉, 프로세스가 끝나면 돈을 지불하고 대신 코드를 작성하여 저작권을 부여합니다. 그 이유 중 하나는 소스 코드에서 지적 재산권의 상당한 잠재력을보고 회사 대차 대조표에서이를 가치있게 평가할 수 있기 때문입니다. 이 시나리오에서는 고객에게이 권한을 부여하는 라이센스를 얻지 않는 한 다른 프로젝트에 해당 소스 코드를 계속 사용할 수있는 권한이 없습니다.
고객이 직접 '기성품'제품을 구매하는 경우 소스 코드의 소유권이 아니라 소프트웨어를 사용할 수있는 라이센스를받을 것으로 예상됩니다. 그들은 다른 많은 조직에 동일한 (또는 유사한) 소프트웨어를 판매하고 있으며 더 넓은 고객 기반으로 인해 구매 비용이 더 낮아질 것으로 기대하고 있습니다.
그러나이 질문의 상황은 두 가지의 혼란입니다.
여기 내가 할 수있는 일이 있습니다. 고객에게 공유 코드를 사용 (및 수정) 할 수있는 라이센스를 부여합니다. 고객이 퀴즈를 내린 경우이 코드는 이미 여러 프로젝트에서 사용한 공유 코드이며이 작업을 계속 사용함에 따라 향후 작업에 대한 현재 입찰가가 설정되어 있습니다. 이로 인해 귀하의 고객에게이 프로젝트에 대한 시간이 줄어들었고 결과적으로 더 낮은 가격을 지불했음을 지적하십시오. 프로젝트에서 사용하는 다른 공유 코드 라이브러리와 마찬가지로이 코드를 사용하고 다른 개발 팀이이 라이브러리 및이 라이브러리를 기반으로하는 다른 프로젝트를 개발할 수있는 라이센스가 있습니다. 그러나 모든 코드의 소유권을 원한다면 교체를 기꺼이 만들지 만 추가 요금이 부과됩니다.
이미 커밋 한 내용에 따라 무료로 대체 기능을 작성하거나 소스 코드를 제공해야 할 수 있습니다.
다른 유형의 라이브러리가 있다는 것을 기억하십시오. C ++의 표준 템플릿 라이브러리는 소스 코드 수준에 포함 된 라이브러리의 좋은 예이며 일반적인 코드 사용 방법과 매우 유사한 프로젝트 실행 파일로 컴파일됩니다.