hire." As long as you define that in your contract with them, it
means that they own the copyright on the new code you write for
them, in which case this new code is a *private* modification of
the original code, and the GPL specifically allows these private
modifications to remain private.
Now, if you want to go ahead and reuse some of that code on
other client engagements, either you have to keep the copyright
to that code and thus you are distributing it to your client, or they
keep the copyright to the code and they are redistributing it back
to you. In *either* of those two situations, the new code must be
GPL'ed because you've entered the world of redistribution.
You are also free to mix n' match those two things. If you want to
reuse some of the code, that code will have to be GPL'ed. The
client-specific customizations can be a "work for hire."