About the inversion of licensing - CLAs are basically inversions of the usual collaboration flow between community and enterprise. The community usually contributes to the FOSS project out of the terms of the FOSS license (which usually includes free redistribution, no warranty etc.). The enterprise maintains, well, an enterprise version of the project, that abides to its own licenses and all.
The community has never had to come in contact with the enterprise side so far. I can contribute to the CentOS trunk, without ever signing any agreement with Red Hat. If I need to contribute a patch directly to the Red Hat codebase, then it makes sense to sign a CLAs, otherwise it doesn't.
About the inversion of licensing - CLAs are basically inversions of the usual collaboration flow between community and enterprise. The community usually contributes to the FOSS project out of the terms of the FOSS license (which usually includes free redistribution, no warranty etc.). The enterprise maintains, well, an enterprise version of the project, that abides to its own licenses and all.
The community has never had to come in contact with the enterprise side so far. I can contribute to the CentOS trunk, without ever signing any agreement with Red Hat. If I need to contribute a patch directly to the Red Hat codebase, then it makes sense to sign a CLAs, otherwise it doesn't.