Я бы объяснил своему клиенту, как устроен мир. Я бы использовал примеры, аналогии и метафоры.
Это не проблема разработки программного обеспечения, это относится ко всем продуктам. Некоторые вещи продаются в виде черного ящика, а некоторые продаются в виде прозрачного ящика с черными ящиками внутри него. .
Допустим, вы хотите купить дом. Вы платите инженеру и архитектору за их работу и получаете документы, которые они производят. Эти документы содержат информацию, основанную на других данных, которые вы не получаете. Например, инженер может использовать огромные стальные стержни в своих планах. Спецификации инженера определяют качества, которыми должен обладать каждый стальной пруток, но не определяют, как создаются стальные прутки. Покупка планов дома не покупает планы создания строительных блоков дома.
С softwre это почти то же самое: вы не получаете исходный код для .NET Framework, когда покупаете приложение .NET «с включенным исходным кодом». То, что вы получаете, - это документация .NET, в которой указано, как работать с платформой (и не указывается, как фреймворк делает то, что делает).
Количество примеров на самом деле бесконечно, потому что - как сказано выше - так устроен мир.
Создайте свои собственные аналогии, чтобы соответствовать вашему сценарию. Объясните своему клиенту, где заканчивается инфраструктура и начинается его собственное решение.
quoo прав насчет необходимости указать это в договоре. Контракт является юридической основой сделки. Но я хотел бы подчеркнуть тот факт, что указание на контракт должно быть последним средством . Если вы можете дать своему клиенту разумное объяснение, которое позволит ему понять, почему вещи такие, какие они есть, вам не нужно будет заключать контракт (который указывает только на то, как обстоят дела, без мотивации, объяснения и т. Д.) ,