One thing that's worked in the past is that I have a frank conversation along two angles:
in reply to How to convince a client to release Perl code to CPAN?
Usually, one or both of those is pretty convincing, from a business perspective. In fact, you could even take a moral stance on "no using from the CPAN unless I give to the CPAN", and submit two bids, one with CPAN exchange, one without.
- If I hadn't used the CPAN, this project would have cost you $X more money. The CPAN exists because everyone contributes a little, so that everyone saves in the long run. You're not legally obligated to return a bit of the new development based on the CPAN stuff, but I'd suggest you're ethically obligated. How about it?
- If we submit the core engine of your project (but not the localized bits) to the CPAN, then there'll likely be more people making it better than just the folks in this building. This also means that you can hire others and not just me when you need updates, because other people will also understand it. And with more people understanding the technology, you'll get competitive bids from more than just me.