Anti-CLA action: what to do when you encounter a CLA

Canonical recently added a CLA to LXD. I imagine there’s other canonical projects with the same.

I find their wording a bit sneaky:

All contributors must sign the Canonical contributor license agreement, which gives Canonical permission to use the contributions. The author of a change remains the copyright holder of their code (no copyright assignment).

and then similar on their legal/contributors page:

It’s the easiest way for you to give us permission to use your contributions. In effect, you’re giving us a licence, but you still own the copyright — so you retain the right to modify your code and use it in other projects.

They make it sound like this is simply required for use, but the actual CLA text is a few pages and far more widespread, including:

(2.1,b) To the maximum extent permitted by the relevant law, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license under the Copyright covering the Contribution, with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and
distribute the Contribution as part of the Material; […]


(2.3) Based on the grant of rights in Sections 2.1 and 2.2, if We include Your Contribution in a Material, We may license the Contribution under any license, including copyleft, permissive, commercial, or proprietary licenses. […]

Their CLA FAQ makes not mention of possible re-licensing.
Some additional context and license info by Stéphane Graber here.