My opinion: There is no good reason for you (a contributor) to sign a CLA for an open source project.
The only real reason that CLA is there is so that the entity behind it can change the license without your permission.
They should have to get your permission.
Conversation
Replying to
Google requires this (without copyright assignment) for most of their projects but they use permissive licensing for nearly everything and that's the licensing I prefer for my own projects anyway. I just view their CLA as silly bureaucracy and don't mind contributing under it.
2
I think it's quite different if the project is trying to use GPL as part of a business model and wants to be able to switch your code to permissive licensing. I don't think that's right. I wouldn't contribute to a project doing that unless it was strictly to make my life easier.

