If what the client needs is a new ability provided by that code, rather than a product they wish to distribute which this code is part of, then the approach seems logical.
Many OSS projects, which are already large and useful, offer someone to sponsor a certain missing feature that they need. It is still releases as open source, and the client gets the feature they need, so everyone is happy.