Eric, strictly speaking your statement regarding transfer of rights via GPL etc.. is not accurate. But I won't go there, is a horribly complex legal semantic that I don't fully understand myself. The main thing is that a CLA does exactly that, but it can have additional clauses such as a license to choose the outbound license.
And just to be clear, it will actually be a CLA, NOT a CCA.
A CLA grants the licensee (Tvheadend) a license to do with the code anything within the bounds of the license. Which can include the right to re-license as they see fit. Though on that last point our specific license agreement will include a restriction clause, allowing only approved OSI licenses. More info on the specifics of the CLA will be announced soon.
However ownership of the copyright for the commit strictly still resides with the author, you're still free to use that code as you see fit. The CLA in no way restricts your rights.
A CAA however is somewhat more rigid. It transfers Copyright from the original author to the project/company/etc.. In this case the original author gives up all rights to the code and is not even free to use that code elsewhere without permission from the project/company. Clearly this does not suit our requirements.
On your specific example the CLA would allow us to use a BSD license, which would in turn allow people to create a closed product without pushing code back. The project would not be able to do this due to the governance of the company, being a CIC (social enterprise) the company law restricts us from doing that. Of course it doesn't restrict someone else, which strictly I guess could be us under another name.
But the reality is no one on the project team is the least bit interested in doing that. The only reason we're considering this move is to allow more input from commercial entities (something you yourself championed) that wish to enforce a closed platform without breaching the terms of the license.
The reality is that all this stuff is mostly nonsense when it comes to protecting the code from abuse and use in closed source products, be it closed source or closed hardware. We don't have the resources, nor the inclination to actually fight such breaches. And you've only got to look at teh number of chinese clones that breach licenses to know they're mostly meaningless. What we are trying to do is allow more reputable companies to use our code without breaching the license.
And of course, even if we decided to switch stuff to a more permissive license, create a company (or someone else do so) to exploit that and never provide any useful feedback to the project. We still can't remove the original source etc.. that's still publicly available under the original terms.
But again, just to be clear (and so far there has been almost no dissent on this front, since I think most people can clearly see that I and the rest of the team are not in this for commercial / personal gain etc..) there is absolutely no intention to do anything that might harm the Open source project. A certain level of faith is required that the project team are doing things for the right reasons and will do what they consider best for the project.
Adam