It's something we had to deal with in a previous job where we (as a small company) sold products to Global 500 companies. Either we agreed to this, or there would be no deal. Every time we released a new version to those clients, we would place the updated source code (along with documentation and tooling etc) in escrow.