(Not sure if there was a relevant stack exchange site for this, I saw a few ones related to open source in companies and figured this was similar, but different enough to warrant a new question).
We have a client that we're about to pick up for some work. We've gone off and done the exploration for their product and come to the conclusion that we're going to need to use a particular open-source library.
This library is in active development, and the author is taking contributions, however there are a few features that we'll need that haven't been built yet (and they aren't of immediate importance for the author). We've figured it'll be possible for us to build them into the library ourselves, and we would love it if we could contribute our changes back to the project. (We've tried to be active in Open Sourcing our own work when we haven't been developing it for a particular client).
However, we feel that it could be difficult trying to convince the client that a reasonable portion of the work they're paying us for will be given away for free to anyone else who wants it. It's also unlikely that we will be able to use this library again for future client work so we can't really afford to take the cost on ourselves.
Is it worth raising this possibility with the client and if so how? Or should we simply give the client our own private version with our changes?