> The natural place to do so is by contributing to the upstream
> project, something a project should be thankful for.
> A CLA replaces this gratitude with an attempt to weaken these
> freedoms in a manner which may stand up to the letter of the
> license, but is far from the spirit.
How is that different than saying "you should be thankful I yelled at you" ?
It is in the balance between the upstream and the contributor that the community is created. Neither one gets final say; only by consensus can the community survive.
Sometimes a CLA is an appropriate way of shaping that community. I don't believe every CLA is such a good thing, but neither are they all to be shunned.