That is not the problem with the CLA (of course you can fork). The problem with the CLA is that the company then uses the contributed code just like if it was their own, even though they did not pay for it.
Developers should be aware of that and, personally, I think contributors should never accept to sign a CLA. If the project requires a CLA, don't contribute.