I have no problem with agreeing to a CLA. If I've decided to contribute to a project, it's because I think I can add value. If later, the project decides to relicense, I might not like the decision, but I wouldn't regret my past contributions.
Even if you disagree with some of these points, it really depends on the CLA. Some CLAs allow the contributor to retain copyright and also restrict relicensing.
Sure, but the most common use case for a CLA is to allow a company to take your contributions and use them as proprietary software. Some aren't a terrible idea, but my instinct is to close the tab when I am asked to sign a CLA.
Would you appreciate being able to tell their product manager you need a feature and see it shipped?
Would you appreciate time with their engineering team suggesting how to implement the feature so it works for your use case?
Would you value the feature working precisely as you need it to, with no misinterpretation?
Then sign the CLA and value this vendor offers business-source as a shortcut for you and them to understand and ship your needs, when most vendors don't. It's a literal win win.
(The only time not to sign is if you would prefer a competitor to the vendor, or want to compete yourself. Then go talk to that competitor instead, or make the first commit to your own repo.)
Even if you disagree with some of these points, it really depends on the CLA. Some CLAs allow the contributor to retain copyright and also restrict relicensing.