> Either take my code without a contract or live with the bugs
The less simplistic view of the situation is that major maintainers (corporate or otherwise) pay the price of keeping the project up for the long run, under the defined license, in all senses including the legal one. So the CLA is the way to integrate contributions without strings that remain legally attached to the author of these contributions. So the CLA is, ironically, the way for these major maintainers to say "no strings attached or wait until we fix the bugs" back to you.
The less simplistic view of the situation is that major maintainers (corporate or otherwise) pay the price of keeping the project up for the long run, under the defined license, in all senses including the legal one. So the CLA is the way to integrate contributions without strings that remain legally attached to the author of these contributions. So the CLA is, ironically, the way for these major maintainers to say "no strings attached or wait until we fix the bugs" back to you.