Why is it an issue? I’m using their free product, and I’m making it better by contributing and them accepting the contribution. The CLA absolves me and absolves them and let’s them keep power over the licensing. Code bases with all sorts of “rights holders” for various pieces of the codebase are probably a nightmare to deal with if the license needs to be adjusted for whatever reason.
The "extend" part might map to maintaining or getting free labor for a project, maybe to eventually modify it in an incompatible way once sufficient usage share is attracted, if you can get other devs to do it.
"Extinguish" would then be breaking the public version completely while possibly still using the working code in proprietary software.
The "extinguish" part needs a CLA to be legal, or with, say, the GPL, they'd be required to publish the source of the derivative work.
Indeed. Maybe, then, it's the corporations who should have a think about requiring a CLA?